summaryrefslogtreecommitdiff
path: root/sys/netinet/if_ether.c
diff options
context:
space:
mode:
authorGrigoriy Orlov <gluk@cvs.openbsd.org>2001-05-15 15:12:55 +0000
committerGrigoriy Orlov <gluk@cvs.openbsd.org>2001-05-15 15:12:55 +0000
commit917189dc8402b639be51f798db3b118b7abc081c (patch)
treedbe64f79673d63a6923cf619124aa5432b96ead4 /sys/netinet/if_ether.c
parent3dfe3cabecf879e5c91491dd7be57eb9c139d404 (diff)
Accept ARP packet coming from bridge interface without IP address
configured. But deny such a packet if it coming on "wrong" bridge. Reported and tested by form@ ho@, jason@ Ok.
Diffstat (limited to 'sys/netinet/if_ether.c')
-rw-r--r--sys/netinet/if_ether.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c
index e13c12aec00..b5cb5b146a5 100644
--- a/sys/netinet/if_ether.c
+++ b/sys/netinet/if_ether.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_ether.c,v 1.28 2001/02/06 00:22:24 mickey Exp $ */
+/* $OpenBSD: if_ether.c,v 1.29 2001/05/15 15:12:54 gluk Exp $ */
/* $NetBSD: if_ether.c,v 1.31 1996/05/11 12:59:58 mycroft Exp $ */
/*
@@ -538,7 +538,8 @@ in_arpinput(m)
rt->rt_expire = 1; /* no longer static */
}
}
- } else if (rt->rt_ifp != &ac->ac_if) {
+ } else if (rt->rt_ifp != &ac->ac_if && !(ac->ac_if.if_bridge &&
+ (rt->rt_ifp->if_bridge == ac->ac_if.if_bridge))) {
log(LOG_WARNING,
"arp: attempt to add entry for %s "
"on %s by %s on %s\n",