X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FInterfaceUtil.py;h=35194f248726c6cf10fb7357f908382a8d7be87e;hp=ec2ef69dfc66de879155a1c002e800210c3c5f91;hb=f32168ef95c3b68567ccd57e098d74ad9a536edd;hpb=e91261e76664aa94b515e3e6923a5d4e2ac883a0 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):