summaryrefslogtreecommitdiffstats
path: root/sys/netinet/if_ether.c
diff options
context:
space:
mode:
authorthompsa <thompsa@FreeBSD.org>2011-01-25 17:15:23 +0000
committerthompsa <thompsa@FreeBSD.org>2011-01-25 17:15:23 +0000
commitbd51c8de855353878a76b7d2ea6a634d444d4844 (patch)
treecd999fbbc424e1bf642e26a8375ca1638dd45628 /sys/netinet/if_ether.c
parent71ef4a5db83165ac666bf7ecd9abb486e13457f0 (diff)
downloadFreeBSD-src-bd51c8de855353878a76b7d2ea6a634d444d4844.zip
FreeBSD-src-bd51c8de855353878a76b7d2ea6a634d444d4844.tar.gz
When matching an incoming ARP against a bridge, ensure both interfaces belong
to the same bridge. Submitted by: Alexander Zagrebin
Diffstat (limited to 'sys/netinet/if_ether.c')
-rw-r--r--sys/netinet/if_ether.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c
index 39ffe0a..569047e 100644
--- a/sys/netinet/if_ether.c
+++ b/sys/netinet/if_ether.c
@@ -564,7 +564,7 @@ in_arpinput(struct mbuf *m)
*/
IN_IFADDR_RLOCK();
LIST_FOREACH(ia, INADDR_HASH(itaddr.s_addr), ia_hash) {
- if (((bridged && ia->ia_ifp->if_bridge != NULL) ||
+ if (((bridged && ia->ia_ifp->if_bridge == ifp->if_bridge) ||
ia->ia_ifp == ifp) &&
itaddr.s_addr == ia->ia_addr.sin_addr.s_addr) {
ifa_ref(&ia->ia_ifa);
@@ -581,7 +581,7 @@ in_arpinput(struct mbuf *m)
}
}
LIST_FOREACH(ia, INADDR_HASH(isaddr.s_addr), ia_hash)
- if (((bridged && ia->ia_ifp->if_bridge != NULL) ||
+ if (((bridged && ia->ia_ifp->if_bridge == ifp->if_bridge) ||
ia->ia_ifp == ifp) &&
isaddr.s_addr == ia->ia_addr.sin_addr.s_addr) {
ifa_ref(&ia->ia_ifa);
OpenPOWER on IntegriCloud