The current implementation of BRIDGE-MIB is done through a Perl subagent. This is something that is difficult to integrate into an embedded system. I propose here a similar implementation in C. It only covers RFC 4188 (no VLAN). Only Linux is currently supported but the module is written in a way that should enable the possibility to add additional OS.
Notifications are also supported. Only Linux 3.1 or later use Netlink to notify of a topology change. It is something difficult to detect. People with older kernel will need to query the MIB at regular interval to make those notifications work.
Second patch...
And third patch.