Re: [RFC net-next 2/7] net: bridge: switchdev: Include local flag in FDB notifications
From: Ido Schimmel <hidden>
Date: 2021-01-18 19:45:41
On Sun, Jan 17, 2021 at 09:30:09PM +0200, Vladimir Oltean wrote:
Hi Tobias, On Sat, Jan 16, 2021 at 02:25:10AM +0100, Tobias Waldekranz wrote:quoted
Some switchdev drivers, notably DSA, ignore all dynamically learned address notifications (!added_by_user) as these are autonomously added by the switch. Previously, such a notification was indistinguishable from a local address notification. Include a local bit in the notification so that the two classes can be discriminated. This allows DSA-like devices to add local addresses to the hardware FDB (with the CPU as the destination), thereby avoiding flows towards the CPU being flooded by the switch as unknown unicast. Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com> ---In an ideal world, the BR_FDB_LOCAL bit of an FDB entry is what you would probably want to use as an indication that the packet must be delivered upstream by the hardware, considering that this is what the software data path does: br_handle_frame_finish: if (test_bit(BR_FDB_LOCAL, &dst->flags)) return br_pass_frame_up(skb); However, we are not in an ideal world, but in a cacophony of nonsensical flags that must be passed to the 'bridge fdb add' command. For example, I noticed this usage pattern in your patch 6/7:
Thanks for adding me. Reflecting FDB flags is a very much needed change. I will take a look tomorrow or the day after.