From f8a68122f3b4738a2a1bd1526ed3c9b8961d050d Mon Sep 17 00:00:00 2001 From: Nataliia Solomko Date: Mon, 12 Jan 2026 16:37:13 +0200 Subject: vpp: T8125: Enable ip4-dhcp-client-detect feature if interface address is configured as DHCP DHCP address cannot be assigned on VPP interfaces without enabling the 'ip4-dhcp-client-detect' feature --- python/vyos/vpp/control_vpp.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'python') diff --git a/python/vyos/vpp/control_vpp.py b/python/vyos/vpp/control_vpp.py index 2ee253b45..18ec349bc 100644 --- a/python/vyos/vpp/control_vpp.py +++ b/python/vyos/vpp/control_vpp.py @@ -494,3 +494,34 @@ class VPPControl: cp_sw_if_index=self.get_sw_if_index(vpp_pair_name), is_add=is_add, ) + + @_Decorators.api_call + def enable_dhcp_client(self, ifname: str) -> None: + """Enable DHCP client detection on a given interface + + Args: + ifname (str): name of an interface in kernel + """ + iface_index = self.get_sw_if_index(ifname) + feature_is_enabled = self.__vpp_api_client.api.feature_is_enabled( + sw_if_index=iface_index, + feature_name='ip4-dhcp-client-detect', + arc_name='ip4-unicast', + ) + if not feature_is_enabled.is_enabled: + self.__vpp_api_client.api.dhcp_client_detect_enable_disable( + sw_if_index=iface_index, + enable=True, + ) + + @_Decorators.api_call + def disable_dhcp_client(self, ifname: str) -> None: + """Disable DHCP client detection on a given interface + + Args: + ifname (str): name of an interface in kernel + """ + self.__vpp_api_client.api.dhcp_client_detect_enable_disable( + sw_if_index=self.get_sw_if_index(ifname), + enable=False, + ) -- cgit v1.2.3