summaryrefslogtreecommitdiff
path: root/smoketest/scripts/cli/test_service_https.py
diff options
context:
space:
mode:
authorciaens <commits@ciaens.com>2026-10-19 14:04:07 +0200
committerChristian Breunig <christian@breunig.cc>2026-11-05 23:21:40 +0100
commitfc6fa8c6683988d09ed4f53ec69cc7a96ed03a41 (patch)
tree2b77e0a851fd9df0431274896b304971610d78b4 /smoketest/scripts/cli/test_service_https.py
parent69494046c5fc9c3c8e0f310e14a7c31d326af7ca (diff)
downloadvyos-1x-fc6fa8c6683988d09ed4f53ec69cc7a96ed03a41.tar.gz
vyos-1x-fc6fa8c6683988d09ed4f53ec69cc7a96ed03a41.zip
interfaces: T6393: install tc filters for every source of a target
When an interface is used as the mirror target of other interfaces, its commit installs the tc(8) mirror filters on their behalf, so that mirroring works even if the target did not exist yet when the sources were configured. is_mirror_intf() however only remembered the last source it found, ignored the target's own mirror configuration whenever it had sources, and did not consider VLAN sub-interfaces or "redirect" at all. Return all sources (including vif, vif-s, vif-c and redirecting interfaces), found by walking the interfaces dictionary once instead of calling list_nodes() and exists() per node, and apply the interface's own configuration plus one set of filters per source. A source whose target does not exist yet is skipped with a warning, the target installs the filter once it exists. Only sources missing a filter into the target are touched (each configured direction is checked), so a commit of the target no longer drops and re-adds the qdiscs of every source. A filter left behind by a re-created target is reported by tc as "*" and replaced. A redirecting source may carry a QoS policy: its dictionary gets the "qos" marker of get_interface_dict(), and only the mirred filters are removed instead of the qdiscs. This also drops the stale redirect filter once "redirect" is deleted from a shaped interface.
Diffstat (limited to 'smoketest/scripts/cli/test_service_https.py')
0 files changed, 0 insertions, 0 deletions