summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2010-01-13 05:27:20 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2010-01-13 05:27:20 +0000
commitd884599c475af69f65221b06c870569754dbbf05 (patch)
tree51f203a00d0c8f8bdc8da75a06224348db96a64b /sys
parentb0dfc8cf2906b468fb5b387a72fea5abdf9058bc (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.c38
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, &ether_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) {