diff options
Diffstat (limited to 'include/linux/ipv6.h')
-rw-r--r-- | include/linux/ipv6.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h index 5d35a4cc3bff..4aaefc349a4b 100644 --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h | |||
@@ -457,14 +457,22 @@ static inline struct raw6_sock *raw6_sk(const struct sock *sk) | |||
457 | #define inet_v6_ipv6only(__sk) 0 | 457 | #define inet_v6_ipv6only(__sk) 0 |
458 | #endif /* defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) */ | 458 | #endif /* defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) */ |
459 | 459 | ||
460 | #define INET6_MATCH(__sk, __hash, __saddr, __daddr, __ports, __dif)\ | 460 | #define INET6_MATCH(__sk, __net, __hash, __saddr, __daddr, __ports, __dif)\ |
461 | (((__sk)->sk_hash == (__hash)) && \ | 461 | (((__sk)->sk_hash == (__hash)) && ((__sk)->sk_net == (__net)) && \ |
462 | ((*((__portpair *)&(inet_sk(__sk)->dport))) == (__ports)) && \ | 462 | ((*((__portpair *)&(inet_sk(__sk)->dport))) == (__ports)) && \ |
463 | ((__sk)->sk_family == AF_INET6) && \ | 463 | ((__sk)->sk_family == AF_INET6) && \ |
464 | ipv6_addr_equal(&inet6_sk(__sk)->daddr, (__saddr)) && \ | 464 | ipv6_addr_equal(&inet6_sk(__sk)->daddr, (__saddr)) && \ |
465 | ipv6_addr_equal(&inet6_sk(__sk)->rcv_saddr, (__daddr)) && \ | 465 | ipv6_addr_equal(&inet6_sk(__sk)->rcv_saddr, (__daddr)) && \ |
466 | (!((__sk)->sk_bound_dev_if) || ((__sk)->sk_bound_dev_if == (__dif)))) | 466 | (!((__sk)->sk_bound_dev_if) || ((__sk)->sk_bound_dev_if == (__dif)))) |
467 | 467 | ||
468 | #define INET6_TW_MATCH(__sk, __net, __hash, __saddr, __daddr, __ports, __dif) \ | ||
469 | (((__sk)->sk_hash == (__hash)) && ((__sk)->sk_net == (__net)) && \ | ||
470 | (*((__portpair *)&(inet_twsk(__sk)->tw_dport)) == (__ports)) && \ | ||
471 | ((__sk)->sk_family == PF_INET6) && \ | ||
472 | (ipv6_addr_equal(&inet6_twsk(__sk)->tw_v6_daddr, (__saddr))) && \ | ||
473 | (ipv6_addr_equal(&inet6_twsk(__sk)->tw_v6_rcv_saddr, (__daddr))) && \ | ||
474 | (!((__sk)->sk_bound_dev_if) || ((__sk)->sk_bound_dev_if == (__dif)))) | ||
475 | |||
468 | #endif /* __KERNEL__ */ | 476 | #endif /* __KERNEL__ */ |
469 | 477 | ||
470 | #endif /* _IPV6_H */ | 478 | #endif /* _IPV6_H */ |