X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FInterfaceUtil.py;h=35194f248726c6cf10fb7357f908382a8d7be87e;hb=807afe3f73ef9f6170e72f922338d0a726028ec6;hp=ec2ef69dfc66de879155a1c002e800210c3c5f91;hpb=c478afc5aec0161cc66e837c1ab919542b68ebbc;p=csit.git diff --git a/resources/libraries/python/InterfaceUtil.py b/resources/libraries/python/InterfaceUtil.py index ec2ef69dfc..35194f2487 100644 --- a/resources/libraries/python/InterfaceUtil.py +++ b/resources/libraries/python/InterfaceUtil.py @@ -493,6 +493,32 @@ class InterfaceUtil(object): raise RuntimeError('Unable to create VXLAN interface on node {}' .format(node)) + @staticmethod + def vxlan_dump(node, interface): + """Get VxLAN data for the given interface. + + :param node: VPP node to get interface data from. + :param interface: Numeric index or name string of a specific interface. + :type node: dict + :type interface: int or str + :return: Dictionary containing data for the given VxLAN. + :rtype dict + """ + + if isinstance(interface, basestring): + sw_if_index = Topology.get_interface_sw_index(node, interface) + else: + sw_if_index = interface + + with VatTerminal(node) as vat: + response = vat.vat_terminal_exec_cmd_from_template( + "vxlan_dump.vat", sw_if_index=sw_if_index) + + for vxlan in response[0]: + if vxlan["sw_if_index"] == sw_if_index: + return vxlan + return {} + @staticmethod def create_subinterface(node, interface, sub_id, outer_vlan_id, inner_vlan_id, type_subif):