diff options
author | Tibor Frank <tifrank@cisco.com> | 2016-05-13 10:25:16 +0200 |
---|---|---|
committer | Tibor Frank <tifrank@cisco.com> | 2016-05-13 14:39:44 +0200 |
commit | 981bc57e281bc2f6920f7690eccc3106419474d2 (patch) | |
tree | 3a87f2be9fad0b8341786a86db7ff3833baf9097 /resources/libraries/python/InterfaceUtil.py | |
parent | 97c8c74e4f813a259ca825e831f83d546d96a171 (diff) |
Add possibility to create a VxLAN interface.
JIRA: CSIT-51
- add a keyword which adds a new VxLAN interface
- change InterfaceUtil.vxlan_dump to be able to return info about all VxLAN
interfaces.
Change-Id: I8ad3dc1d414924e74ea1ecea1f316ca5c648e2d0
Signed-off-by: Tibor Frank <tifrank@cisco.com>
Diffstat (limited to 'resources/libraries/python/InterfaceUtil.py')
-rw-r--r-- | resources/libraries/python/InterfaceUtil.py | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/resources/libraries/python/InterfaceUtil.py b/resources/libraries/python/InterfaceUtil.py index 3da0e1a204..6790fb7221 100644 --- a/resources/libraries/python/InterfaceUtil.py +++ b/resources/libraries/python/InterfaceUtil.py @@ -494,30 +494,39 @@ class InterfaceUtil(object): .format(node)) @staticmethod - def vxlan_dump(node, interface): + def vxlan_dump(node, interface=None): """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. + If None, information about all VxLAN interfaces is returned. :type node: dict :type interface: int or str - :return: Dictionary containing data for the given VxLAN. - :rtype dict + :return: Dictionary containing data for the given VxLAN interface or if + interface=None, the list of dictionaries with all VxLAN interfaces. + :rtype dict or list """ - - if isinstance(interface, basestring): + param = "sw_if_index" + if interface is None: + param = '' + sw_if_index = '' + elif isinstance(interface, basestring): sw_if_index = Topology.get_interface_sw_index(node, interface) - else: + elif isinstance(interface, int): sw_if_index = interface + else: + raise Exception("Wrong interface format {0}".format(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 {} + "vxlan_dump.vat", param=param, sw_if_index=sw_if_index) + + if sw_if_index: + for vxlan in response[0]: + if vxlan["sw_if_index"] == sw_if_index: + return vxlan + return {} + return response[0] @staticmethod def create_subinterface(node, interface, sub_id, outer_vlan_id, |