[Bridge] [PATCH net] bridge: switchdev: Clear forward mark when transmitting packet

David Miller davem at davemloft.net
Fri Sep 1 17:12:00 UTC 2017


From: Ido Schimmel <idosch at mellanox.com>
Date: Fri,  1 Sep 2017 12:22:25 +0300

> Commit 6bc506b4fb06 ("bridge: switchdev: Add forward mark support for
> stacked devices") added the 'offload_fwd_mark' bit to the skb in order
> to allow drivers to indicate to the bridge driver that they already
> forwarded the packet in L2.
> 
> In case the bit is set, before transmitting the packet from each port,
> the port's mark is compared with the mark stored in the skb's control
> block. If both marks are equal, we know the packet arrived from a switch
> device that already forwarded the packet and it's not re-transmitted.
> 
> However, if the packet is transmitted from the bridge device itself
> (e.g., br0), we should clear the 'offload_fwd_mark' bit as the mark
> stored in the skb's control block isn't valid.
> 
> This scenario can happen in rare cases where a packet was trapped during
> L3 forwarding and forwarded by the kernel to a bridge device.
> 
> Fixes: 6bc506b4fb06 ("bridge: switchdev: Add forward mark support for stacked devices")
> Signed-off-by: Ido Schimmel <idosch at mellanox.com>
> Reported-by: Yotam Gigi <yotamg at mellanox.com>
> Tested-by: Yotam Gigi <yotamg at mellanox.com>
> Reviewed-by: Jiri Pirko <jiri at mellanox.com>

Applied and queued up for -stable, thanks.


More information about the Bridge mailing list