X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FInterfaceUtil.py;h=af34c6450110a2d408cddaa405e8c29af144dc41;hp=fed2beed3b520d11a7d5b1281ec41f45d673e493;hb=324f01417f17a5347c102179f3d2277a77b116ce;hpb=a275fa0062158d712152f542b7bc9ec40b5c5f31 diff --git a/resources/libraries/python/InterfaceUtil.py b/resources/libraries/python/InterfaceUtil.py index fed2beed3b..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", @@ -1771,14 +1782,19 @@ class InterfaceUtil: ) elif driver == u"af_xdp": if kernel_driver not in ( - u"ice", u"iavf", u"i40e", u"i40evf", u"mlx5_core"): + u"ice", u"iavf", u"i40e", u"i40evf", u"mlx5_core", + u"ixgbe"): raise RuntimeError( - f"AF_XDP needs ice or i40e or rdma compatible driver, not " + f"AF_XDP needs ice/i40e/rdma/ixgbe compatible driver, not " f"{kernel_driver} at node {node[u'host']} ifc {ifc_key}" ) 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