When the packet is for the bridge then note which interface to send the reply

to, previously it was always broadcast to all interfaces (a bug). This is
useful when the bridge is the default gateway and vlans are used to isolate
each client, the reply is now kept private to the vlan which the client
resides.

Reported by:	Jon Otterholm
Tested by:	Jon Otterholm
MFC after:	3 days
This commit is contained in:
Andrew Thompson 2006-11-04 10:40:59 +00:00
parent 6a8a30dcd3
commit 59ee2183e2

View File

@ -2054,6 +2054,11 @@ bridge_input(struct ifnet *ifp, struct mbuf *m)
* local processing.
*/
/* Note where to send the reply to */
if (bif->bif_flags & IFBIF_LEARNING)
(void) bridge_rtupdate(sc,
eh->ether_shost, ifp, 0, IFBAF_DYNAMIC);
/* Mark the packet as arriving on the bridge interface */
m->m_pkthdr.rcvif = bifp;
BPF_MTAP(bifp, m);