You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/nw-sriov-networknodepolicy-object.adoc
+32-27Lines changed: 32 additions & 27 deletions
Original file line number
Diff line number
Diff line change
@@ -25,17 +25,18 @@ spec:
25
25
mtu: <mtu> <6>
26
26
needVhostNet: false <7>
27
27
numVfs: <num> <8>
28
-
nicSelector: <9>
29
-
vendor: "<vendor_code>" <10>
30
-
deviceID: "<device_id>" <11>
31
-
pfNames: ["<pf_name>", ...] <12>
32
-
rootDevices: ["<pci_bus_id>", ...] <13>
33
-
netFilter: "<filter_string>" <14>
34
-
deviceType: <device_type> <15>
35
-
isRdma: false <16>
36
-
linkType: <link_type> <17>
37
-
eSwitchMode: <mode> <18>
38
-
excludeTopology: false <19>
28
+
externallyManaged: false <9>
29
+
nicSelector: <10>
30
+
vendor: "<vendor_code>" <11>
31
+
deviceID: "<device_id>" <12>
32
+
pfNames: ["<pf_name>", ...] <13>
33
+
rootDevices: ["<pci_bus_id>", ...] <14>
34
+
netFilter: "<filter_string>" <15>
35
+
deviceType: <device_type> <16>
36
+
isRdma: false <17>
37
+
linkType: <link_type> <18>
38
+
eSwitchMode: "switchdev" <19>
39
+
excludeTopology: false <20>
39
40
----
40
41
<1> The name for the custom resource object.
41
42
@@ -67,43 +68,47 @@ If you want to create virtual function on the default network interface, ensure
67
68
68
69
<8> The number of the virtual functions (VF) to create for the SR-IOV physical network device. For an Intel network interface controller (NIC), the number of VFs cannot be larger than the total VFs supported by the device. For a Mellanox NIC, the number of VFs cannot be larger than `128`.
69
70
70
-
<9> The NIC selector identifies the device for the Operator to configure. You do not have to specify values for all the parameters. It is recommended to identify the network device with enough precision to avoid selecting a device unintentionally.
71
+
<9> Set `externallyManaged` to `true` to allow the SR-IOV Network Operator to use all or a subset of externally managed virtual functions (VFs) and attach them to pods. With the value set to `false` the SR-IOV Network Operator manages and configures all allocated VFs.
72
+
+
73
+
[NOTE]
74
+
====
75
+
When `externallyManaged` is set to `true`, you must create the Virtual Functions (VFs) before applying the policy. If not, the webhook will block the request.
76
+
If `externallyManaged` is set to `false`, the SR-IOV Network Operator handles the creation and management of VFs, including resetting them if necessary. Therefore to use VFs on the host system they must be created manually and `externallyManaged` must be set to `true` so the SR-IOV Network Operator will not take any actions on the PF and the VFs that are not defined in the policy `nicSelector`.
77
+
====
78
+
79
+
<10> The NIC selector identifies the device for the Operator to configure. You do not have to specify values for all the parameters. It is recommended to identify the network device with enough precision to avoid selecting a device unintentionally.
71
80
+
72
81
If you specify `rootDevices`, you must also specify a value for `vendor`, `deviceID`, or `pfNames`. If you specify both `pfNames` and `rootDevices` at the same time, ensure that they refer to the same device. If you specify a value for `netFilter`, then you do not need to specify any other parameter because a network ID is unique.
73
82
74
-
<10> Optional: The vendor hexadecimal code of the SR-IOV network device. The only allowed values are `8086` and `15b3`.
83
+
<11> Optional: The vendor hexadecimal code of the SR-IOV network device. The only allowed values are `8086` and `15b3`.
75
84
76
-
<11> Optional: The device hexadecimal code of the SR-IOV network device. For example, `101b` is the device ID for a Mellanox ConnectX-6 device.
85
+
<12> Optional: The device hexadecimal code of the SR-IOV network device. For example, `101b` is the device ID for a Mellanox ConnectX-6 device.
77
86
78
-
<12> Optional: An array of one or more physical function (PF) names for the device.
87
+
<13> Optional: An array of one or more physical function (PF) names for the device.
79
88
80
-
<13> Optional: An array of one or more PCI bus addresses for the PF of the device. Provide the address in the following format: `0000:02:00.1`.
89
+
<14> Optional: An array of one or more PCI bus addresses for the PF of the device. Provide the address in the following format: `0000:02:00.1`.
81
90
82
-
<14> Optional: The platform-specific network filter. The only supported platform is {rh-openstack-first}. Acceptable values use the following format: `openstack/NetworkID:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`. Replace `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` with the value from the `/var/config/openstack/latest/network_data.json` metadata file.
91
+
<15> Optional: The platform-specific network filter. The only supported platform is {rh-openstack-first}. Acceptable values use the following format: `openstack/NetworkID:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`. Replace `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` with the value from the `/var/config/openstack/latest/network_data.json` metadata file.
83
92
84
-
<15> Optional: The driver type for the virtual functions. The only allowed values are `netdevice` and `vfio-pci`. The default value is `netdevice`.
93
+
<16> Optional: The driver type for the virtual functions. The only allowed values are `netdevice` and `vfio-pci`. The default value is `netdevice`.
85
94
+
86
95
For a Mellanox NIC to work in DPDK mode on bare metal nodes, use the `netdevice` driver type and set `isRdma` to `true`.
87
96
88
-
<16> Optional: Configures whether to enable remote direct memory access (RDMA) mode. The default value is `false`.
97
+
<17> Optional: Configures whether to enable remote direct memory access (RDMA) mode. The default value is `false`.
89
98
+
90
99
If the `isRdma` parameter is set to `true`, you can continue to use the RDMA-enabled VF as a normal network device. A device can be used in either mode.
91
100
+
92
101
Set `isRdma` to `true` and additionally set `needVhostNet` to `true` to configure a Mellanox NIC for use with Fast Datapath DPDK applications.
93
102
94
-
<17> Optional: The link type for the VFs. The default value is `eth` for Ethernet. Change this value to 'ib' for InfiniBand.
103
+
<18> Optional: The link type for the VFs. The default value is `eth` for Ethernet. Change this value to 'ib' for InfiniBand.
95
104
+
96
105
When `linkType` is set to `ib`, `isRdma` is automatically set to `true` by the SR-IOV Network Operator webhook. When `linkType` is set to `ib`, `deviceType` should not be set to `vfio-pci`.
97
106
+
98
-
Do not set linkType to 'eth' for SriovNetworkNodePolicy, because this can lead to an incorrect number of available devices reported by the device plugin.
107
+
Do not set linkType to `eth` for SriovNetworkNodePolicy, because this can lead to an incorrect number of available devices reported by the device plugin.
99
108
100
-
<18> Optional: The NIC device mode. The only allowed values are `legacy` or `switchdev`.
101
-
+
102
-
When `eSwitchMode` is set to `legacy`, the default SR-IOV behavior is enabled.
103
-
+
104
-
When `eSwitchMode` is set to `switchdev`, hardware offloading is enabled.
109
+
<19> Optional: To enable hardware offloading, the `eSwitchMode` field must be set to `"switchdev"`.
105
110
106
-
<19> Optional: To exclude advertising an SR-IOV network resource's NUMA node to the Topology Manager, set the value to `true`. The default value is `false`.
111
+
<20> Optional: To exclude advertising an SR-IOV network resource's NUMA node to the Topology Manager, set the value to `true`. The default value is `false`.
0 commit comments