diff options
Diffstat (limited to 'include/linux/ipv6.h')
| -rw-r--r-- | include/linux/ipv6.h | 24 | 
1 files changed, 8 insertions, 16 deletions
| diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h index 2faef339d8f2..ff560537dd61 100644 --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h @@ -39,6 +39,7 @@ struct ipv6_devconf {  #endif  	__s32		proxy_ndp;  	__s32		accept_source_route; +	__s32		accept_ra_from_local;  #ifdef CONFIG_IPV6_OPTIMISTIC_DAD  	__s32		optimistic_dad;  #endif @@ -193,12 +194,13 @@ struct ipv6_pinfo {  	                        sndflow:1,  				repflow:1,  				pmtudisc:3, -				ipv6only:1, +				padding:1,	/* 1 bit hole */  				srcprefs:3,	/* 001: prefer temporary address  						 * 010: prefer public address  						 * 100: prefer care-of address  						 */ -				dontfrag:1; +				dontfrag:1, +				autoflowlabel:1;  	__u8			min_hopcount;  	__u8			tclass;  	__be32			rcv_flowinfo; @@ -256,16 +258,6 @@ static inline struct ipv6_pinfo * inet6_sk(const struct sock *__sk)  	return inet_sk(__sk)->pinet6;  } -static inline struct request_sock *inet6_reqsk_alloc(struct request_sock_ops *ops) -{ -	struct request_sock *req = reqsk_alloc(ops); - -	if (req) -		inet_rsk(req)->pktopts = NULL; - -	return req; -} -  static inline struct raw6_sock *raw6_sk(const struct sock *sk)  {  	return (struct raw6_sock *)sk; @@ -282,8 +274,8 @@ static inline void inet_sk_copy_descendant(struct sock *sk_to,  	__inet_sk_copy_descendant(sk_to, sk_from, ancestor_size);  } -#define __ipv6_only_sock(sk)	(inet6_sk(sk)->ipv6only) -#define ipv6_only_sock(sk)	((sk)->sk_family == PF_INET6 && __ipv6_only_sock(sk)) +#define __ipv6_only_sock(sk)	(sk->sk_ipv6only) +#define ipv6_only_sock(sk)	(__ipv6_only_sock(sk))  #define ipv6_sk_rxinfo(sk)	((sk)->sk_family == PF_INET6 && \  				 inet6_sk(sk)->rxopt.bits.rxinfo) @@ -296,8 +288,8 @@ static inline const struct in6_addr *inet6_rcv_saddr(const struct sock *sk)  static inline int inet_v6_ipv6only(const struct sock *sk)  { -	return likely(sk->sk_state != TCP_TIME_WAIT) ? -		ipv6_only_sock(sk) : inet_twsk(sk)->tw_ipv6only; +	/* ipv6only field is at same position for timewait and other sockets */ +	return ipv6_only_sock(sk);  }  #else  #define __ipv6_only_sock(sk)	0 | 
