From ec3512ff7f1405f2e7bc74bbfadf5691afc352c4 Mon Sep 17 00:00:00 2001 From: Patrik Hrnciar Date: Fri, 15 Jul 2016 08:48:43 +0200 Subject: CSIT-25 DHCPv4 proxy tests Change-Id: I5aa449d7289fe8d015a32b21c0a368e9693ba757 Signed-off-by: Patrik Hrnciar --- resources/libraries/python/Dhcp.py | 23 ++++++++++++++++++++++ .../libraries/python/TrafficScriptExecutor.py | 3 +++ 2 files changed, 26 insertions(+) (limited to 'resources/libraries/python') diff --git a/resources/libraries/python/Dhcp.py b/resources/libraries/python/Dhcp.py index 8b78f457c0..ebdfeb3b80 100644 --- a/resources/libraries/python/Dhcp.py +++ b/resources/libraries/python/Dhcp.py @@ -46,3 +46,26 @@ class DhcpClient(object): raise RuntimeError('Unable to set DHCP client on node {} and' ' interface {}.' .format(vpp_node, interface)) + + @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)) diff --git a/resources/libraries/python/TrafficScriptExecutor.py b/resources/libraries/python/TrafficScriptExecutor.py index 8d899044fc..e5fb2589ef 100644 --- a/resources/libraries/python/TrafficScriptExecutor.py +++ b/resources/libraries/python/TrafficScriptExecutor.py @@ -50,6 +50,7 @@ class TrafficScriptExecutor(object): :type timeout: int :raises RuntimeError: ICMP echo Rx timeout. :raises RuntimeError: DHCP REQUEST Rx timeout. + :raises RuntimeError: DHCP DISCOVER timeout. :raises RuntimeError: TCP/UDP Rx timeout. :raises RuntimeError: ARP reply timeout. :raises RuntimeError: Traffic script execution failed. @@ -74,6 +75,8 @@ class TrafficScriptExecutor(object): raise RuntimeError("ICMP echo Rx timeout") elif "RuntimeError: DHCP REQUEST Rx timeout" in stderr: raise RuntimeError("DHCP REQUEST Rx timeout") + elif "RuntimeError('DHCP DISCOVER timeout')" in stderr: + raise RuntimeError("DHCP DISCOVER timeout") elif "RuntimeError: TCP/UDP Rx timeout" in stderr: raise RuntimeError("TCP/UDP Rx timeout") elif "Error occurred: ARP reply timeout" in stdout: -- cgit 1.2.3-korg