Re: Timing of host-joined bridge multicast groups with switchdev
From: Vladimir Oltean <olteanv@gmail.com>
Date: 2021-02-23 20:09:54
On Tue, Feb 23, 2021 at 09:49:08PM +0200, Vladimir Oltean wrote:
quoted
But I'm not sure how we replay it only for a single notifier block. I'm not familiar with setups where you have more than one listener let alone more than one that is interested in notifications from a specific bridge, so maybe it is OK to just replay it for all the listeners. But I would prefer to avoid it if we can.At least with a driver-initiated pull, this seems to work:
...
I am just not sure why I need to emit the notification only once per ASIC. Currently, SWITCHDEV_OBJ_ID_HOST_MDB is emitted for all bridge ports, so the callers need to reference-count it anyway. As for the port mdb entries, I am filtering the entries towards just a single port when that joins. So I think this is okay.
Sorry, I'm a bit more slow today. So there seems to be no easy way to get access to the notifier block that the new port uses, instead we can only call the entire notifier chain from the bridge layer. I guess I'll have to defer that problem until enough drivers make use of the pull mechanism that it becomes unbearable then.