feat(core): QAT RXQ allocation 18/40318/5
authorpmikus <peter.mikus@protonmail.ch>
Wed, 7 Feb 2024 14:38:51 +0000 (15:38 +0100)
committerPeter Mikus <peter.mikus@protonmail.ch>
Tue, 13 Feb 2024 08:20:43 +0000 (08:20 +0000)
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch>
Change-Id: I78501f08b29a202c0e1129b79af6a63299e8ee36

resources/libraries/python/VppConfigGenerator.py

index 25b5802..65a19b2 100644 (file)
@@ -253,18 +253,22 @@ class VppConfigGenerator:
                 path = [u"dpdk", f"dev {device}"]
                 self.add_config_item(self._nodeconfig, u"", path)
 
-    def add_dpdk_cryptodev(self, count):
+    def add_dpdk_cryptodev(self, count, num_rx_queues=1):
         """Add DPDK Crypto PCI device configuration.
 
         :param count: Number of HW crypto devices to add.
+        :param num_rx_queues: Number of RX queues per QAT interface.
         :type count: int
+        :type num_rx_queues: int
         """
         cryptodevs = Topology.get_cryptodev(self._node)
         for device in cryptodevs.values():
             for i in range(int(count/len(cryptodevs))):
-                addr = re.sub(r"\d.\d$", f"0.{i+1}", device["pci_address"])
-                path = ["dpdk", f"dev {addr}"]
-                self.add_config_item(self._nodeconfig, "", path)
+                numvfs = device["numvfs"]
+                computed = f"{(i+1)//numvfs}.{(i+1)%numvfs}"
+                addr = re.sub(r"\d.\d$", computed, device["pci_address"])
+                path = ["dpdk", f"dev {addr}", "num-rx-queues"]
+                self.add_config_item(self._nodeconfig, num_rx_queues, path)
         self.add_dpdk_uio_driver("vfio-pci")
 
     def add_dpdk_sw_cryptodev(self, sw_pmd_type, socket_id, count):