diff options
| author | Nataliia Solomko <natalirs1985@gmail.com> | 2026-01-12 16:37:13 +0200 |
|---|---|---|
| committer | Nataliia Solomko <natalirs1985@gmail.com> | 2026-01-21 15:07:14 +0200 |
| commit | f8a68122f3b4738a2a1bd1526ed3c9b8961d050d (patch) | |
| tree | ee495630f8b3f6687a546b7064f313b4c9f429f9 /python | |
| parent | 7fea6b6dbbd786bf6a32c496fc70ca9e9b5f8b1f (diff) | |
| download | vyos-1x-f8a68122f3b4738a2a1bd1526ed3c9b8961d050d.tar.gz vyos-1x-f8a68122f3b4738a2a1bd1526ed3c9b8961d050d.zip | |
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
Diffstat (limited to 'python')
| -rw-r--r-- | python/vyos/vpp/control_vpp.py | 31 |
1 files changed, 31 insertions, 0 deletions
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, + ) |
