aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/ProxyArp.py
diff options
context:
space:
mode:
authorJan Gelety <jgelety@cisco.com>2019-03-18 13:30:11 +0100
committerJan Gelety <jgelety@cisco.com>2019-05-31 08:00:11 +0000
commitfe1975eb1ac994df1bd759deda7154bb7dd9d7a7 (patch)
tree694e0f5920cac8f71e4ffbff9f9223c1a217cba6 /resources/libraries/python/ProxyArp.py
parent245ea1de4f111c159a50bc309f53db3f520453ed (diff)
CSIT-1468: InterfaceUtil migration from VAT to PAPI
Change-Id: I0062710d58996be767a852dc00545fedd60a5c72 Signed-off-by: Jan Gelety <jgelety@cisco.com>
Diffstat (limited to 'resources/libraries/python/ProxyArp.py')
-rw-r--r--resources/libraries/python/ProxyArp.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/resources/libraries/python/ProxyArp.py b/resources/libraries/python/ProxyArp.py
index 4879fe6bae..6cd723d327 100644
--- a/resources/libraries/python/ProxyArp.py
+++ b/resources/libraries/python/ProxyArp.py
@@ -13,6 +13,8 @@
"""Proxy ARP library"""
+from resources.libraries.python.InterfaceUtil import InterfaceUtil
+from resources.libraries.python.PapiExecutor import PapiExecutor
from resources.libraries.python.VatExecutor import VatTerminal
@@ -34,3 +36,23 @@ class ProxyArp(object):
vat.vat_terminal_exec_cmd_from_template("add_proxy_arp.vat",
lo_ip4_addr=lo_ip4_addr,
hi_ip4_addr=hi_ip4_addr)
+
+ @staticmethod
+ def vpp_proxy_arp_interface_enable(node, interface):
+ """Enable proxy ARP on interface.
+
+ :param node: VPP node to enable proxy ARP on interface.
+ :param interface: Interface to enable proxy ARP.
+ :type node: dict
+ :type interface: str or int
+ """
+
+ cmd = 'proxy_arp_intfc_enable_disable'
+ args = dict(
+ sw_if_index=InterfaceUtil.get_interface_index(node, interface),
+ enable_disable=1)
+ err_msg = 'Failed to enable proxy ARP on interface {ifc}'.format(
+ ifc=interface)
+ with PapiExecutor(node) as papi_exec:
+ papi_exec.add(cmd, **args).get_replies(err_msg). \
+ verify_reply(err_msg=err_msg)