mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-03 05:51:15 +02:00
marker: key _marker_filter_bridges by (name, link_id) so multi-link nodes toggle every copy
The _marker_filter_bridges dict was keyed by marker name alone, so when one node hosted the same filter name on several links (IUOL-BRIDGE per node with many bays/units, or a multi-interface router), successive apply calls overwrote earlier entries. pause_marker_definition then toggled only the last recorded bridge/location — other copies stayed active and kept emitting. Key by (name, link_id) so each copy is independent, and iterate all matching entries in _ubridge_set_marker_filter_state (both generic bridge and IOU iol_bridge override). Toggle route existence checks also iterate matching names. Tests updated.
This commit is contained in:
9 files changed
+25
-28
No files matched your search
@@ -180,7 +180,7 @@ async def test_set_marker_filter_state_off(compute_project, manager):
|
||||
|
||||
node = VPCSVM("test", "00010203-0405-0607-0809-0a0b0c0d0e0f", compute_project, manager)
|
||||
node._ubridge_send = AsyncioMagicMock()
|
||||
node._marker_filter_bridges["m"] = "VPCS-10"
|
||||
node._marker_filter_bridges["m", "L"] = "VPCS-10"
|
||||
await node._ubridge_set_marker_filter_state("m", False)
|
||||
node._ubridge_send.assert_called_with("bridge enable_packet_filter VPCS-10 m off")
|
||||
|
||||
@@ -190,7 +190,7 @@ async def test_set_marker_filter_state_on(compute_project, manager):
|
||||
|
||||
node = VPCSVM("test", "00010203-0405-0607-0809-0a0b0c0d0e0f", compute_project, manager)
|
||||
node._ubridge_send = AsyncioMagicMock()
|
||||
node._marker_filter_bridges["m"] = "VPCS-10"
|
||||
node._marker_filter_bridges["m", "L"] = "VPCS-10"
|
||||
await node._ubridge_set_marker_filter_state("m", True)
|
||||
node._ubridge_send.assert_called_with("bridge enable_packet_filter VPCS-10 m on")
|
||||
|
||||
@@ -226,4 +226,4 @@ async def test_apply_markers_turns_disabled_filter_off(compute_project, manager)
|
||||
mm.instance.return_value.register = MagicMock()
|
||||
await node._ubridge_apply_markers("VPCS-10", nio)
|
||||
node._ubridge_send.assert_any_call("bridge enable_packet_filter VPCS-10 m off")
|
||||
assert node._marker_filter_bridges["m"] == "VPCS-10"
|
||||
assert node._marker_filter_bridges["m", "L1"] == "VPCS-10"
|
||||
Reference in new issue
Block a user