X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FDhcp.py;h=93a91809723627e4a53279ae7f30ffd03905b07b;hp=8b78f457c029775062583742f718dc414371c1bd;hb=c75b9804c9510d0a342563e41407089145b38d50;hpb=8d66412092b5dcabcbaf4fdb3b514e1bf8ad0378 diff --git a/resources/libraries/python/Dhcp.py b/resources/libraries/python/Dhcp.py index 8b78f457c0..93a9180972 100644 --- a/resources/libraries/python/Dhcp.py +++ b/resources/libraries/python/Dhcp.py @@ -46,3 +46,30 @@ class DhcpClient(object): raise RuntimeError('Unable to set DHCP client on node {} and' ' interface {}.' .format(vpp_node, interface)) + + +class DhcpProxy(object): + """DHCP Proxy utilities.""" + + @staticmethod + def dhcp_proxy_config(vpp_node, server_address, source_address): + """Set DHCP proxy. + + :param vpp_node: VPP node to set DHCP proxy. + :param server_address: DHCP server IP address. + :param source_address: DHCP proxy address. + :type vpp_node: dict + :type server_address: str + :type source_address: str + :raises RuntimeError: If unable to set DHCP proxy. + """ + + output = VatExecutor.cmd_from_template(vpp_node, + "dhcp_proxy_config.vat", + server_address=server_address, + source_address=source_address) + output = output[0] + + if output["retval"] != 0: + raise RuntimeError('Unable to set DHCP proxy on node {}' + .format(vpp_node))