X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2Ftopology.py;h=0f26d2c6e95ad5ac11feb4b52567cfe02675e201;hp=d04d5846237f9d04d67200ca2386c6f97046c3fb;hb=6d9fe9bb4bd353b1d4fec3b2569bcd743f87fc4a;hpb=5a2fd159dce96a70f2e5157314391aceb6d80197 diff --git a/resources/libraries/python/topology.py b/resources/libraries/python/topology.py index d04d584623..0f26d2c6e9 100644 --- a/resources/libraries/python/topology.py +++ b/resources/libraries/python/topology.py @@ -164,20 +164,22 @@ class Topology(object): @staticmethod def get_interface_sw_index(node, interface): - """Get VPP sw_index for the interface. + """Get VPP sw_if_index for the interface. - :param node: Node to get interface sw_index on. - :param interface: Interface name. + :param node: Node to get interface sw_if_index on. + :param interface: Interface identifier. :type node: dict - :type interface: str - :return: Return sw_index or None if not found. + :type interface: str or int + :return: Return sw_if_index or None if not found. """ - for port in node['interfaces'].values(): - port_name = port.get('name') - if port_name == interface: - return port.get('vpp_sw_index') - - return None + try: + return int(interface) + except ValueError: + for port in node['interfaces'].values(): + port_name = port.get('name') + if port_name == interface: + return port.get('vpp_sw_index') + return None @staticmethod def get_interface_mtu(node, interface):