diff options
Diffstat (limited to 'resources/libraries/python')
-rw-r--r-- | resources/libraries/python/InterfaceUtil.py | 26 |
1 files changed, 26 insertions, 0 deletions
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 @@ -494,6 +494,32 @@ class InterfaceUtil(object): .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): """Create sub-interface on node. |