Use proper DPDK EAL parameter name: --allow 42/73842/1
authorLuc Provoost <luc.provoost@gmail.com>
Wed, 1 Feb 2023 15:26:27 +0000 (16:26 +0100)
committerLuc Provoost <luc.provoost@gmail.com>
Wed, 1 Feb 2023 15:26:27 +0000 (16:26 +0100)
The name of one of the EAL parameters has changed. Depending on the DPDK
version, we need to use a different name. While building the PROX image,
we need now to create a file /opt/rapid/dpdk_version that contains the
DPDK version. When running runrapid.py, we will now check this file to
decide if we use the old --whitelist, or the new --allow parameter name
for the PCI address to be used.

Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I3e07c552d014c818138d389abce936e275108776

VNFs/DPPD-PROX/helper-scripts/rapid/rapid_k8s_pod.py
VNFs/DPPD-PROX/helper-scripts/rapid/rapid_machine.py

index 3a90dcb..8ddff3b 100644 (file)
@@ -177,8 +177,24 @@ class Pod:
         self._sriov_vf = cmd_output.split(",")[0]
         self._log.debug("Using first SRIOV VF %s" % self._sriov_vf)
 
-        self._log.info("Getting MAC address for assigned SRIOV VF %s" % self._sriov_vf)
-        self._ssh_client.run_cmd("sudo /opt/rapid/port_info_app -n 4 -w %s" % self._sriov_vf)
+        # find DPDK version
+        self._log.info("Checking DPDK version for POD %s" % self._name)
+        ret = self._ssh_client.run_cmd("cat /opt/rapid/dpdk_version")
+        if ret != 0:
+            self._log.error("Failed to check DPDK version"
+                            "Error %s" % self._ssh_client.get_error())
+            return -1
+        dpdk_version = self._ssh_client.get_output().decode("utf-8").rstrip()
+        self._log.debug("DPDK version %s" % dpdk_version)
+        if (dpdk_version >= '20.11.0'):
+            allow_parameter = 'allow'
+        else:
+            allow_parameter = 'pci-whitelist'
+
+        self._log.info("Getting MAC address for assigned SRIOV VF %s" % \
+                self._sriov_vf)
+        self._ssh_client.run_cmd("sudo /opt/rapid/port_info_app -n 4 \
+                --{} {}".format(allow_parameter, self._sriov_vf))
         if ret != 0:
             self._log.error("Failed to get MAC address!"
                             "Error %s" % self._ssh_client.get_error())
index f00f916..80c8793 100644 (file)
@@ -150,7 +150,7 @@ class RapidMachine(object):
                 LuaFile.write('local_ip{}="{}"\n'.format(index, dp_port['ip']))
                 LuaFile.write('local_hex_ip{}=convertIPToHex(local_ip{})\n'.format(index, index))
             if self.vim in ['kubernetes']:
-                cmd = 'pkg-config --modversion libdpdk'
+                cmd = 'cat /opt/rapid/dpdk_version'
                 dpdk_version = self._client.run_cmd(cmd).decode().rstrip()
                 if (dpdk_version >= '20.11.0'):
                     allow_parameter = 'allow'