From 38e0efed173f3407b91343c3e8d43463a9e6e38d Mon Sep 17 00:00:00 2001 From: Peter Mikus Date: Fri, 21 Feb 2025 12:14:44 +0100 Subject: [PATCH] feat(core) QAT init fix Signed-off-by: Peter Mikus Change-Id: I45198b17cfb6b62608bb03e6b1a4af0f939d10ae (cherry picked from commit 7e053e65069df061748d625cea306075efdc75a8) --- resources/libraries/python/QATUtil.py | 29 ++++++------------- topologies/available/lf_3n_emr_testbed28.yaml | 14 +++++---- topologies/available/lf_3n_emr_testbed29.yaml | 21 ++++++-------- topologies/available/lf_3n_icxd_testbed31.yaml | 14 +++++---- topologies/available/lf_3n_icxd_testbed32.yaml | 14 +++++---- topologies/available/lf_3n_snr_testbed39.yaml | 14 +++++---- topologies/available/lf_3na_spr_testbed21.yaml | 39 ++++++++------------------ topologies/available/lf_3nb_spr_testbed22.yaml | 39 ++++++++------------------ 8 files changed, 72 insertions(+), 112 deletions(-) diff --git a/resources/libraries/python/QATUtil.py b/resources/libraries/python/QATUtil.py index e16221fb30..9c7f092a5d 100644 --- a/resources/libraries/python/QATUtil.py +++ b/resources/libraries/python/QATUtil.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023 Cisco and/or its affiliates. +# Copyright (c) 2025 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -51,28 +51,15 @@ class QATUtil: """ DUTSetup.verify_kernel_module(node, device["module"], force_load=True) - current_driver = DUTSetup.get_pci_dev_driver( - node, device["pci_address"].replace(":", r"\:") + exec_cmd_no_error( + node, f"adf_ctl {device["qat_dev"]} restart", + sudo=True, message="Failed to reset crypto device!" ) - if current_driver is not None: - DUTSetup.pci_driver_unbind(node, device["pci_address"]) - # Bind to kernel driver. - DUTSetup.pci_driver_bind(node, device["pci_address"], device["driver"]) - cmd = f"adf_ctl status | grep {device['pci_address']} | " - cmd += "awk '{print $1}'" - stdout, _ = exec_cmd_no_error( - node, cmd, sudo=True, message="Failed to check crypto device!" + exec_cmd_no_error( + node, f"adf_ctl {device["qat_dev"]} status", + sudo=True, retries=10, message="Failed to status crypto device!" ) - if stdout.strip(): - qat_dev = stdout.split("_")[-1] - conf_file = f"/etc/{device['driver']}_{qat_dev.strip()}.conf" - exec_cmd_no_error( - node, f"adf_ctl --config {conf_file} {stdout.strip()} restart", - sudo=True, message="Failed to restart crypto device!" - ) - else: - raise ValueError("Crypto device error") # Initialize QAT VFs. if int(device["numvfs"]) > 0: @@ -89,4 +76,4 @@ class QATUtil: ) DUTSetup.pci_vf_driver_bind( node, device["pci_address"], cvf, "vfio-pci" - ) + ) \ No newline at end of file diff --git a/topologies/available/lf_3n_emr_testbed28.yaml b/topologies/available/lf_3n_emr_testbed28.yaml index 7d9aff6b93..361a2e6fb6 100644 --- a/topologies/available/lf_3n_emr_testbed28.yaml +++ b/topologies/available/lf_3n_emr_testbed28.yaml @@ -48,9 +48,10 @@ nodes: cryptodev: device1: pci_address: "0000:70:00.0" - driver: "4xxx" - model: "HW_4xxx" - module: "qat_4xxx" + qat_dev: qat_dev0 + driver: 4xxx + model: HW_4xxx + module: qat_4xxx numvfs: 8 interfaces: port1: @@ -85,9 +86,10 @@ nodes: cryptodev: device1: pci_address: "0000:ed:00.0" - driver: "4xxx" - model: "HW_4xxx" - module: "qat_4xxx" + qat_dev: qat_dev1 + driver: 4xxx + model: HW_4xxx + module: qat_4xxx numvfs: 8 interfaces: port1: diff --git a/topologies/available/lf_3n_emr_testbed29.yaml b/topologies/available/lf_3n_emr_testbed29.yaml index 56d38a753e..44e141529f 100644 --- a/topologies/available/lf_3n_emr_testbed29.yaml +++ b/topologies/available/lf_3n_emr_testbed29.yaml @@ -20,13 +20,6 @@ nodes: pci_address: "0000:6a:01.0" driver: idxd model: Intel-DSA - cryptodev: - device1: - pci_address: "0000:70:00.0" - driver: "4xxx" - model: "HW_4xxx" - module: "qat_4xxx" - numvfs: 8 interfaces: port1: # s41-t29-tg1-c4/p1 - 100GE port1 Intel E810-2C-Q2 2p100GE. @@ -60,9 +53,10 @@ nodes: cryptodev: device1: pci_address: "0000:70:00.0" - driver: "4xxx" - model: "HW_4xxx" - module: "qat_4xxx" + qat_dev: qat_dev0 + driver: 4xxx + model: HW_4xxx + module: qat_4xxx numvfs: 8 interfaces: port1: @@ -97,9 +91,10 @@ nodes: cryptodev: device1: pci_address: "0000:ed:00.0" - driver: "4xxx" - model: "HW_4xxx" - module: "qat_4xxx" + qat_dev: qat_dev1 + driver: 4xxx + model: HW_4xxx + module: qat_4xxx numvfs: 8 interfaces: port1: diff --git a/topologies/available/lf_3n_icxd_testbed31.yaml b/topologies/available/lf_3n_icxd_testbed31.yaml index 3731188081..67bca99fef 100644 --- a/topologies/available/lf_3n_icxd_testbed31.yaml +++ b/topologies/available/lf_3n_icxd_testbed31.yaml @@ -42,9 +42,10 @@ nodes: cryptodev: device1: pci_address: "0000:81:00.0" - driver: "c4xxx" - model: "HW_C4xxx" - module: "qat_c4xxx" + qat_dev: qat_dev0 + driver: c4xxx + model: HW_C4xxx + module: qat_c4xxx numvfs: 8 uio_driver: vfio-pci interfaces: @@ -74,9 +75,10 @@ nodes: cryptodev: device1: pci_address: "0000:81:00.0" - driver: "c4xxx" - model: "HW_C4xxx" - module: "qat_c4xxx" + qat_dev: qat_dev0 + driver: c4xxx + model: HW_C4xxx + module: qat_c4xxx numvfs: 8 uio_driver: vfio-pci interfaces: diff --git a/topologies/available/lf_3n_icxd_testbed32.yaml b/topologies/available/lf_3n_icxd_testbed32.yaml index 7091a0c5cd..e65bc9ecdc 100644 --- a/topologies/available/lf_3n_icxd_testbed32.yaml +++ b/topologies/available/lf_3n_icxd_testbed32.yaml @@ -42,9 +42,10 @@ nodes: cryptodev: device1: pci_address: "0000:81:00.0" - driver: "c4xxx" - model: "HW_C4xxx" - module: "qat_c4xxx" + qat_dev: qat_dev0 + driver: c4xxx + model: HW_C4xxx + module: qat_c4xxx numvfs: 8 uio_driver: vfio-pci interfaces: @@ -74,9 +75,10 @@ nodes: cryptodev: device1: pci_address: "0000:81:00.0" - driver: "c4xxx" - model: "HW_C4xxx" - module: "qat_c4xxx" + qat_dev: qat_dev0 + driver: c4xxx + model: HW_C4xxx + module: qat_c4xxx numvfs: 8 uio_driver: vfio-pci interfaces: diff --git a/topologies/available/lf_3n_snr_testbed39.yaml b/topologies/available/lf_3n_snr_testbed39.yaml index 3ea57a2409..e15e704ccb 100644 --- a/topologies/available/lf_3n_snr_testbed39.yaml +++ b/topologies/available/lf_3n_snr_testbed39.yaml @@ -58,9 +58,10 @@ nodes: cryptodev: device1: pci_address: "0000:f4:00.0" - driver: "c4xxx" - model: "HW_C4xxx" - module: "qat_c4xxx" + qat_dev: qat_dev0 + driver: c4xxx + model: HW_C4xxx + module: qat_c4xxx numvfs: 8 uio_driver: vfio-pci interfaces: @@ -106,9 +107,10 @@ nodes: cryptodev: device1: pci_address: "0000:f4:00.0" - driver: "c4xxx" - model: "HW_C4xxx" - module: "qat_c4xxx" + qat_dev: qat_dev0 + driver: c4xxx + model: HW_C4xxx + module: qat_c4xxx numvfs: 8 uio_driver: vfio-pci interfaces: diff --git a/topologies/available/lf_3na_spr_testbed21.yaml b/topologies/available/lf_3na_spr_testbed21.yaml index 76613924cf..e6a42df682 100644 --- a/topologies/available/lf_3na_spr_testbed21.yaml +++ b/topologies/available/lf_3na_spr_testbed21.yaml @@ -27,16 +27,11 @@ nodes: cryptodev: device1: pci_address: "0000:76:00.0" - driver: "4xxx" - model: "HW_4xxx" - module: "qat_4xxx" + qat_dev: qat_dev0 + driver: 4xxx + model: HW_4xxx + module: qat_4xxx numvfs: 8 - #device2: - # pci_address: "0000:7a:00.0" - # driver: "4xxx" - # model: "HW_4xxx" - # module: "qat_4xxx" - # numvfs: 8 interfaces: port1: # s53-t21-tg1-c4/p1 - 200GE port1 Mellanox ConnectX7-2p200GE. @@ -122,16 +117,11 @@ nodes: cryptodev: device1: pci_address: "0000:76:00.0" - driver: "4xxx" - model: "HW_4xxx" - module: "qat_4xxx" + qat_dev: qat_dev0 + driver: 4xxx + model: HW_4xxx + module: qat_4xxx numvfs: 8 - #device2: - # pci_address: "0000:7a:00.0" - # driver: "4xxx" - # model: "HW_4xxx" - # module: "qat_4xxx" - # numvfs: 8 interfaces: port1: # s52-t21-sut1-c4/p1 - 200GE port1 Mellanox ConnectX7-2p200GE. @@ -201,16 +191,11 @@ nodes: cryptodev: device1: pci_address: "0000:f3:00.0" - driver: "4xxx" - model: "HW_4xxx" - module: "qat_4xxx" + qat_dev: qat_dev1 + driver: 4xxx + model: HW_4xxx + module: qat_4xxx numvfs: 8 - #device2: - # pci_address: "0000:f7:00.0" - # driver: "4xxx" - # model: "HW_4xxx" - # module: "qat_4xxx" - # numvfs: 8 interfaces: port1: # s52-t21-sut2-c9/p1 - 200GE port1 Mellanox ConnectX7-2p200GE. diff --git a/topologies/available/lf_3nb_spr_testbed22.yaml b/topologies/available/lf_3nb_spr_testbed22.yaml index 0d080e8c4e..2ac433fd27 100644 --- a/topologies/available/lf_3nb_spr_testbed22.yaml +++ b/topologies/available/lf_3nb_spr_testbed22.yaml @@ -27,16 +27,11 @@ nodes: cryptodev: device1: pci_address: "0000:76:00.0" - driver: "4xxx" - model: "HW_4xxx" - module: "qat_4xxx" + qat_dev: qat_dev0 + driver: 4xxx + model: HW_4xxx + module: qat_4xxx numvfs: 8 - #device2: - # pci_address: "0000:7a:00.0" - # driver: "4xxx" - # model: "HW_4xxx" - # module: "qat_4xxx" - # numvfs: 8 interfaces: port1: # s55-t22-tg1-c4/p1 - 100GE port1 Intel E810-CQDA2 2p100GE. @@ -90,16 +85,11 @@ nodes: cryptodev: device1: pci_address: "0000:76:00.0" - driver: "4xxx" - model: "HW_4xxx" - module: "qat_4xxx" + qat_dev: qat_dev0 + driver: 4xxx + model: HW_4xxx + module: qat_4xxx numvfs: 8 - #device2: - # pci_address: "0000:7a:00.0" - # driver: "4xxx" - # model: "HW_4xxx" - # module: "qat_4xxx" - # numvfs: 8 interfaces: port1: # s54-t22-sut1-c4/p1 - 100GE port1 Intel E810-CQDA2 2p100GE. @@ -153,16 +143,11 @@ nodes: cryptodev: device1: pci_address: "0000:f3:00.0" - driver: "4xxx" - model: "HW_4xxx" - module: "qat_4xxx" + qat_dev: qat_dev1 + driver: 4xxx + model: HW_4xxx + module: qat_4xxx numvfs: 8 - #device2: - # pci_address: "0000:f7:00.0" - # driver: "4xxx" - # model: "HW_4xxx" - # module: "qat_4xxx" - # numvfs: 8 interfaces: port1: # s54-t22-sut1-c9/p1 - 100GE port1 Intel E810-CQDA2 2p100GE. -- 2.16.6