diff options
| author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-03-23 23:44:19 -0500 |
|---|---|---|
| committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-03-23 23:44:19 -0500 |
| commit | 1ebbe2b20091d306453a5cf480a87e6cd28ae76f (patch) | |
| tree | f5cd7a0fa69b8b1938cb5a0faed2e7b0628072a5 /include/net/ipv6.h | |
| parent | ac58c9059da8886b5e8cde012a80266b18ca146e (diff) | |
| parent | 674a396c6d2ba0341ebdd7c1c9950f32f018e2dd (diff) | |
Merge branch 'linus'
Diffstat (limited to 'include/net/ipv6.h')
| -rw-r--r-- | include/net/ipv6.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index 3b1d963d396c..6d6f0634ae41 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h | |||
| @@ -282,6 +282,18 @@ static inline int ipv6_addr_cmp(const struct in6_addr *a1, const struct in6_addr | |||
| 282 | return memcmp((const void *) a1, (const void *) a2, sizeof(struct in6_addr)); | 282 | return memcmp((const void *) a1, (const void *) a2, sizeof(struct in6_addr)); |
| 283 | } | 283 | } |
| 284 | 284 | ||
| 285 | static inline int | ||
| 286 | ipv6_masked_addr_cmp(const struct in6_addr *a1, const struct in6_addr *m, | ||
| 287 | const struct in6_addr *a2) | ||
| 288 | { | ||
| 289 | unsigned int i; | ||
| 290 | |||
| 291 | for (i = 0; i < 4; i++) | ||
| 292 | if ((a1->s6_addr32[i] ^ a2->s6_addr32[i]) & m->s6_addr32[i]) | ||
| 293 | return 1; | ||
| 294 | return 0; | ||
| 295 | } | ||
| 296 | |||
| 285 | static inline void ipv6_addr_copy(struct in6_addr *a1, const struct in6_addr *a2) | 297 | static inline void ipv6_addr_copy(struct in6_addr *a1, const struct in6_addr *a2) |
| 286 | { | 298 | { |
| 287 | memcpy((void *) a1, (const void *) a2, sizeof(struct in6_addr)); | 299 | memcpy((void *) a1, (const void *) a2, sizeof(struct in6_addr)); |
| @@ -508,6 +520,16 @@ extern int ipv6_getsockopt(struct sock *sk, int level, | |||
| 508 | int optname, | 520 | int optname, |
| 509 | char __user *optval, | 521 | char __user *optval, |
| 510 | int __user *optlen); | 522 | int __user *optlen); |
| 523 | extern int compat_ipv6_setsockopt(struct sock *sk, | ||
| 524 | int level, | ||
| 525 | int optname, | ||
| 526 | char __user *optval, | ||
| 527 | int optlen); | ||
| 528 | extern int compat_ipv6_getsockopt(struct sock *sk, | ||
| 529 | int level, | ||
| 530 | int optname, | ||
| 531 | char __user *optval, | ||
| 532 | int __user *optlen); | ||
| 511 | 533 | ||
| 512 | extern void ipv6_packet_init(void); | 534 | extern void ipv6_packet_init(void); |
| 513 | 535 | ||
