From 412574c368a6010d6db88d9a3d0275ae74a2047e Mon Sep 17 00:00:00 2001 From: suz Date: Wed, 19 Oct 2005 16:53:24 +0000 Subject: sync with KAME (removed a unnecesary non-standard macro) Obtained from: KAME Reviewd by: ume, gnn --- sys/netinet6/in6.h | 8 -------- sys/netinet6/in6_src.c | 18 ++++++++++-------- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/sys/netinet6/in6.h b/sys/netinet6/in6.h index d0435f6..8777c1c 100644 --- a/sys/netinet6/in6.h +++ b/sys/netinet6/in6.h @@ -249,14 +249,6 @@ extern const struct in6_addr in6addr_linklocal_allrouters; #endif #endif -#ifdef _KERNEL /* non standard */ -/* see if two addresses are equal in a scope-conscious manner. */ -#define SA6_ARE_ADDR_EQUAL(a, b) \ - (((a)->sin6_scope_id == 0 || (b)->sin6_scope_id == 0 || \ - ((a)->sin6_scope_id == (b)->sin6_scope_id)) && \ - (bcmp(&(a)->sin6_addr, &(b)->sin6_addr, sizeof(struct in6_addr)) == 0)) -#endif - /* * Unspecified */ diff --git a/sys/netinet6/in6_src.c b/sys/netinet6/in6_src.c index 24534da..61cf9db 100644 --- a/sys/netinet6/in6_src.c +++ b/sys/netinet6/in6_src.c @@ -510,7 +510,8 @@ selectroute(dstsock, opts, mopts, ro, retifp, retrt, clone, norouteok) if ((ron->ro_rt && (ron->ro_rt->rt_flags & (RTF_UP | RTF_LLINFO)) != (RTF_UP | RTF_LLINFO)) || - !SA6_ARE_ADDR_EQUAL(satosin6(&ron->ro_dst), sin6_next)) { + !IN6_ARE_ADDR_EQUAL(&satosin6(&ron->ro_dst)->sin6_addr, + &sin6_next->sin6_addr)) { if (ron->ro_rt) { RTFREE(ron->ro_rt); ron->ro_rt = NULL; @@ -967,10 +968,10 @@ add_addrsel_policyent(newpolicy) /* duplication check */ TAILQ_FOREACH(pol, &addrsel_policytab, ape_entry) { - if (SA6_ARE_ADDR_EQUAL(&newpolicy->addr, - &pol->ape_policy.addr) && - SA6_ARE_ADDR_EQUAL(&newpolicy->addrmask, - &pol->ape_policy.addrmask)) { + if (IN6_ARE_ADDR_EQUAL(&newpolicy->addr.sin6_addr, + &pol->ape_policy.addr.sin6_addr) && + IN6_ARE_ADDR_EQUAL(&newpolicy->addrmask.sin6_addr, + &pol->ape_policy.addrmask.sin6_addr)) { ADDRSEL_UNLOCK(); ADDRSEL_XUNLOCK(); FREE(new, M_IFADDR); @@ -1001,9 +1002,10 @@ delete_addrsel_policyent(key) /* search for the entry in the table */ TAILQ_FOREACH(pol, &addrsel_policytab, ape_entry) { - if (SA6_ARE_ADDR_EQUAL(&key->addr, &pol->ape_policy.addr) && - SA6_ARE_ADDR_EQUAL(&key->addrmask, - &pol->ape_policy.addrmask)) { + if (IN6_ARE_ADDR_EQUAL(&key->addr.sin6_addr, + &pol->ape_policy.addr.sin6_addr) && + IN6_ARE_ADDR_EQUAL(&key->addrmask.sin6_addr, + &pol->ape_policy.addrmask.sin6_addr)) { break; } } -- cgit v1.1