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.