svn commit: r257021 - user/ae/inet6/sys/netinet6
Andrey V. Elsukov
ae at FreeBSD.org
Wed Oct 23 23:21:12 UTC 2013
Author: ae
Date: Wed Oct 23 23:21:11 2013
New Revision: 257021
URL: http://svnweb.freebsd.org/changeset/base/257021
Log:
Add in6ifa_ifpwithdstaddr() function. It is IPv6 optimized version of
ifa_ifpwithdstaddr().
Modified:
user/ae/inet6/sys/netinet6/in6.c
user/ae/inet6/sys/netinet6/in6_var.h
Modified: user/ae/inet6/sys/netinet6/in6.c
==============================================================================
--- user/ae/inet6/sys/netinet6/in6.c Wed Oct 23 22:58:27 2013 (r257020)
+++ user/ae/inet6/sys/netinet6/in6.c Wed Oct 23 23:21:11 2013 (r257021)
@@ -1814,6 +1814,25 @@ in6ifa_ifpwithaddr(struct ifnet *ifp, co
return ((struct in6_ifaddr *)ifa);
}
+struct in6_ifaddr *
+in6ifa_ifpwithdstaddr(struct ifnet *ifp, const struct in6_addr *addr)
+{
+ struct ifaddr *ifa;
+
+ IF_ADDR_RLOCK(ifp);
+ TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
+ if (ifa->ifa_addr->sa_family != AF_INET6 ||
+ ifa->ifa_dstaddr == NULL)
+ continue;
+ if (IN6_ARE_ADDR_EQUAL(addr, IFA_DSTIN6(ifa))) {
+ ifa_ref(ifa);
+ break;
+ }
+ }
+ IF_ADDR_RUNLOCK(ifp);
+ return ((struct in6_ifaddr *)ifa);
+}
+
/*
* Find a link-local scoped address on ifp and return it if any.
*/
Modified: user/ae/inet6/sys/netinet6/in6_var.h
==============================================================================
--- user/ae/inet6/sys/netinet6/in6_var.h Wed Oct 23 22:58:27 2013 (r257020)
+++ user/ae/inet6/sys/netinet6/in6_var.h Wed Oct 23 23:21:11 2013 (r257021)
@@ -814,6 +814,8 @@ void in6_setmaxmtu(void);
int in6_if2idlen(struct ifnet *);
struct in6_ifaddr *in6ifa_ifpforlinklocal(struct ifnet *, int);
struct in6_ifaddr *in6ifa_ifpwithaddr(struct ifnet *, const struct in6_addr *);
+struct in6_ifaddr *in6ifa_ifpwithdstaddr(struct ifnet *,
+ const struct in6_addr *);
struct in6_ifaddr *in6ifa_ifwithaddr(const struct in6_addr *, uint32_t);
struct in6_ifaddr *in6ifa_llaonifp(struct ifnet *);
char *ip6_sprintf(char *, const struct in6_addr *);
More information about the svn-src-user
mailing list