mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-05 21:46:22 +01:00
Merge pull request #89963 from openshift-cherrypick-robot/cherry-pick-86437-to-enterprise-4.19
[enterprise-4.19] OSDOCS-8677-SRIOV-1: First ContentX PR for reorg of SR-IOV
This commit is contained in:
@@ -1573,8 +1573,6 @@ Topics:
|
||||
File: configuring-sriov-ib-attach
|
||||
- Name: Configuring an RDMA subsystem for SR-IOV
|
||||
File: configuring-sriov-rdma-cni
|
||||
- Name: Adding a pod to an SR-IOV network
|
||||
File: add-pod
|
||||
- Name: Configuring interface-level network sysctl settings and all-multicast mode for SR-IOV networks
|
||||
File: configuring-interface-sysctl-sriov-device
|
||||
- Name: Configuring QinQ support for SR-IOV networks
|
||||
|
||||
@@ -44,6 +44,5 @@ After you perform preinstallation tasks, install your cluster by following the m
|
||||
** xref:../../machine_management/creating_machinesets/creating-machineset-osp.adoc#machineset-yaml-osp-sr-iov_creating-machineset-osp[Create SR-IOV compute machines].
|
||||
* Consult the following references after you deploy your cluster to improve its performance:
|
||||
** xref:../../networking/hardware_networks/using-dpdk-and-rdma.adoc#nw-openstack-ovs-dpdk-testpmd-pod_using-dpdk-and-rdma[A test pod template for clusters that use OVS-DPDK on OpenStack].
|
||||
** xref:../../networking/hardware_networks/add-pod.adoc#nw-openstack-sr-iov-testpmd-pod_add-pod[A test pod template for clusters that use SR-IOV on OpenStack].
|
||||
** xref:../../networking/hardware_networks/configuring-sriov-device.adoc#nw-openstack-sr-iov-testpmd-pod_configuring-sriov-device[A test pod template for clusters that use SR-IOV on OpenStack].
|
||||
** xref:../../scalability_and_performance/cnf-tuning-low-latency-nodes-with-perf-profile.adoc#installation-openstack-ovs-dpdk-performance-profile_cnf-low-latency-perf-profile[A performance profile template for clusters that use OVS-DPDK on OpenStack]
|
||||
.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
//networking/hardware_networks/configuring-sriov-device.adoc
|
||||
|
||||
:_mod-docs-content-type: PROCEDURE
|
||||
:_mod-docs-content-type: CONCEPT
|
||||
[id="cnf-assigning-a-sriov-network-to-a-vrf_{context}"]
|
||||
= Assigning an SR-IOV network to a VRF
|
||||
|
||||
@@ -16,118 +16,3 @@ Applications that use VRFs need to bind to a specific device. The common usage i
|
||||
|
||||
Using a VRF through the `ip vrf exec` command is not supported in {product-title} pods. To use VRF, bind applications directly to the VRF interface.
|
||||
====
|
||||
|
||||
[id="cnf-creating-an-additional-sriov-network-with-vrf-plug-in_{context}"]
|
||||
== Creating an additional SR-IOV network attachment with the CNI VRF plugin
|
||||
|
||||
The SR-IOV Network Operator manages additional network definitions. When you specify an additional SR-IOV network to create, the SR-IOV Network Operator creates the `NetworkAttachmentDefinition` custom resource (CR) automatically.
|
||||
|
||||
[NOTE]
|
||||
====
|
||||
Do not edit `NetworkAttachmentDefinition` custom resources that the SR-IOV Network Operator manages. Doing so might disrupt network traffic on your additional network.
|
||||
====
|
||||
|
||||
To create an additional SR-IOV network attachment with the CNI VRF plugin, perform the following procedure.
|
||||
|
||||
.Prerequisites
|
||||
|
||||
* Install the {product-title} CLI (oc).
|
||||
* Log in to the {product-title} cluster as a user with cluster-admin privileges.
|
||||
|
||||
.Procedure
|
||||
|
||||
. Create the `SriovNetwork` custom resource (CR) for the additional SR-IOV network attachment and insert the `metaPlugins` configuration, as in the following example CR. Save the YAML as the file `sriov-network-attachment.yaml`.
|
||||
+
|
||||
[source,yaml]
|
||||
----
|
||||
apiVersion: sriovnetwork.openshift.io/v1
|
||||
kind: SriovNetwork
|
||||
metadata:
|
||||
name: example-network
|
||||
namespace: additional-sriov-network-1
|
||||
spec:
|
||||
ipam: |
|
||||
{
|
||||
"type": "host-local",
|
||||
"subnet": "10.56.217.0/24",
|
||||
"rangeStart": "10.56.217.171",
|
||||
"rangeEnd": "10.56.217.181",
|
||||
"routes": [{
|
||||
"dst": "0.0.0.0/0"
|
||||
}],
|
||||
"gateway": "10.56.217.1"
|
||||
}
|
||||
vlan: 0
|
||||
resourceName: intelnics
|
||||
metaPlugins : |
|
||||
{
|
||||
"type": "vrf", <1>
|
||||
"vrfname": "example-vrf-name" <2>
|
||||
}
|
||||
----
|
||||
<1> `type` must be set to `vrf`.
|
||||
<2> `vrfname` is the name of the VRF that the interface is assigned to. If it does not exist in the pod, it is created.
|
||||
|
||||
. Create the `SriovNetwork` resource:
|
||||
+
|
||||
[source,terminal]
|
||||
----
|
||||
$ oc create -f sriov-network-attachment.yaml
|
||||
----
|
||||
|
||||
.Verifying that the `NetworkAttachmentDefinition` CR is successfully created
|
||||
|
||||
* Confirm that the SR-IOV Network Operator created the `NetworkAttachmentDefinition` CR by running the following command.
|
||||
+
|
||||
[source,terminal]
|
||||
----
|
||||
$ oc get network-attachment-definitions -n <namespace> <1>
|
||||
----
|
||||
<1> Replace `<namespace>` with the namespace that you specified when configuring the network attachment, for example, `additional-sriov-network-1`.
|
||||
+
|
||||
.Example output
|
||||
[source,terminal]
|
||||
----
|
||||
NAME AGE
|
||||
additional-sriov-network-1 14m
|
||||
----
|
||||
+
|
||||
[NOTE]
|
||||
====
|
||||
There might be a delay before the SR-IOV Network Operator creates the CR.
|
||||
====
|
||||
|
||||
.Verifying that the additional SR-IOV network attachment is successful
|
||||
|
||||
To verify that the VRF CNI is correctly configured and the additional SR-IOV network attachment is attached, do the following:
|
||||
|
||||
. Create an SR-IOV network that uses the VRF CNI.
|
||||
. Assign the network to a pod.
|
||||
. Verify that the pod network attachment is connected to the SR-IOV additional network. Remote shell into the pod and run the following command:
|
||||
+
|
||||
[source,terminal]
|
||||
----
|
||||
$ ip vrf show
|
||||
----
|
||||
+
|
||||
.Example output
|
||||
[source,terminal]
|
||||
----
|
||||
Name Table
|
||||
-----------------------
|
||||
red 10
|
||||
----
|
||||
. Confirm the VRF interface is master of the secondary interface:
|
||||
+
|
||||
[source,terminal]
|
||||
----
|
||||
$ ip link
|
||||
----
|
||||
+
|
||||
.Example output
|
||||
[source,terminal]
|
||||
----
|
||||
...
|
||||
5: net1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master red state UP mode
|
||||
...
|
||||
----
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
// Module included in the following assemblies:
|
||||
//
|
||||
//networking/hardware_networks/configuring-sriov-device.adoc
|
||||
|
||||
:_mod-docs-content-type: PROCEDURE
|
||||
[id="cnf-creating-an-additional-sriov-network-with-vrf-plug-in_{context}"]
|
||||
= Creating an additional SR-IOV network attachment with the CNI VRF plugin
|
||||
|
||||
The SR-IOV Network Operator manages additional network definitions. When you specify an additional SR-IOV network to create, the SR-IOV Network Operator creates the `NetworkAttachmentDefinition` custom resource (CR) automatically.
|
||||
|
||||
[NOTE]
|
||||
====
|
||||
Do not edit `NetworkAttachmentDefinition` custom resources that the SR-IOV Network Operator manages. Doing so might disrupt network traffic on your additional network.
|
||||
====
|
||||
|
||||
To create an additional SR-IOV network attachment with the CNI VRF plugin, perform the following procedure.
|
||||
|
||||
.Prerequisites
|
||||
|
||||
* Install the {product-title} CLI (oc).
|
||||
* Log in to the {product-title} cluster as a user with cluster-admin privileges.
|
||||
|
||||
.Procedure
|
||||
|
||||
. Create the `SriovNetwork` custom resource (CR) for the additional SR-IOV network attachment and insert the `metaPlugins` configuration, as in the following example CR. Save the YAML as the file `sriov-network-attachment.yaml`.
|
||||
+
|
||||
.Example `SriovNetwork` custom resource (CR) example
|
||||
[source,yaml]
|
||||
----
|
||||
apiVersion: sriovnetwork.openshift.io/v1
|
||||
kind: SriovNetwork
|
||||
metadata:
|
||||
name: example-network
|
||||
namespace: additional-sriov-network-1
|
||||
spec:
|
||||
ipam: |
|
||||
{
|
||||
"type": "host-local",
|
||||
"subnet": "10.56.217.0/24",
|
||||
"rangeStart": "10.56.217.171",
|
||||
"rangeEnd": "10.56.217.181",
|
||||
"routes": [{
|
||||
"dst": "0.0.0.0/0"
|
||||
}],
|
||||
"gateway": "10.56.217.1"
|
||||
}
|
||||
vlan: 0
|
||||
resourceName: intelnics
|
||||
metaPlugins : |
|
||||
{
|
||||
"type": "vrf", <1>
|
||||
"vrfname": "example-vrf-name" <2>
|
||||
}
|
||||
----
|
||||
<1> `type` must be set to `vrf`.
|
||||
<2> `vrfname` is the name of the VRF that the interface is assigned to. If it does not exist in the pod, it is created.
|
||||
|
||||
. Create the `SriovNetwork` resource:
|
||||
+
|
||||
[source,terminal]
|
||||
----
|
||||
$ oc create -f sriov-network-attachment.yaml
|
||||
----
|
||||
|
||||
.Verifying that the `NetworkAttachmentDefinition` CR is successfully created
|
||||
|
||||
* Confirm that the SR-IOV Network Operator created the `NetworkAttachmentDefinition` CR by running the following command:
|
||||
+
|
||||
[source,terminal]
|
||||
----
|
||||
$ oc get network-attachment-definitions -n <namespace> <1>
|
||||
----
|
||||
<1> Replace `<namespace>` with the namespace that you specified when configuring the network attachment, for example, `additional-sriov-network-1`.
|
||||
+
|
||||
.Example output
|
||||
[source,terminal]
|
||||
----
|
||||
NAME AGE
|
||||
additional-sriov-network-1 14m
|
||||
----
|
||||
+
|
||||
[NOTE]
|
||||
====
|
||||
There might be a delay before the SR-IOV Network Operator creates the CR.
|
||||
====
|
||||
|
||||
.Verifying that the additional SR-IOV network attachment is successful
|
||||
|
||||
To verify that the VRF CNI is correctly configured and that the additional SR-IOV network attachment is attached, do the following:
|
||||
|
||||
. Create an SR-IOV network that uses the VRF CNI.
|
||||
. Assign the network to a pod.
|
||||
. Verify that the pod network attachment is connected to the SR-IOV additional network. Remote shell into the pod and run the following command:
|
||||
+
|
||||
[source,terminal]
|
||||
----
|
||||
$ ip vrf show
|
||||
----
|
||||
+
|
||||
.Example output
|
||||
[source,terminal]
|
||||
----
|
||||
Name Table
|
||||
-----------------------
|
||||
red 10
|
||||
----
|
||||
. Confirm that the VRF interface is `master` of the secondary interface by running the following command:
|
||||
+
|
||||
[source,terminal]
|
||||
----
|
||||
$ ip link
|
||||
----
|
||||
+
|
||||
.Example output
|
||||
[source,terminal]
|
||||
----
|
||||
...
|
||||
5: net1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master red state UP mode
|
||||
...
|
||||
----
|
||||
@@ -1,7 +1,8 @@
|
||||
// Module included in the following assemblies:
|
||||
//
|
||||
// * networking/multiple_networks/attaching-pod.adoc
|
||||
// * networking/hardware_networks/add-pod.adoc
|
||||
// * networking/hardware_networks/configuring-sriov-ib-attach.adoc
|
||||
// * networking/hardware_networks/configuring-sriov-net-attach.adoc
|
||||
|
||||
ifeval::["{context}" == "configuring-sr-iov"]
|
||||
:sriov:
|
||||
|
||||
@@ -9,13 +9,9 @@
|
||||
// for the Macvlan CNI plugin only. In the future other Multus plugins
|
||||
// might be managed the same way by the CNO.
|
||||
|
||||
ifeval::["{context}" == "configuring-sriov-net-attach"]
|
||||
:sr-iov:
|
||||
endif::[]
|
||||
|
||||
:_mod-docs-content-type: CONCEPT
|
||||
[id="nw-multus-ipam-object_{context}"]
|
||||
= Configuration of IP address assignment for an additional network
|
||||
= Configuration of IP address assignment for a network attachment
|
||||
|
||||
The IP address management (IPAM) Container Network Interface (CNI) plugin provides IP addresses for other CNI plugins.
|
||||
|
||||
@@ -26,8 +22,7 @@ You can use the following IP address assignment types:
|
||||
- Dynamic assignment through the Whereabouts IPAM CNI plugin.
|
||||
|
||||
////
|
||||
IMPORTANT: If you set the `type` parameter to the `DHCP` value, you cannot set
|
||||
any other parameters.
|
||||
IMPORTANT: If you set the `type` parameter to the `DHCP` value, you cannot set any other parameters.
|
||||
////
|
||||
|
||||
[id="nw-multus-static_{context}"]
|
||||
@@ -130,16 +125,12 @@ such as `example-host`, during a DNS lookup query.
|
||||
[id="nw-multus-dhcp_{context}"]
|
||||
== Dynamic IP address (DHCP) assignment configuration
|
||||
|
||||
The following JSON describes the configuration for dynamic IP address address assignment with DHCP.
|
||||
|
||||
.Renewal of DHCP leases
|
||||
[IMPORTANT]
|
||||
====
|
||||
A pod obtains its original DHCP lease when it is created. The lease must be periodically renewed by a minimal DHCP server deployment running on the cluster.
|
||||
|
||||
ifdef::sr-iov[]
|
||||
The SR-IOV Network Operator does not create a DHCP server deployment; The Cluster Network Operator is responsible for creating the minimal DHCP server deployment.
|
||||
endif::sr-iov[]
|
||||
[IMPORTANT]
|
||||
====
|
||||
For an Ethernet network attachment, the SR-IOV Network Operator does not create a DHCP server deployment; the Cluster Network Operator is responsible for creating the minimal DHCP server deployment.
|
||||
====
|
||||
|
||||
To trigger the deployment of the DHCP server, you must create a shim network attachment by editing the Cluster Network Operator configuration, as in the following example:
|
||||
|
||||
@@ -166,7 +157,8 @@ spec:
|
||||
}
|
||||
# ...
|
||||
----
|
||||
====
|
||||
|
||||
The following table describes the configuration parameters for dynamic IP address address assignment with DHCP.
|
||||
|
||||
.`ipam` DHCP configuration object
|
||||
[cols=".^2,.^2,.^6",options="header"]
|
||||
@@ -179,6 +171,8 @@ spec:
|
||||
|
||||
|====
|
||||
|
||||
The following JSON example describes the configuration p for dynamic IP address address assignment with DHCP.
|
||||
|
||||
.Dynamic IP address (DHCP) assignment configuration example
|
||||
[source,json]
|
||||
----
|
||||
@@ -274,7 +268,3 @@ The following example shows a dynamic IP address assignment that uses overlappin
|
||||
}
|
||||
----
|
||||
<1> Optional. If set, must match the `network_name` of `NetworkAttachmentDefinition 1`.
|
||||
|
||||
ifdef::sr-iov[]
|
||||
:!sr-iov:
|
||||
endif::[]
|
||||
@@ -1,6 +1,6 @@
|
||||
// Module included in the following assemblies:
|
||||
//
|
||||
// * networking/hardware_networks/add-pod.adoc
|
||||
// * networking/hardware_networks/configuring-sriov-device.adoc
|
||||
|
||||
:_mod-docs-content-type: REFERENCE
|
||||
[id="nw-openstack-ovs-sr-iov-testpmd-pod_{context}"]
|
||||
|
||||
57
modules/nw-sr-iov-network-node-configuration-examples.adoc
Normal file
57
modules/nw-sr-iov-network-node-configuration-examples.adoc
Normal file
@@ -0,0 +1,57 @@
|
||||
// Module included in the following assemblies:
|
||||
//
|
||||
// * networking/hardware_networks/configuring-sriov-device.adoc
|
||||
|
||||
:_mod-docs-content-type: REFERENCE
|
||||
[id="nw-sr-iov-network-node-configuration-examples_{context}"]
|
||||
= SR-IOV network node configuration examples
|
||||
|
||||
The following example describes the configuration for an InfiniBand device:
|
||||
|
||||
.Example configuration for an InfiniBand device
|
||||
[source,yaml]
|
||||
----
|
||||
apiVersion: sriovnetwork.openshift.io/v1
|
||||
kind: SriovNetworkNodePolicy
|
||||
metadata:
|
||||
name: <name>
|
||||
namespace: openshift-sriov-network-operator
|
||||
spec:
|
||||
resourceName: <sriov_resource_name>
|
||||
nodeSelector:
|
||||
feature.node.kubernetes.io/network-sriov.capable: "true"
|
||||
numVfs: <num>
|
||||
nicSelector:
|
||||
vendor: "<vendor_code>"
|
||||
deviceID: "<device_id>"
|
||||
rootDevices:
|
||||
- "<pci_bus_id>"
|
||||
linkType: <link_type>
|
||||
isRdma: true
|
||||
# ...
|
||||
----
|
||||
|
||||
The following example describes the configuration for an SR-IOV network device in a {rh-openstack} virtual machine:
|
||||
|
||||
.Example configuration for an SR-IOV device in a virtual machine
|
||||
[source,yaml]
|
||||
----
|
||||
apiVersion: sriovnetwork.openshift.io/v1
|
||||
kind: SriovNetworkNodePolicy
|
||||
metadata:
|
||||
name: <name>
|
||||
namespace: openshift-sriov-network-operator
|
||||
spec:
|
||||
resourceName: <sriov_resource_name>
|
||||
nodeSelector:
|
||||
feature.node.kubernetes.io/network-sriov.capable: "true"
|
||||
numVfs: 1 <1>
|
||||
nicSelector:
|
||||
vendor: "<vendor_code>"
|
||||
deviceID: "<device_id>"
|
||||
netFilter: "openstack/NetworkID:ea24bd04-8674-4f69-b0ee-fa0b3bd20509" <2>
|
||||
# ...
|
||||
----
|
||||
<1> When configuring the node network policy for a virtual machine, the `numVfs` parameter is always set to `1`.
|
||||
<2> When the virtual machine is deployed on {rh-openstack}, the `netFilter` parameter must refer to a network ID. Valid values for `netFilter` are available from an `SriovNetworkNodeState` object.
|
||||
|
||||
@@ -130,45 +130,6 @@ network-resources-injector-dwqpx 1/1 Running 0 10m
|
||||
network-resources-injector-lktz5 1/1 Running 0 10m
|
||||
----
|
||||
|
||||
[id="about-sr-iov-operator-admission-control-webhook_{context}"]
|
||||
== About the SR-IOV Network Operator admission controller webhook
|
||||
|
||||
The SR-IOV Network Operator Admission Controller webhook is a Kubernetes Dynamic
|
||||
Admission Controller application. It provides the following capabilities:
|
||||
|
||||
* Validation of the `SriovNetworkNodePolicy` CR when it is created or updated.
|
||||
* Mutation of the `SriovNetworkNodePolicy` CR by setting the default value for the `priority` and `deviceType` fields when the CR is created or updated.
|
||||
|
||||
By default the SR-IOV Network Operator Admission Controller webhook is enabled by the Operator and runs as a daemon set on all control plane nodes.
|
||||
|
||||
[NOTE]
|
||||
====
|
||||
Use caution when disabling the SR-IOV Network Operator Admission Controller webhook. You can disable the webhook under specific circumstances, such as troubleshooting, or if you want to use unsupported devices. For information about configuring unsupported devices, see link:https://access.redhat.com/articles/7010183[Configuring the SR-IOV Network Operator to use an unsupported NIC].
|
||||
====
|
||||
|
||||
The following is an example of the Operator Admission Controller webhook pods running in a cluster with three control plane nodes:
|
||||
|
||||
[source,terminal]
|
||||
----
|
||||
$ oc get pods -n openshift-sriov-network-operator
|
||||
----
|
||||
|
||||
.Example output
|
||||
[source,terminal]
|
||||
----
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
operator-webhook-9jkw6 1/1 Running 0 16m
|
||||
operator-webhook-kbr5p 1/1 Running 0 16m
|
||||
operator-webhook-rpfrl 1/1 Running 0 16m
|
||||
----
|
||||
|
||||
[id="about-custom-node-selectors_{context}"]
|
||||
== About custom node selectors
|
||||
|
||||
The SR-IOV Network Config daemon discovers and configures the SR-IOV network devices on cluster nodes.
|
||||
By default, it is deployed to all the `worker` nodes in the cluster.
|
||||
You can use node labels to specify on which nodes the SR-IOV Network Config daemon runs.
|
||||
|
||||
[id="disable-enable-network-resource-injector_{context}"]
|
||||
== Disabling or enabling the Network Resources Injector
|
||||
|
||||
@@ -207,6 +168,38 @@ spec:
|
||||
----
|
||||
====
|
||||
|
||||
[id="about-sr-iov-operator-admission-control-webhook_{context}"]
|
||||
== About the SR-IOV Network Operator admission controller webhook
|
||||
|
||||
The SR-IOV Network Operator Admission Controller webhook is a Kubernetes Dynamic
|
||||
Admission Controller application. It provides the following capabilities:
|
||||
|
||||
* Validation of the `SriovNetworkNodePolicy` CR when it is created or updated.
|
||||
* Mutation of the `SriovNetworkNodePolicy` CR by setting the default value for the `priority` and `deviceType` fields when the CR is created or updated.
|
||||
|
||||
By default the SR-IOV Network Operator Admission Controller webhook is enabled by the Operator and runs as a daemon set on all control plane nodes.
|
||||
|
||||
[NOTE]
|
||||
====
|
||||
Use caution when disabling the SR-IOV Network Operator Admission Controller webhook. You can disable the webhook under specific circumstances, such as troubleshooting, or if you want to use unsupported devices. For information about configuring unsupported devices, see link:https://access.redhat.com/articles/7010183[Configuring the SR-IOV Network Operator to use an unsupported NIC].
|
||||
====
|
||||
|
||||
The following is an example of the Operator Admission Controller webhook pods running in a cluster with three control plane nodes:
|
||||
|
||||
[source,terminal]
|
||||
----
|
||||
$ oc get pods -n openshift-sriov-network-operator
|
||||
----
|
||||
|
||||
.Example output
|
||||
[source,terminal]
|
||||
----
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
operator-webhook-9jkw6 1/1 Running 0 16m
|
||||
operator-webhook-kbr5p 1/1 Running 0 16m
|
||||
operator-webhook-rpfrl 1/1 Running 0 16m
|
||||
----
|
||||
|
||||
[id="disable-enable-sr-iov-operator-admission-control-webhook_{context}"]
|
||||
== Disabling or enabling the SR-IOV Network Operator admission controller webhook
|
||||
|
||||
@@ -245,6 +238,13 @@ spec:
|
||||
----
|
||||
====
|
||||
|
||||
[id="about-custom-node-selectors_{context}"]
|
||||
== About custom node selectors
|
||||
|
||||
The SR-IOV Network Config daemon discovers and configures the SR-IOV network devices on cluster nodes.
|
||||
By default, it is deployed to all the `worker` nodes in the cluster.
|
||||
You can use node labels to specify on which nodes the SR-IOV Network Config daemon runs.
|
||||
|
||||
[id="configuring-custom-nodeselector_{context}"]
|
||||
== Configuring a custom NodeSelector for the SR-IOV Network Config daemon
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// Module included in the following assemblies:
|
||||
//
|
||||
// * networking/hardware_networks/add-pod.adoc
|
||||
// * networking/hardware_networks/configuring-sriov-ib-attach.adoc
|
||||
// * networking/hardware_networks/configuring-sriov-net-attach.adoc
|
||||
|
||||
:_mod-docs-content-type: PROCEDURE
|
||||
[id="nw-sriov-expose-mtu_{context}"]
|
||||
|
||||
@@ -120,55 +120,3 @@ Do not set linkType to `eth` for SriovNetworkNodePolicy, because this can lead t
|
||||
<19> Optional: To enable hardware offloading, you must set the `eSwitchMode` field to `"switchdev"`. For more information about hardware offloading, see "Configuring hardware offloading".
|
||||
|
||||
<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`.
|
||||
|
||||
[id="sr-iov-network-node-configuration-examples_{context}"]
|
||||
== SR-IOV network node configuration examples
|
||||
|
||||
The following example describes the configuration for an InfiniBand device:
|
||||
|
||||
.Example configuration for an InfiniBand device
|
||||
[source,yaml]
|
||||
----
|
||||
apiVersion: sriovnetwork.openshift.io/v1
|
||||
kind: SriovNetworkNodePolicy
|
||||
metadata:
|
||||
name: policy-ib-net-1
|
||||
namespace: openshift-sriov-network-operator
|
||||
spec:
|
||||
resourceName: ibnic1
|
||||
nodeSelector:
|
||||
feature.node.kubernetes.io/network-sriov.capable: "true"
|
||||
numVfs: 4
|
||||
nicSelector:
|
||||
vendor: "15b3"
|
||||
deviceID: "101b"
|
||||
rootDevices:
|
||||
- "0000:19:00.0"
|
||||
linkType: ib
|
||||
isRdma: true
|
||||
----
|
||||
|
||||
The following example describes the configuration for an SR-IOV network device in a {rh-openstack} virtual machine:
|
||||
|
||||
.Example configuration for an SR-IOV device in a virtual machine
|
||||
[source,yaml]
|
||||
----
|
||||
apiVersion: sriovnetwork.openshift.io/v1
|
||||
kind: SriovNetworkNodePolicy
|
||||
metadata:
|
||||
name: policy-sriov-net-openstack-1
|
||||
namespace: openshift-sriov-network-operator
|
||||
spec:
|
||||
resourceName: sriovnic1
|
||||
nodeSelector:
|
||||
feature.node.kubernetes.io/network-sriov.capable: "true"
|
||||
numVfs: 1 <1>
|
||||
nicSelector:
|
||||
vendor: "15b3"
|
||||
deviceID: "101b"
|
||||
netFilter: "openstack/NetworkID:ea24bd04-8674-4f69-b0ee-fa0b3bd20509" <2>
|
||||
----
|
||||
|
||||
<1> The `numVfs` field is always set to `1` when configuring the node network policy for a virtual machine.
|
||||
|
||||
<2> The `netFilter` field must refer to a network ID when the virtual machine is deployed on {rh-openstack}. Valid values for `netFilter` are available from an `SriovNetworkNodeState` object.
|
||||
|
||||
@@ -1,17 +1,15 @@
|
||||
// Module included in the following assemblies:
|
||||
//
|
||||
// * networking/hardware_networks/add-pod.adoc
|
||||
// * networking/hardware_networks/configuring-sriov-net-attach.adoc
|
||||
|
||||
[id="nw-sriov-runtime-config_{context}"]
|
||||
= Runtime configuration for a network attachment
|
||||
:_mod-docs-content-type: REFERENCE
|
||||
[id="nw-sriov-runtime-config-ethernet_{context}"]
|
||||
= Runtime configuration for an Ethernet-based SR-IOV attachment
|
||||
|
||||
When attaching a pod to an additional network, you can specify a runtime configuration to make specific customizations for the pod. For example, you can request a specific MAC hardware address.
|
||||
|
||||
You specify the runtime configuration by setting an annotation in the pod specification. The annotation key is `k8s.v1.cni.cncf.io/networks`, and it accepts a JSON object that describes the runtime configuration.
|
||||
|
||||
[id="runtime-config-ethernet_{context}"]
|
||||
== Runtime configuration for an Ethernet-based SR-IOV attachment
|
||||
|
||||
The following JSON describes the runtime configuration options for an Ethernet-based SR-IOV network attachment.
|
||||
|
||||
[source,json]
|
||||
@@ -51,46 +49,3 @@ spec:
|
||||
imagePullPolicy: IfNotPresent
|
||||
command: ["sleep", "infinity"]
|
||||
----
|
||||
|
||||
[id="runtime-config-infiniband_{context}"]
|
||||
== Runtime configuration for an InfiniBand-based SR-IOV attachment
|
||||
|
||||
The following JSON describes the runtime configuration options for an InfiniBand-based SR-IOV network attachment.
|
||||
|
||||
[source,json]
|
||||
----
|
||||
[
|
||||
{
|
||||
"name": "<network_attachment>", <1>
|
||||
"infiniband-guid": "<guid>", <2>
|
||||
"ips": ["<cidr_range>"] <3>
|
||||
}
|
||||
]
|
||||
----
|
||||
<1> The name of the SR-IOV network attachment definition CR.
|
||||
<2> The InfiniBand GUID for the SR-IOV device. To use this feature, you also must specify `{ "infinibandGUID": true }` in the `SriovIBNetwork` object.
|
||||
<3> The IP addresses for the SR-IOV device that is allocated from the resource type defined in the SR-IOV network attachment definition CR. Both IPv4 and IPv6 addresses are supported. To use this feature, you also must specify `{ "ips": true }` in the `SriovIBNetwork` object.
|
||||
|
||||
.Example runtime configuration
|
||||
[source,yaml]
|
||||
----
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: sample-pod
|
||||
annotations:
|
||||
k8s.v1.cni.cncf.io/networks: |-
|
||||
[
|
||||
{
|
||||
"name": "ib1",
|
||||
"infiniband-guid": "c2:11:22:33:44:55:66:77",
|
||||
"ips": ["192.168.10.1/24", "2001::1/64"]
|
||||
}
|
||||
]
|
||||
spec:
|
||||
containers:
|
||||
- name: sample-container
|
||||
image: <image>
|
||||
imagePullPolicy: IfNotPresent
|
||||
command: ["sleep", "infinity"]
|
||||
----
|
||||
51
modules/nw-sriov-runtime-config-sriov-ib.adoc
Normal file
51
modules/nw-sriov-runtime-config-sriov-ib.adoc
Normal file
@@ -0,0 +1,51 @@
|
||||
// Module included in the following assemblies:
|
||||
//
|
||||
// * networking/hardware_networks/configuring-sriov-ib-attach.adoc
|
||||
|
||||
:_mod-docs-content-type: REFERENCE
|
||||
[id="nw-sriov-runtime-config-sriov-ib_{context}"]
|
||||
= Runtime configuration for an InfiniBand-based SR-IOV attachment
|
||||
|
||||
When attaching a pod to an additional network, you can specify a runtime configuration to make specific customizations for the pod. For example, you can request a specific MAC hardware address.
|
||||
|
||||
You specify the runtime configuration by setting an annotation in the pod specification. The annotation key is `k8s.v1.cni.cncf.io/networks`, and it accepts a JSON object that describes the runtime configuration.
|
||||
|
||||
The following JSON describes the runtime configuration options for an InfiniBand-based SR-IOV network attachment.
|
||||
|
||||
[source,json]
|
||||
----
|
||||
[
|
||||
{
|
||||
"name": "<network_attachment>", <1>
|
||||
"infiniband-guid": "<guid>", <2>
|
||||
"ips": ["<cidr_range>"] <3>
|
||||
}
|
||||
]
|
||||
----
|
||||
<1> The name of the SR-IOV network attachment definition CR.
|
||||
<2> The InfiniBand GUID for the SR-IOV device. To use this feature, you also must specify `{ "infinibandGUID": true }` in the `SriovIBNetwork` object.
|
||||
<3> The IP addresses for the SR-IOV device that is allocated from the resource type defined in the SR-IOV network attachment definition CR. Both IPv4 and IPv6 addresses are supported. To use this feature, you also must specify `{ "ips": true }` in the `SriovIBNetwork` object.
|
||||
|
||||
.Example runtime configuration
|
||||
[source,yaml]
|
||||
----
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: sample-pod
|
||||
annotations:
|
||||
k8s.v1.cni.cncf.io/networks: |-
|
||||
[
|
||||
{
|
||||
"name": "ib1",
|
||||
"infiniband-guid": "c2:11:22:33:44:55:66:77",
|
||||
"ips": ["192.168.10.1/24", "2001::1/64"]
|
||||
}
|
||||
]
|
||||
spec:
|
||||
containers:
|
||||
- name: sample-container
|
||||
image: <image>
|
||||
imagePullPolicy: IfNotPresent
|
||||
command: ["sleep", "infinity"]
|
||||
----
|
||||
@@ -1,6 +1,6 @@
|
||||
// Module included in the following assemblies:
|
||||
//
|
||||
// * networking/hardware_networks/add-pod.adoc
|
||||
// * networking/hardware_networks/configuring-sriov-device.adoc
|
||||
|
||||
:_mod-docs-content-type: PROCEDURE
|
||||
[id="nw-sriov-topology-manager_{context}"]
|
||||
|
||||
@@ -79,12 +79,11 @@ The SR-IOV Network resources injector and SR-IOV Network Operator webhook are en
|
||||
Use caution when disabling the SR-IOV Network Operator Admission Controller webhook. You can disable the webhook under specific circumstances, such as troubleshooting, or if you want to use unsupported devices.
|
||||
====
|
||||
|
||||
// Supported platforms
|
||||
include::modules/nw-sriov-supported-platforms.adoc[leveloffset=+2]
|
||||
|
||||
// Supported devices
|
||||
include::modules/nw-sriov-supported-devices.adoc[leveloffset=+2]
|
||||
include::modules/nw-sriov-device-discovery.adoc[leveloffset=+2]
|
||||
include::modules/nw-sriov-example-vf-function-in-pod.adoc[leveloffset=+2]
|
||||
include::modules/nw-sriov-app-netutil.adoc[leveloffset=+2]
|
||||
include::modules/nw-sriov-huge-pages.adoc[leveloffset=+2]
|
||||
|
||||
[role="_additional-resources"]
|
||||
[id="configure-multi-networks-additional-resources"]
|
||||
@@ -95,8 +94,10 @@ include::modules/nw-sriov-huge-pages.adoc[leveloffset=+2]
|
||||
[id="about-sriov-next-steps"]
|
||||
== Next steps
|
||||
|
||||
* Optional: xref:../../networking/networking_operators/sr-iov-operator/configuring-sriov-operator.adoc#configuring-sriov-operator[Configuring the SR-IOV Network Operator]
|
||||
* xref:../../networking/networking_operators/sr-iov-operator/configuring-sriov-operator.adoc#configuring-sriov-operator[Configuring the SR-IOV Network Operator]
|
||||
* xref:../../networking/hardware_networks/configuring-sriov-device.adoc#configuring-sriov-device[Configuring an SR-IOV network device]
|
||||
* If you use {VirtProductName}: xref:../../virt/vm_networking/virt-connecting-vm-to-sriov.adoc#virt-connecting-vm-to-sriov[Connecting a virtual machine to an SR-IOV network]
|
||||
* xref:../../networking/hardware_networks/configuring-sriov-net-attach.adoc#configuring-sriov-net-attach[Configuring an SR-IOV network attachment]
|
||||
* xref:../../networking/hardware_networks/add-pod.adoc#add-pod[Adding a pod to an SR-IOV additional network]
|
||||
* xref:../../networking/hardware_networks/configuring-sriov-net-attach.adoc#configuring-sriov-net-attach[Ethernet network attachement: Adding a pod to an SR-IOV additional network]
|
||||
* xref:../../networking/hardware_networks/configuring-sriov-ib-attach.adoc#configuring-sriov-ib-attach[InfiniBand network attachement: Adding a pod to an SR-IOV additional network]
|
||||
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
:_mod-docs-content-type: ASSEMBLY
|
||||
[id="add-pod"]
|
||||
= Adding a pod to an SR-IOV additional network
|
||||
include::_attributes/common-attributes.adoc[]
|
||||
:context: configuring-sr-iov
|
||||
|
||||
toc::[]
|
||||
|
||||
You can add a pod to an existing Single Root I/O Virtualization (SR-IOV) network.
|
||||
|
||||
Before you perform any tasks in the following documentation, ensure that you xref:../../networking/networking_operators/sr-iov-operator/installing-sriov-operator.adoc#installing-sriov-operator[installed the SR-IOV Network Operator].
|
||||
|
||||
include::modules/nw-sriov-runtime-config.adoc[leveloffset=+1]
|
||||
|
||||
include::modules/nw-multus-add-pod.adoc[leveloffset=+1]
|
||||
|
||||
include::modules/nw-sriov-expose-mtu.adoc[leveloffset=+2]
|
||||
|
||||
include::modules/nw-sriov-topology-manager.adoc[leveloffset=+1]
|
||||
|
||||
include::modules/nw-openstack-sr-iov-testpmd-pod.adoc[leveloffset=+1]
|
||||
|
||||
[role="_additional-resources"]
|
||||
[id="add-pod-additional-resources"]
|
||||
== Additional resources
|
||||
|
||||
* xref:../../networking/hardware_networks/configuring-sriov-device.adoc#configuring-sriov-device[Configuring an SR-IOV Ethernet network attachment]
|
||||
* xref:../../networking/hardware_networks/configuring-sriov-ib-attach.adoc#configuring-sriov-ib-attach[Configuring an SR-IOV InfiniBand network attachment]
|
||||
* xref:../../scalability_and_performance/using-cpu-manager.adoc#using-cpu-manager[Using CPU Manager]
|
||||
* xref:../../networking/hardware_networks/configuring-sriov-device.adoc#nw-sriov-exclude-topology-manager_configuring-sriov-device[Exclude SR-IOV network topology for NUMA-aware scheduling]
|
||||
@@ -13,6 +13,12 @@ Before you perform any tasks in the following documentation, ensure that you xre
|
||||
// SR-IOV network node configuration object
|
||||
include::modules/nw-sriov-networknodepolicy-object.adoc[leveloffset=+1]
|
||||
|
||||
// SR-IOV network node configuration examples
|
||||
include::modules/nw-sr-iov-network-node-configuration-examples.adoc[leveloffset=+2]
|
||||
|
||||
// Automated discovery of SR-IOV network devices
|
||||
include::modules/nw-sriov-device-discovery.adoc[leveloffset=+2]
|
||||
|
||||
// A direct companion to nw-sriov-networknodepolicy-object
|
||||
// Virtual function (VF) partitioning for SR-IOV devices
|
||||
|
||||
@@ -20,6 +26,15 @@ include::modules/nw-sriov-nic-mlx-secure-boot.adoc[leveloffset=+2]
|
||||
|
||||
include::modules/nw-sriov-nic-partitioning.adoc[leveloffset=+2]
|
||||
|
||||
// A test pod template for clusters that use SR-IOV on OpenStack
|
||||
include::modules/nw-openstack-sr-iov-testpmd-pod.adoc[leveloffset=+2]
|
||||
|
||||
// A test pod template for clusters that use OVS hardware offloading on OpenStack
|
||||
include::modules/nw-openstack-hw-offload-testpmd-pod.adoc[leveloffset=+2]
|
||||
|
||||
// Huge pages resource injection for Downward API
|
||||
include::modules/nw-sriov-huge-pages.adoc[leveloffset=+2]
|
||||
|
||||
// Configuring SR-IOV network devices
|
||||
include::modules/nw-sriov-configuring-device.adoc[leveloffset=+1]
|
||||
|
||||
@@ -28,20 +43,14 @@ include::modules/nw-sriov-configuring-device.adoc[leveloffset=+1]
|
||||
|
||||
* xref:../../nodes/nodes/nodes-nodes-working.adoc#nodes-nodes-working-updating_nodes-nodes-working[Understanding how to update labels on nodes].
|
||||
|
||||
// Configuring parallel node draining during SR-IOV network policy updates
|
||||
include::modules/nw-sriov-configuring-multiple-nodes.adoc[leveloffset=+2]
|
||||
|
||||
// Troubleshooting SR-IOV configuration
|
||||
include::modules/nw-sriov-troubleshooting.adoc[leveloffset=+1]
|
||||
|
||||
// Assigning an SR-IOV network to a VRF
|
||||
include::modules/cnf-assigning-a-sriov-network-to-a-vrf.adoc[leveloffset=+1]
|
||||
// Creating a non-uniform memory access (NUMA) aligned SR-IOV pod
|
||||
include::modules/nw-sriov-topology-manager.adoc[leveloffset=+1]
|
||||
|
||||
// Exclude the SR-IOV network topology for NUMA-aware scheduling
|
||||
include::modules/nw-sriov-exclude-topology-manager.adoc[leveloffset=+1]
|
||||
|
||||
// Excluding the SR-IOV network topology for NUMA-aware scheduling
|
||||
include::modules/nw-sriov-configure-exclude-topology-manager.adoc[leveloffset=+2]
|
||||
// Troubleshooting SR-IOV configuration
|
||||
include::modules/nw-sriov-troubleshooting.adoc[leveloffset=+1]
|
||||
|
||||
[role="_additional-resources"]
|
||||
.Additional resources
|
||||
|
||||
@@ -13,26 +13,29 @@ Before you perform any tasks in the following documentation, ensure that you xre
|
||||
// InfiniBand device configuration object
|
||||
include::modules/nw-sriov-ibnetwork-object.adoc[leveloffset=+1]
|
||||
|
||||
// Configuration of IP address assignment for an additional network
|
||||
include::modules/nw-multus-ipam-object.adoc[leveloffset=+2]
|
||||
|
||||
// Creating a configuration for assignment of dual-stack IP addresses dynamically
|
||||
include::modules/nw-multus-configure-dualstack-ip-address.adoc[leveloffset=+2]
|
||||
|
||||
[role="_additional-resources"]
|
||||
.Additional resources
|
||||
* xref:../../networking/multiple_networks/secondary_networks/attaching-pod.adoc#attaching-pod[Attaching a pod to an additional network]
|
||||
// Configuration of IP address assignment for a network attachment
|
||||
include::modules/nw-multus-ipam-object.adoc[leveloffset=+2]
|
||||
|
||||
// Configuring SR-IOV additional network
|
||||
include::modules/nw-sriov-network-attachment.adoc[leveloffset=+1]
|
||||
|
||||
[id="configuring-sriov-ib-attach-next-steps"]
|
||||
== Next steps
|
||||
// Runtime configuration for an InfiniBand-based SR-IOV attachment
|
||||
include::modules/nw-sriov-runtime-config-sriov-ib.adoc[leveloffset=+1]
|
||||
|
||||
* xref:../../networking/hardware_networks/add-pod.adoc#add-pod[Adding a pod to an SR-IOV additional network]
|
||||
// Adding a pod to an additional network
|
||||
include::modules/nw-multus-add-pod.adoc[leveloffset=+1]
|
||||
|
||||
// Exposing MTU for vfio-pci SR-IOV devices to pod
|
||||
include::modules/nw-sriov-expose-mtu.adoc[leveloffset=+2]
|
||||
|
||||
[role="_additional-resources"]
|
||||
[id="configuring-sriov-ib-attach-additional-resources"]
|
||||
== Additional resources
|
||||
|
||||
* xref:../../networking/hardware_networks/configuring-sriov-device.adoc#configuring-sriov-device[Configuring an SR-IOV network device]
|
||||
* xref:../../networking/hardware_networks/configuring-sriov-device.adoc#configuring-sriov-device[Configuring an SR-IOV network device]
|
||||
* xref:../../scalability_and_performance/using-cpu-manager.adoc#using-cpu-manager[Using CPU Manager]
|
||||
* xref:../../networking/hardware_networks/configuring-sriov-device.adoc#nw-sriov-exclude-topology-manager_configuring-sriov-device[Exclude SR-IOV network topology for NUMA-aware scheduling]
|
||||
|
||||
|
||||
@@ -10,24 +10,43 @@ You can configure an Ethernet network attachment for an Single Root I/O Virtuali
|
||||
|
||||
Before you perform any tasks in the following documentation, ensure that you xref:../../networking/networking_operators/sr-iov-operator/installing-sriov-operator.adoc#installing-sriov-operator[installed the SR-IOV Network Operator].
|
||||
|
||||
|
||||
// Ethernet device configuration object
|
||||
include::modules/nw-sriov-network-object.adoc[leveloffset=+1]
|
||||
include::modules/nw-multus-ipam-object.adoc[leveloffset=+2]
|
||||
|
||||
// Creating a configuration for assignment of dual-stack IP addresses dynamically
|
||||
include::modules/nw-multus-configure-dualstack-ip-address.adoc[leveloffset=+2]
|
||||
|
||||
[role="_additional-resources"]
|
||||
.Additional resources
|
||||
* xref:../../networking/multiple_networks/secondary_networks/attaching-pod.adoc#attaching-pod[Attaching a pod to an additional network]
|
||||
// Configuration of IP address assignment for a network attachment
|
||||
include::modules/nw-multus-ipam-object.adoc[leveloffset=+2]
|
||||
|
||||
// Configuring SR-IOV additional network
|
||||
include::modules/nw-sriov-network-attachment.adoc[leveloffset=+1]
|
||||
|
||||
[id="configuring-sriov-net-attach-next-steps"]
|
||||
== Next steps
|
||||
// Assigning an SR-IOV network to a VRF
|
||||
include::modules/cnf-assigning-a-sriov-network-to-a-vrf.adoc[leveloffset=+1]
|
||||
|
||||
* xref:../../networking/hardware_networks/add-pod.adoc#add-pod[Adding a pod to an SR-IOV additional network]
|
||||
// Creating an additional SR-IOV network attachment with the CNI VRF plugin
|
||||
include::modules/cnf-creating-an-additional-sriov-network-with-vrf-plug-in.adoc[leveloffset=+2]
|
||||
|
||||
// Runtime configuration for an Ethernet-based SR-IOV attachment
|
||||
include::modules/nw-sriov-runtime-config-ethernet.adoc[leveloffset=+1]
|
||||
|
||||
// Adding a pod to an additional network
|
||||
include::modules/nw-multus-add-pod.adoc[leveloffset=+1]
|
||||
|
||||
// Exposing MTU for vfio-pci SR-IOV devices to pod
|
||||
include::modules/nw-sriov-expose-mtu.adoc[leveloffset=+2]
|
||||
|
||||
// Configuring parallel node draining during SR-IOV network policy updates
|
||||
include::modules/nw-sriov-configuring-multiple-nodes.adoc[leveloffset=+1]
|
||||
|
||||
// Excluding the SR-IOV network topology for NUMA-aware scheduling
|
||||
include::modules/nw-sriov-configure-exclude-topology-manager.adoc[leveloffset=+1]
|
||||
|
||||
[role="_additional-resources"]
|
||||
[id="configuring-sriov-net-attach-additional-resources"]
|
||||
== Additional resources
|
||||
|
||||
* xref:../../networking/hardware_networks/configuring-sriov-device.adoc#configuring-sriov-device[Configuring an SR-IOV network device]
|
||||
* xref:../../networking/hardware_networks/configuring-sriov-device.adoc#configuring-sriov-device[Configuring an SR-IOV network device]
|
||||
* xref:../../scalability_and_performance/using-cpu-manager.adoc#using-cpu-manager[Using CPU Manager]
|
||||
|
||||
|
||||
@@ -10,6 +10,9 @@ The containerized Data Plane Development Kit (DPDK) application is supported on
|
||||
|
||||
Before you perform any tasks in the following documentation, ensure that you xref:../../networking/networking_operators/sr-iov-operator/installing-sriov-operator.adoc#installing-sriov-operator[installed the SR-IOV Network Operator].
|
||||
|
||||
// Example use of a virtual function in a pod
|
||||
include::modules/nw-sriov-example-vf-function-in-pod.adoc[leveloffset=+1]
|
||||
|
||||
// Using a virtual function in DPDK mode with an Intel NIC
|
||||
include::modules/nw-sriov-dpdk-example-intel.adoc[leveloffset=+1]
|
||||
|
||||
@@ -32,6 +35,9 @@ include::modules/nw-sriov-concept-dpdk-line-rate.adoc[leveloffset=+1]
|
||||
|
||||
include::modules/nw-sriov-example-dpdk-line-rate.adoc[leveloffset=+1]
|
||||
|
||||
// DPDK library for use with container applications
|
||||
include::modules/nw-sriov-app-netutil.adoc[leveloffset=+2]
|
||||
|
||||
include::modules/nw-sriov-network-operator.adoc[leveloffset=+2]
|
||||
|
||||
include::modules/nw-sriov-create-object.adoc[leveloffset=+2]
|
||||
@@ -49,10 +55,9 @@ include::snippets/technology-preview.adoc[leveloffset=+0]
|
||||
// Use a tag to skip header and include content only
|
||||
include::modules/nw-sriov-rdma-example-mellanox.adoc[tag=content]
|
||||
|
||||
// A test pod template for clusters that use OVS-DPDK on OpenStack
|
||||
include::modules/nw-openstack-ovs-dpdk-testpmd-pod.adoc[leveloffset=+1]
|
||||
|
||||
include::modules/nw-openstack-hw-offload-testpmd-pod.adoc[leveloffset=+1]
|
||||
|
||||
[role="_additional-resources"]
|
||||
[id="additional-resources_using-dpdk-and-rdma"]
|
||||
== Additional resources
|
||||
@@ -73,6 +78,4 @@ include::modules/nw-openstack-hw-offload-testpmd-pod.adoc[leveloffset=+1]
|
||||
|
||||
* xref:../../networking/hardware_networks/configuring-sriov-net-attach.adoc#configuring-sriov-net-attach[Configuring an SR-IOV Ethernet network attachment]
|
||||
|
||||
* The xref:../../networking/hardware_networks/about-sriov.adoc#nw-sriov-app-netutil_about-sriov[app-netutil library] provides several API methods for gathering network information about a container's parent pod.
|
||||
|
||||
:!FeatureName:
|
||||
|
||||
@@ -8,12 +8,16 @@ toc::[]
|
||||
|
||||
The Single Root I/O Virtualization (SR-IOV) Network Operator manages the SR-IOV network devices and network attachments in your cluster.
|
||||
|
||||
// Configuring the SR-IOV Network Operator
|
||||
include::modules/nw-sriov-configuring-operator.adoc[leveloffset=+1]
|
||||
|
||||
// Deploying the SR-IOV Operator for HCP
|
||||
include::modules/sriov-operator-hosted-control-planes.adoc[leveloffset=+2]
|
||||
|
||||
// About the SR-IOV network metrics exporter
|
||||
include::modules/sriov-network-metrics-exporter.adoc[leveloffset=+1]
|
||||
|
||||
// Enabling the SR-IOV network metrics exporter
|
||||
include::modules/sriov-operator-metrics.adoc[leveloffset=+2]
|
||||
|
||||
[role="_additional-resources"]
|
||||
|
||||
Reference in New Issue
Block a user