diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2010-01-13 05:27:20 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2010-01-13 05:27:20 +0000 |
commit | d884599c475af69f65221b06c870569754dbbf05 (patch) | |
tree | 51f203a00d0c8f8bdc8da75a06224348db96a64b /sys | |
parent | b0dfc8cf2906b468fb5b387a72fea5abdf9058bc (diff) |
Remove special bridge code in in_arpinput() this is no longer needed since
we now correctly broadcast packets to all local ports.
OK deraadt@
Diffstat (limited to 'sys')
-rw-r--r-- | sys/netinet/if_ether.c | 38 |
1 files changed, 1 insertions, 37 deletions
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c index b3f2ad6fa3c..91ea7bbc79e 100644 --- a/sys/netinet/if_ether.c +++ b/sys/netinet/if_ether.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ether.c,v 1.82 2009/11/03 10:59:04 claudio Exp $ */ +/* $OpenBSD: if_ether.c,v 1.83 2010/01/13 05:27:19 claudio Exp $ */ /* $NetBSD: if_ether.c,v 1.31 1996/05/11 12:59:58 mycroft Exp $ */ /* @@ -573,9 +573,6 @@ in_arpinput(m) struct llinfo_arp *la = 0; struct rtentry *rt; struct in_ifaddr *ia; -#if NBRIDGE > 0 - struct in_ifaddr *bridge_ia = NULL; -#endif struct sockaddr_dl *sdl; struct sockaddr sa; struct in_addr isaddr, itaddr, myaddr; @@ -623,41 +620,8 @@ in_arpinput(m) #endif if (ia->ia_ifp == m->m_pkthdr.rcvif) break; -#if NBRIDGE > 0 - /* - * If the interface we received the packet on - * is part of a bridge, check to see if we need - * to "bridge" the packet to ourselves at this - * layer. Note we still prefer a perfect match, - * but allow this weaker match if necessary. - */ - if (m->m_pkthdr.rcvif->if_bridge != NULL) { - if (m->m_pkthdr.rcvif->if_bridge == - ia->ia_ifp->if_bridge) - bridge_ia = ia; -#if NCARP > 0 - else if (ia->ia_ifp->if_carpdev != NULL && - m->m_pkthdr.rcvif->if_bridge == - ia->ia_ifp->if_carpdev->if_bridge) { - if (carp_iamatch(ia, ea->arp_sha, - &enaddr, ðer_shost)) - bridge_ia = ia; - else - goto out; - } -#endif - } -#endif } -#if NBRIDGE > 0 - /* use bridge_ia if there was no direct match */ - if (ia == NULL && bridge_ia != NULL) { - ia = bridge_ia; - ac = (struct arpcom *)bridge_ia->ia_ifp; - } -#endif - /* Second try: check source against our addresses */ if (ia == NULL) { TAILQ_FOREACH(ia, &in_ifaddr, ia_list) { |