summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorNataliia Solomko <natalirs1985@gmail.com>2026-07-06 18:07:00 +0300
committerNataliia Solomko <natalirs1985@gmail.com>2026-07-07 11:35:18 +0300
commit5c5716a84abac766ad72334e3f159fffb9644c8f (patch)
tree874dccdc9380762fd2f82c4dcc0d7d4b072dcfc9 /python
parentb90c21db2edefb02e22ea9233cf76ed6435f91f6 (diff)
downloadvyos-1x-5c5716a84abac766ad72334e3f159fffb9644c8f.tar.gz
vyos-1x-5c5716a84abac766ad72334e3f159fffb9644c8f.zip
vpp: T9018: Auto-enable promiscuous mode for interfaces with VLANs
VPP drops VLAN-tagged frames unless the parent interface has promiscuous mode enabled, causing VLAN sub-interfaces to lose connectivity. Automatically enable promiscuous mode on VPP interfaces that have VLAN sub-interfaces (vif/vif-s) configured.
Diffstat (limited to 'python')
-rw-r--r--python/vyos/vpp/control_vpp.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/python/vyos/vpp/control_vpp.py b/python/vyos/vpp/control_vpp.py
index 0746282de..5cad2a646 100644
--- a/python/vyos/vpp/control_vpp.py
+++ b/python/vyos/vpp/control_vpp.py
@@ -688,3 +688,16 @@ class VPPControl:
arc_name=arc_name,
feature_name='ip6-icmp-ra-punt',
)
+
+ @_Decorators.api_call
+ def set_promisc(self, ifname: str, enable: bool = True) -> None:
+ """Set promiscuous mode for interface
+
+ Args:
+ ifname (str): name of an interface
+ enable (bool): enable or disable promiscuous mode
+ """
+ self.__vpp_api_client.api.sw_interface_set_promisc(
+ sw_if_index=self.get_sw_if_index(ifname),
+ promisc_on=enable,
+ )