diff options
author | thompsa <thompsa@FreeBSD.org> | 2006-03-07 21:40:44 +0000 |
---|---|---|
committer | thompsa <thompsa@FreeBSD.org> | 2006-03-07 21:40:44 +0000 |
commit | 4c1aecad9415334f2551e96b12ad9edc7548173b (patch) | |
tree | a5c0f0a2c81bc6719d85f287bac18205281b3522 /sys/netinet | |
parent | baf476eca4da677659c459cdbd3534f2f9c1e690 (diff) | |
download | FreeBSD-src-4c1aecad9415334f2551e96b12ad9edc7548173b.zip FreeBSD-src-4c1aecad9415334f2551e96b12ad9edc7548173b.tar.gz |
Further refine the bridge hack in the arp code. Only do the special arp
handling for interfaces which are actually in the bridge group, ignore all
others.
MFC after: 3 days
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/if_ether.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c index 2128d70..ad5de6c 100644 --- a/sys/netinet/if_ether.c +++ b/sys/netinet/if_ether.c @@ -631,7 +631,7 @@ in_arpinput(m) * XXX: This is really ugly! */ LIST_FOREACH(ia, INADDR_HASH(itaddr.s_addr), ia_hash) { - if (((bridged && ia->ia_ifp->if_type != IFT_BRIDGE) || + if (((bridged && ia->ia_ifp->if_bridge != NULL) || (ia->ia_ifp == ifp)) && itaddr.s_addr == ia->ia_addr.sin_addr.s_addr) goto match; @@ -645,7 +645,7 @@ in_arpinput(m) #endif } LIST_FOREACH(ia, INADDR_HASH(isaddr.s_addr), ia_hash) - if (((bridged && ia->ia_ifp->if_type != IFT_BRIDGE) || + if (((bridged && ia->ia_ifp->if_bridge != NULL) || (ia->ia_ifp == ifp)) && isaddr.s_addr == ia->ia_addr.sin_addr.s_addr) goto match; |