[Bridge] Bridge port userspace events broken?

nikolay at cumulusnetworks.com nikolay at cumulusnetworks.com
Tue Oct 15 10:48:58 UTC 2019


On 14 October 2019 22:33:22 CEST, Richard Weinberger <richard.weinberger at gmail.com> wrote:
>Hi!
>
>My userspace needs /sys/class/net/eth0/brport/group_fwd_mask, so I set
>up udev rules
>to wait for the sysfs file.
>Without luck.
>Also "udevadm monitor" does not show any event related to
>/sys/class/net/eth0/brport when I assign eth0 to a bridge.
>
>First I thought that the bridge code just misses to emit some events
>but
>br_add_if() calls kobject_uevent() which is good.
>
>Greg gave me the hint that the bridge code might not use the kobject
>model
>correctly.
>
>Enabling kobjekt debugging shows that all events are dropped:
>[   36.904602] device eth0 entered promiscuous mode
>[   36.904786] kobject: 'brport' (0000000028a47e33): kobject_uevent_env
>[   36.904789] kobject: 'brport' (0000000028a47e33):
>kobject_uevent_env: filter function caused the event to drop!
>
>If I understood Greg correctly this is because the bridge code uses
>plain kobjects which
>have a parent object. Therefore all events are dropped.
>
>Shouldn't brport be a kset just like net_device->queues_kset?


Hi Richard, 
I'm currently traveling and will be out of reach until mid-next week when I'll be
able to take a closer look, but one thing which comes to mind is that on
any bridge/port option change there should also be a netlink notification which
you could use. I'll look into this and will probably cook a fix, if anyone hasn't
beaten me to it by then. :) 

Cheers,
  Nik


More information about the Bridge mailing list