git: fd7edfcdc3c3 - main - bridge: fix lookup for untagged packets in bridge_transmit()
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 01 Jun 2023 09:39:40 UTC
The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=fd7edfcdc3c329cdbd3f5e7a554f7153e805ab04 commit fd7edfcdc3c329cdbd3f5e7a554f7153e805ab04 Author: Ben Wilber <ben@desync.com> AuthorDate: 2023-06-01 09:29:36 +0000 Commit: Kristof Provost <kp@FreeBSD.org> CommitDate: 2023-06-01 09:31:59 +0000 bridge: fix lookup for untagged packets in bridge_transmit() b0e38a1373 improved if_bridge's ability to cope with different VLANs, but it failed to update bridge_transmit() to cope with the new rule that untagged packets are treated as having VLAN ID 0 (rather than 1, as used to be the case). Fix that oversight. PR: 270559 Reviewed by: kp --- sys/net/if_bridge.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 9fe915d31283..204fd3892c1f 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -2276,7 +2276,8 @@ bridge_transmit(struct ifnet *ifp, struct mbuf *m) eh = mtod(m, struct ether_header *); if (((m->m_flags & (M_BCAST|M_MCAST)) == 0) && - (dst_if = bridge_rtlookup(sc, eh->ether_dhost, 1)) != NULL) { + (dst_if = bridge_rtlookup(sc, eh->ether_dhost, DOT1Q_VID_NULL)) != + NULL) { error = bridge_enqueue(sc, dst_if, m); } else bridge_broadcast(sc, ifp, m, 0);