svn commit: r258461 - user/ae/inet6/sys/dev/cxgbe/tom
Andrey V. Elsukov
ae at FreeBSD.org
Fri Nov 22 04:02:41 UTC 2013
Author: ae
Date: Fri Nov 22 04:02:40 2013
New Revision: 258461
URL: http://svnweb.freebsd.org/changeset/base/258461
Log:
Remove in6_clearscope and in6_setscope calls.
Simplify ifnet_has_ip6 function.
Modified:
user/ae/inet6/sys/dev/cxgbe/tom/t4_listen.c
Modified: user/ae/inet6/sys/dev/cxgbe/tom/t4_listen.c
==============================================================================
--- user/ae/inet6/sys/dev/cxgbe/tom/t4_listen.c Fri Nov 22 02:03:50 2013 (r258460)
+++ user/ae/inet6/sys/dev/cxgbe/tom/t4_listen.c Fri Nov 22 04:02:40 2013 (r258461)
@@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$");
#include <sys/socketvar.h>
#include <net/ethernet.h>
#include <net/if.h>
+#include <net/if_var.h>
#include <net/if_types.h>
#include <net/if_vlan_var.h>
#include <net/route.h>
@@ -52,7 +53,7 @@ __FBSDID("$FreeBSD$");
#include <netinet/in_pcb.h>
#include <netinet/ip.h>
#include <netinet/ip6.h>
-#include <netinet6/scope6_var.h>
+#include <netinet6/in6_var.h>
#include <netinet/tcp_timer.h>
#include <netinet/tcp_var.h>
#define TCPSTATES
@@ -1085,22 +1086,14 @@ static int
ifnet_has_ip6(struct ifnet *ifp, struct in6_addr *ip6)
{
struct ifaddr *ifa;
- struct sockaddr_in6 *sin6;
int found = 0;
- struct in6_addr in6 = *ip6;
-
- /* Just as in ip6_input */
- if (in6_clearscope(&in6) || in6_clearscope(&in6))
- return (0);
- in6_setscope(&in6, ifp, NULL);
if_addr_rlock(ifp);
TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
- sin6 = (void *)ifa->ifa_addr;
- if (sin6->sin6_family != AF_INET6)
+ if (ifa->ifa_addr->sa_family != AF_INET6)
continue;
- if (IN6_ARE_ADDR_EQUAL(&sin6->sin6_addr, &in6)) {
+ if (IN6_ARE_ADDR_EQUAL(ip6, IFA_IN6(ifa))) {
found = 1;
break;
}
More information about the svn-src-user
mailing list