This gives events on added/removed ports, and information on port number, interface name, and external_ids could be gathered with an additional OVSDB request on the Interface table.
The drawback is to touch production code to solve a fullstack issue, but on the other hand, even in production, filtering to only see ports coming and going for specific bridges and not other bridges, is something that may make sense.
Discussed today with jakub: a possibility would be to have the OVS agent monitor only his own br-int.
ovsdb-client monitor-cond can be used to only get events matching a certain conditions
This can't be done with a per-bridge condition on the Interface table, but can be done on the Bridge table:
ovsdb-client monitor-cond '[["name" ,"=="," br-int" ]]' Bridge name,ports
# ovsdb-client monitor-cond '[["name" ,"=="," br-int" ]]' Bridge name,ports ------- ------- ------- ------- - ------- ------ ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- --- 7c17-423e- 9292-f2a18022ca 89 initial br-int [244019ea- ff2e-43ee- 91dc-57c8b3aff0 d7, 3443782a- f2a3-4abc- 9c67-b07f5e97f4 5c, 430bc324- 2eb1-47cd- bd15-f37b150243 1f, 6df07278- 6b54-4def- a3b4-250108986f 35, 7677f9a0- 09d9-403f- 9041-3436834b95 c3, 88ae506a- ddbb-46b8- 9875-cf4f248b18 45, da14307e- b635-4efb- bf33-f96f6ba38f 19, e4378cc4- b65d-434c- 8134-335cfcfa90 b2]
row action name ports
-------
a86186e3-
This gives events on added/removed ports, and information on port number, interface name, and external_ids could be gathered with an additional OVSDB request on the Interface table.
The drawback is to touch production code to solve a fullstack issue, but on the other hand, even in production, filtering to only see ports coming and going for specific bridges and not other bridges, is something that may make sense.