MFC r1.218

Move the bridge hook after the loopback check so that IFF_SIMPLEX is honoured
 on member interfaces.
This commit is contained in:
thompsa 2006-08-28 02:54:14 +00:00
parent 93174390f3
commit 64d3d42694

View File

@ -292,14 +292,6 @@ ether_output(struct ifnet *ifp, struct mbuf *m,
(void)memcpy(eh->ether_shost, IFP2ENADDR(ifp),
sizeof(eh->ether_shost));
/*
* Bridges require special output handling.
*/
if (ifp->if_bridge) {
BRIDGE_OUTPUT(ifp, m, error);
return (error);
}
/*
* If a simplex interface, and the packet is being sent to our
* Ethernet address or a broadcast address, loopback a copy.
@ -338,6 +330,14 @@ ether_output(struct ifnet *ifp, struct mbuf *m,
}
}
/*
* Bridges require special output handling.
*/
if (ifp->if_bridge) {
BRIDGE_OUTPUT(ifp, m, error);
return (error);
}
#ifdef DEV_CARP
if (ifp->if_carp &&
(error = carp_output(ifp, m, dst, NULL)))