aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/IPv6Util.py
diff options
context:
space:
mode:
authorPatrik Hrnciar <phrnciar@cisco.com>2016-05-03 14:40:52 +0200
committerMatej Klotton <mklotton@cisco.com>2016-05-11 08:16:52 +0000
commit452fabf532691f88b36b79bf2469afde18183de2 (patch)
tree73c63417ee512ff73050559fae1ee93e99b4ad11 /resources/libraries/python/IPv6Util.py
parent807afe3f73ef9f6170e72f922338d0a726028ec6 (diff)
Add iACL IPv4/IPv6 tests.
- IPv4: CSIT-15 - IPv6: CSIT-16 Change-Id: I6e66aa853dfaebf1388f1191dbb63f5216820325 Signed-off-by: Patrik Hrnciar <phrnciar@cisco.com>
Diffstat (limited to 'resources/libraries/python/IPv6Util.py')
-rw-r--r--resources/libraries/python/IPv6Util.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/resources/libraries/python/IPv6Util.py b/resources/libraries/python/IPv6Util.py
index 519026beae..35ec8d5258 100644
--- a/resources/libraries/python/IPv6Util.py
+++ b/resources/libraries/python/IPv6Util.py
@@ -16,6 +16,8 @@
import re
from resources.libraries.python.ssh import SSH
+from resources.libraries.python.VatExecutor import VatTerminal
+from resources.libraries.python.topology import Topology
class IPv6Util(object):
@@ -106,3 +108,27 @@ class IPv6Util(object):
raise Exception('Node {n} port {p} IPv6 address not found.'.format(
n=node['host'], p=interface))
+
+ @staticmethod
+ def add_ip_neighbor(node, interface, ip_address, mac_address):
+ """Add IP neighbor.
+
+ :param node: VPP node to add ip neighbor.
+ :param interface: Interface name or sw_if_index.
+ :param ip_address: IP address.
+ :param mac_address: MAC address.
+ :type node: dict
+ :type interface: str or int
+ :type ip_address: str
+ :type mac_address: str
+ """
+ if isinstance(interface, basestring):
+ sw_if_index = Topology.get_interface_sw_index(node, interface)
+ else:
+ sw_if_index = interface
+
+ with VatTerminal(node) as vat:
+ vat.vat_terminal_exec_cmd_from_template("add_ip_neighbor.vat",
+ sw_if_index=sw_if_index,
+ ip_address=ip_address,
+ mac_address=mac_address)