diff options
Diffstat (limited to 'include/linux/udp.h')
| -rw-r--r-- | include/linux/udp.h | 24 | 
1 files changed, 23 insertions, 1 deletions
diff --git a/include/linux/udp.h b/include/linux/udp.h index 42278bbf7a88..247cfdcc4b08 100644 --- a/include/linux/udp.h +++ b/include/linux/udp.h @@ -47,7 +47,9 @@ struct udp_sock {  #define udp_portaddr_node	inet.sk.__sk_common.skc_portaddr_node  	int		 pending;	/* Any pending frames ? */  	unsigned int	 corkflag;	/* Cork is required */ -  	__u16		 encap_type;	/* Is this an Encapsulation socket? */ +	__u8		 encap_type;	/* Is this an Encapsulation socket? */ +	unsigned char	 no_check6_tx:1,/* Send zero UDP6 checksums on TX? */ +			 no_check6_rx:1;/* Allow zero UDP6 checksums on RX? */  	/*  	 * Following member retains the information to create a UDP header  	 * when the socket is uncorked. @@ -76,6 +78,26 @@ static inline struct udp_sock *udp_sk(const struct sock *sk)  	return (struct udp_sock *)sk;  } +static inline void udp_set_no_check6_tx(struct sock *sk, bool val) +{ +	udp_sk(sk)->no_check6_tx = val; +} + +static inline void udp_set_no_check6_rx(struct sock *sk, bool val) +{ +	udp_sk(sk)->no_check6_rx = val; +} + +static inline bool udp_get_no_check6_tx(struct sock *sk) +{ +	return udp_sk(sk)->no_check6_tx; +} + +static inline bool udp_get_no_check6_rx(struct sock *sk) +{ +	return udp_sk(sk)->no_check6_rx; +} +  #define udp_portaddr_for_each_entry(__sk, node, list) \  	hlist_nulls_for_each_entry(__sk, node, list, __sk_common.skc_portaddr_node)  |