From fe1975eb1ac994df1bd759deda7154bb7dd9d7a7 Mon Sep 17 00:00:00 2001 From: Jan Gelety Date: Mon, 18 Mar 2019 13:30:11 +0100 Subject: CSIT-1468: InterfaceUtil migration from VAT to PAPI Change-Id: I0062710d58996be767a852dc00545fedd60a5c72 Signed-off-by: Jan Gelety --- resources/libraries/python/ProxyArp.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'resources/libraries/python/ProxyArp.py') 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) -- cgit 1.2.3-korg