diff options
author | David S. Miller <davem@davemloft.net> | 2012-07-11 05:39:24 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-11 05:39:24 -0400 |
commit | 48ee3569f31d91084dc694fef5517eb782428083 (patch) | |
tree | 2053125bfd441e410d030042e02c125b0e5d35ce /include | |
parent | 4715213d9cf40285492fff4092bb1fa8e982f632 (diff) |
ipv6: Move ipv6 twsk accessors outside of CONFIG_IPV6 ifdefs.
Fixes build when ipv6 is disabled.
Reported-by: Fengguang Wu <wfg@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/ipv6.h | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h index 8260ef779762..bc6c8fd8ed01 100644 --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h | |||
@@ -410,6 +410,22 @@ struct tcp6_sock { | |||
410 | 410 | ||
411 | extern int inet6_sk_rebuild_header(struct sock *sk); | 411 | extern int inet6_sk_rebuild_header(struct sock *sk); |
412 | 412 | ||
413 | struct inet6_timewait_sock { | ||
414 | struct in6_addr tw_v6_daddr; | ||
415 | struct in6_addr tw_v6_rcv_saddr; | ||
416 | }; | ||
417 | |||
418 | struct tcp6_timewait_sock { | ||
419 | struct tcp_timewait_sock tcp6tw_tcp; | ||
420 | struct inet6_timewait_sock tcp6tw_inet6; | ||
421 | }; | ||
422 | |||
423 | static inline struct inet6_timewait_sock *inet6_twsk(const struct sock *sk) | ||
424 | { | ||
425 | return (struct inet6_timewait_sock *)(((u8 *)sk) + | ||
426 | inet_twsk(sk)->tw_ipv6_offset); | ||
427 | } | ||
428 | |||
413 | #if IS_ENABLED(CONFIG_IPV6) | 429 | #if IS_ENABLED(CONFIG_IPV6) |
414 | static inline struct ipv6_pinfo * inet6_sk(const struct sock *__sk) | 430 | static inline struct ipv6_pinfo * inet6_sk(const struct sock *__sk) |
415 | { | 431 | { |
@@ -459,28 +475,12 @@ static inline void inet_sk_copy_descendant(struct sock *sk_to, | |||
459 | #define __ipv6_only_sock(sk) (inet6_sk(sk)->ipv6only) | 475 | #define __ipv6_only_sock(sk) (inet6_sk(sk)->ipv6only) |
460 | #define ipv6_only_sock(sk) ((sk)->sk_family == PF_INET6 && __ipv6_only_sock(sk)) | 476 | #define ipv6_only_sock(sk) ((sk)->sk_family == PF_INET6 && __ipv6_only_sock(sk)) |
461 | 477 | ||
462 | struct inet6_timewait_sock { | ||
463 | struct in6_addr tw_v6_daddr; | ||
464 | struct in6_addr tw_v6_rcv_saddr; | ||
465 | }; | ||
466 | |||
467 | struct tcp6_timewait_sock { | ||
468 | struct tcp_timewait_sock tcp6tw_tcp; | ||
469 | struct inet6_timewait_sock tcp6tw_inet6; | ||
470 | }; | ||
471 | |||
472 | static inline u16 inet6_tw_offset(const struct proto *prot) | 478 | static inline u16 inet6_tw_offset(const struct proto *prot) |
473 | { | 479 | { |
474 | return prot->twsk_prot->twsk_obj_size - | 480 | return prot->twsk_prot->twsk_obj_size - |
475 | sizeof(struct inet6_timewait_sock); | 481 | sizeof(struct inet6_timewait_sock); |
476 | } | 482 | } |
477 | 483 | ||
478 | static inline struct inet6_timewait_sock *inet6_twsk(const struct sock *sk) | ||
479 | { | ||
480 | return (struct inet6_timewait_sock *)(((u8 *)sk) + | ||
481 | inet_twsk(sk)->tw_ipv6_offset); | ||
482 | } | ||
483 | |||
484 | static inline struct in6_addr *__inet6_rcv_saddr(const struct sock *sk) | 484 | static inline struct in6_addr *__inet6_rcv_saddr(const struct sock *sk) |
485 | { | 485 | { |
486 | return likely(sk->sk_state != TCP_TIME_WAIT) ? | 486 | return likely(sk->sk_state != TCP_TIME_WAIT) ? |