aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ipv6.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/ipv6.h')
-rw-r--r--include/linux/ipv6.h32
1 files changed, 17 insertions, 15 deletions
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h
index 5e11905a4f0..12729e966dc 100644
--- a/include/linux/ipv6.h
+++ b/include/linux/ipv6.h
@@ -364,20 +364,22 @@ static inline struct raw6_sock *raw6_sk(const struct sock *sk)
364#define inet_v6_ipv6only(__sk) 0 364#define inet_v6_ipv6only(__sk) 0
365#endif /* IS_ENABLED(CONFIG_IPV6) */ 365#endif /* IS_ENABLED(CONFIG_IPV6) */
366 366
367#define INET6_MATCH(__sk, __net, __hash, __saddr, __daddr, __ports, __dif)\ 367#define INET6_MATCH(__sk, __net, __saddr, __daddr, __ports, __dif) \
368 (((__sk)->sk_hash == (__hash)) && sock_net((__sk)) == (__net) && \ 368 ((inet_sk(__sk)->inet_portpair == (__ports)) && \
369 ((*((__portpair *)&(inet_sk(__sk)->inet_dport))) == (__ports)) && \ 369 ((__sk)->sk_family == AF_INET6) && \
370 ((__sk)->sk_family == AF_INET6) && \ 370 ipv6_addr_equal(&inet6_sk(__sk)->daddr, (__saddr)) && \
371 ipv6_addr_equal(&inet6_sk(__sk)->daddr, (__saddr)) && \ 371 ipv6_addr_equal(&inet6_sk(__sk)->rcv_saddr, (__daddr)) && \
372 ipv6_addr_equal(&inet6_sk(__sk)->rcv_saddr, (__daddr)) && \ 372 (!(__sk)->sk_bound_dev_if || \
373 (!((__sk)->sk_bound_dev_if) || ((__sk)->sk_bound_dev_if == (__dif)))) 373 ((__sk)->sk_bound_dev_if == (__dif))) && \
374 374 net_eq(sock_net(__sk), (__net)))
375#define INET6_TW_MATCH(__sk, __net, __hash, __saddr, __daddr, __ports, __dif) \ 375
376 (((__sk)->sk_hash == (__hash)) && sock_net((__sk)) == (__net) && \ 376#define INET6_TW_MATCH(__sk, __net, __saddr, __daddr, __ports, __dif) \
377 (*((__portpair *)&(inet_twsk(__sk)->tw_dport)) == (__ports)) && \ 377 ((inet_twsk(__sk)->tw_portpair == (__ports)) && \
378 ((__sk)->sk_family == PF_INET6) && \ 378 ((__sk)->sk_family == AF_INET6) && \
379 (ipv6_addr_equal(&inet6_twsk(__sk)->tw_v6_daddr, (__saddr))) && \ 379 ipv6_addr_equal(&inet6_twsk(__sk)->tw_v6_daddr, (__saddr)) && \
380 (ipv6_addr_equal(&inet6_twsk(__sk)->tw_v6_rcv_saddr, (__daddr))) && \ 380 ipv6_addr_equal(&inet6_twsk(__sk)->tw_v6_rcv_saddr, (__daddr)) && \
381 (!((__sk)->sk_bound_dev_if) || ((__sk)->sk_bound_dev_if == (__dif)))) 381 (!(__sk)->sk_bound_dev_if || \
382 ((__sk)->sk_bound_dev_if == (__dif))) && \
383 net_eq(sock_net(__sk), (__net)))
382 384
383#endif /* _IPV6_H */ 385#endif /* _IPV6_H */