github.com/k8snetworkplumbingwg/sriov-network-operator@v1.2.1-0.20240408194816-2d2e5a45d453/doc/supported-hardware.md (about) 1 # Supported Hardware 2 3 The following SR-IOV capable hardware is supported with sriov-network-operator: 4 5 | Model | Vendor ID | Device ID | 6 | ------------------------ | --------- | --------- | 7 | Intel XXV710 Family | 8086 | 158b | 8 | Intel X710 10GbE Backplane | 8086 | 1581 | 9 | Intel X710 10GbE Base T | 8086 | 15ff | 10 | Intel X550 Family | 8086 | 1563 | 11 | Intel X557 Family | 8086 | 1589 | 12 | Intel E810 Family | 8086 | 1591 | 13 | Intel E810-CQDA2/2CQDA2 Family | 8086 | 1592 | 14 | Intel E810-XXVDA4 Family | 8086 | 1593 | 15 | Intel E810-XXVDA2 Family | 8086 | 159b | 16 | Intel E823-C Family | 8086 | 188a | 17 | Mellanox MT27700 Family [ConnectX-4] | 15b3 | 1013 | 18 | Mellanox MT27710 Family [ConnectX-4 Lx] | 15b3 | 1015 | 19 | Mellanox MT27800 Family [ConnectX-5] | 15b3 | 1017 | 20 | Mellanox MT28800 Family [ConnectX-5 Ex] | 15b3 | 1019 | 21 | Mellanox MT28908 Family [ConnectX-6] | 15b3 | 101b | 22 | Mellanox MT28908 Family [ConnectX-6 Dx] | 15b3 | 101d | 23 | Mellanox MT28908 Family [ConnectX-6 Lx] | 15b3 | 101f | 24 | Mellanox MT2910 Family [ConnectX-7 | 15b3 | 1021 | 25 | Mellanox MT42822 BlueField-2 integrated ConnectX-6 Dx | 15b3 | a2d6 | 26 | Mellanox MT43244 BlueField-3 integrated ConnectX-7 Dx | 15b3 | a2dc | 27 | Qlogic QL45000 Series 50GbE Controller | 1077 | 1654 | 28 | Marvell OCTEON TX2 CN96XX | 177d | b200 | 29 | Marvell OCTEON TX2 CN98XX | 177d | b100 | 30 | Marvell OCTEON Fusion CNF95XX | 177d | b600 | 31 | Marvell OCTEON 10 CN10XXX | 177d | b900 | 32 | Marvell OCTEON Fusion CNF105XX | 177d | ba00 | 33 34 > **Note:** sriov-network-operator maintains a list of supported NICs which it supports. 35 > These are stored in supported-nic-ids [configMap](https://github.com/k8snetworkplumbingwg/sriov-network-operator/blob/master/deployment/sriov-network-operator/templates/configmap.yaml). 36 > The operator uses this list to enforce it only operates on NICs that are supported. For unsupported SR-IOV NICs, that is not guaranteed, but might work as well. 37 > To have sriov-network-operator operate on an unsupported NIC, after installing the operator, you have to add the unsupported SR-IOV NICs information to the ConfigMap 38 > in following format: `<nic_name>: <vender_id> <pf_device_id> <vf_device_id>`. 39 > Then restart the config daemon and operator webhook pods. 40 41 ## Supported features per hardware 42 43 The following table depicts the supported SR-IOV hardware features of each supported hardware: 44 45 | Model | SR-IOV Kernel | SR-IOV DPDK | SR-IOV Hardware Offload (switchdev) | 46 | ------------------------ | ------------- | ----------- |------------------------------------ | 47 | Intel XXV710 Family | V | V | X | 48 | Intel X710 10GbE Backplane | V | V | X | 49 | Intel X710 10GbE Base T | V | V | X | 50 | Intel X550 Family | V | V | X | 51 | Intel X557 Family | V | V | X | 52 | Intel E810 Family | V | V | X | 53 | Intel E810-CQDA2/2CQDA2 Family | V | V | X | 54 | Intel E810-XXVDA4 Family | V | V | X | 55 | Intel E810-XXVDA2 Family | V | V | X | 56 | Intel E823-C Family | V | V | X | 57 | Mellanox MT27700 Family [ConnectX-4] | V | V | V | 58 | Mellanox MT27710 Family [ConnectX-4 Lx] | V | V | V | 59 | Mellanox MT27800 Family [ConnectX-5] | V | V | V | 60 | Mellanox MT28800 Family [ConnectX-5 Ex] | V | V | V | 61 | Mellanox MT28908 Family [ConnectX-6] | V | V | V | 62 | Mellanox MT28908 Family [ConnectX-6 Dx] | V | V | V | 63 | Mellanox MT28908 Family [ConnectX-6 Lx] | V | V | V | 64 | Mellanox MT28908 Family [ConnectX-7] | V | V | V | 65 | Mellanox MT42822 BlueField-2 integrated ConnectX-6 Dx | V | V | V | 66 | Mellanox MT43244 BlueField-3 integrated ConnectX-6 Dx | V | V | V | 67 | Qlogic QL45000 Series 50GbE Controller | V | X | X | 68 | Marvell OCTEON TX2 CN96XX | V | V | X | 69 | Marvell OCTEON TX2 CN98XX | V | V | X | 70 | Marvell OCTEON Fusion CNF95XX | V | V | X | 71 | Marvell OCTEON 10 CN10XXX | V | V | X | 72 | Marvell OCTEON Fusion CNF105XX | V | V | X | 73 | Red_Hat_Virtio_network_device | X | V | X | 74 | Red_Hat_Virtio_1_0_network_device | X | V | X | 75 76 # Adding new Hardware 77 78 ## Initial support 79 Vendors (or other parties) interested in adding a new supported hardware to the supported list of devices of sriov-network-operator 80 should follow the following procedure: 81 82 * Open an Issue requesting to add support for new hardware 83 * Specify which hardware it is (Model, Vendor ID, Device ID) 84 * Perform Testing on requested hardware using: 85 * Kubernetes last release 86 * Either last release version or master version of sriov-network-operator 87 * Note: We do not have a specifc list of test-cases however you should at a minimum ensure 88 sriov-network-operator is able to properly discover your device, configure SR-IOV and 89 expose them as a kubernetes node resource, and you are able to run workloads consuming 90 those resources. 91 * Add information of what was tested to the issue opened 92 * Add contact point information to [vendor-support.md](https://github.com/k8snetworkplumbingwg/sriov-network-operator/blob/master/doc/vendor-support.md), so we know who to reach out if issues arise when running sriov-network-operator against the specified hardware. 93 * Submit PR to add your device to this file as well as to supported-nic-ids configMap [here](https://github.com/k8snetworkplumbingwg/sriov-network-operator/blob/master/deployment/sriov-network-operator/templates/configmap.yaml) and [here](https://github.com/k8snetworkplumbingwg/sriov-network-operator/blob/master/deploy/configmap.yaml). 94 * The tables above should be updated according to what was tested 95 96 ## Continuous support 97 To ensure sriov-network-operator continues to operate as expected on supported hardware it is recommended that hardware vendors (or another party) 98 adds CI which runs against PRs in the project. Without it we cannot commit for sriov-network-operator to continue to work properly on the specified 99 hardware. 100 101 Additional information on how to add Vendor/3rd-party CI can be found [here](https://github.com/k8snetworkplumbingwg/sriov-network-operator/tree/master/ci). 102 103 ### E2E tests 104 105 sriov-network-operator offers a set of e2e tests vendors can run on their hardware. These tests utilize [Kind](https://kind.sigs.k8s.io/) to spin up 106 a Kubernetes cluster and run tests. Information on how to run e2e tests can be found [here](https://github.com/k8snetworkplumbingwg/sriov-network-operator/blob/master/doc/testing-kind.md). 107 These tests may be used as part of vendor CIs added to the project to validate sriov-network-operator is able to operate 108 on the relevant hardware. 109 110 >**Note:** The maintainers of this project reserve the right to remove a device from the supported list if issues arise on that hardware. 111 > this will be done only after attempting to contact the contact point provided by a specific vendor to address the issues.