aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python
diff options
context:
space:
mode:
authorPatrik Hrnciar <phrnciar@cisco.com>2016-07-15 08:48:43 +0200
committerDave Wallace <dwallacelf@gmail.com>2016-08-01 14:46:43 +0000
commitec3512ff7f1405f2e7bc74bbfadf5691afc352c4 (patch)
tree79260ea2899e2b02430bdc6b2ed8b02f7cd9c1c5 /resources/libraries/python
parent8fa8590c30540f53edb02c223a6de616cbe149da (diff)
CSIT-25 DHCPv4 proxy tests
Change-Id: I5aa449d7289fe8d015a32b21c0a368e9693ba757 Signed-off-by: Patrik Hrnciar <phrnciar@cisco.com>
Diffstat (limited to 'resources/libraries/python')
-rw-r--r--resources/libraries/python/Dhcp.py23
-rw-r--r--resources/libraries/python/TrafficScriptExecutor.py3
2 files changed, 26 insertions, 0 deletions
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: