X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FInterfaceUtil.py;h=af34c6450110a2d408cddaa405e8c29af144dc41;hp=e474e296315783d899286970a47be4ec6099e193;hb=324f01417f17a5347c102179f3d2277a77b116ce;hpb=fe9072ce82a91c5d6de30d07756d5a12b80f9c74 diff --git a/resources/libraries/python/InterfaceUtil.py b/resources/libraries/python/InterfaceUtil.py index e474e29631..af34c64501 100644 --- a/resources/libraries/python/InterfaceUtil.py +++ b/resources/libraries/python/InterfaceUtil.py @@ -1258,8 +1258,19 @@ class InterfaceUtil: txq_size=txq_size ) err_msg = f"Failed to create AVF interface on host {node[u'host']}" - with PapiSocketExecutor(node) as papi_exec: - sw_if_index = papi_exec.add(cmd, **args).get_sw_if_index(err_msg) + + # FIXME: Remove once the fw/driver is upgraded. + for _ in range(10): + with PapiSocketExecutor(node) as papi_exec: + try: + sw_if_index = papi_exec.add(cmd, **args).get_sw_if_index( + err_msg + ) + break + except AssertionError: + logger.error(err_msg) + else: + raise AssertionError(err_msg) InterfaceUtil.add_eth_interface( node, sw_if_index=sw_if_index, ifc_pfx=u"eth_avf", @@ -1780,6 +1791,10 @@ class InterfaceUtil: vf_keys = InterfaceUtil.init_generic_interface( node, ifc_key, numvfs=numvfs, osi_layer=osi_layer ) + elif driver == u"rdma-core": + vf_keys = InterfaceUtil.init_generic_interface( + node, ifc_key, numvfs=numvfs, osi_layer=osi_layer + ) return vf_keys @staticmethod