From: Koki Sanagi <sanagi.koki@xxxxxxxxxxxxxx> Date: Wed, 30 Nov 2011 17:31:18 +0900 > When the MAC address of a bridge interface is changed, it cannot communicate > with others. Because Whether or not a packet should be transferred to bridge > interface depends on whether or not dst of a packet is in fdb and is_local=y. > If we change MAC address of a bridge interface, it isn't in fdb. > > This patch adds an condition that dst of a packet matches MAC address of > a bridge interface to the conventional condition. > > Signed-off-by: Koki Sanagi <sanagi.koki@xxxxxxxxxxxxxx> This looks like a patch I've seen before, and in any event it makes more sense to update the FDB when the MAC changes instead of adding a special bypass rule. Stephen? > --- > net/bridge/br_input.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c > index 5a31731..4e5c862 100644 > --- a/net/bridge/br_input.c > +++ b/net/bridge/br_input.c > @@ -94,7 +94,8 @@ int br_handle_frame_finish(struct sk_buff *skb) > skb2 = skb; > > br->dev->stats.multicast++; > - } else if ((dst = __br_fdb_get(br, dest)) && dst->is_local) { > + } else if ((dst = __br_fdb_get(br, dest) && dst->is_local) || > + !compare_ether_addr(p->br->dev->dev_addr, dest)) { > skb2 = skb; > /* Do not forward the packet since it's local. */ > skb = NULL; _______________________________________________ Bridge mailing list Bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/bridge