summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJason Wright <jason@cvs.openbsd.org>2000-06-02 00:36:43 +0000
committerJason Wright <jason@cvs.openbsd.org>2000-06-02 00:36:43 +0000
commit00682f21ecb50642c0b6a474b0f1896e66ab83ca (patch)
tree99e310e2d6c2555a6401aaaa888d3579a3677a85 /sys
parentdae2ea569d8a8612b8fd67fc2c1e74983d42ed04 (diff)
On input if the packet matches one of the member interface MAC addresses,
set the receiving interface to be that interface for further processing; thanks to dorcula@uncool.org for reporting and testing.
Diffstat (limited to 'sys')
-rw-r--r--sys/net/if_bridge.c3
-rw-r--r--sys/net/if_ethersubr.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c
index 3c3b32a50f9..8fb46449a13 100644
--- a/sys/net/if_bridge.c
+++ b/sys/net/if_bridge.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_bridge.c,v 1.30 2000/05/25 00:30:27 jason Exp $ */
+/* $OpenBSD: if_bridge.c,v 1.31 2000/06/02 00:36:42 jason Exp $ */
/*
* Copyright (c) 1999, 2000 Jason L. Wright (jason@thought.net)
@@ -1102,6 +1102,7 @@ bridge_input(ifp, eh, m)
bridge_rtupdate(sc,
(struct ether_addr *)&eh->ether_dhost,
ifp, 0, IFBAF_DYNAMIC);
+ m->m_pkthdr.rcvif = ifl->ifp;
return (m);
}
if (bcmp(ac->ac_enaddr, eh->ether_shost, ETHER_ADDR_LEN) == 0) {
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c
index 26ae968c229..58c8ae4edb0 100644
--- a/sys/net/if_ethersubr.c
+++ b/sys/net/if_ethersubr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_ethersubr.c,v 1.35 2000/04/26 19:03:11 chris Exp $ */
+/* $OpenBSD: if_ethersubr.c,v 1.36 2000/06/02 00:36:41 jason Exp $ */
/* $NetBSD: if_ethersubr.c,v 1.19 1996/05/07 02:40:30 thorpej Exp $ */
/*
@@ -595,6 +595,7 @@ ether_input(ifp, eh, m)
if (m == NULL)
return;
/* The bridge has determined it's for us. */
+ ifp = m->m_pkthdr.rcvif;
goto decapsulate;
}
#endif