Skip to content

Commit 12527b9

Browse files
authored
Merge pull request #47172 from kquinn1204/TELCODOCS-780
TELCODOCS-780 Creating first PR for promoting bond CNI to GA
2 parents 87848b7 + 73e1009 commit 12527b9

File tree

2 files changed

+22
-15
lines changed

2 files changed

+22
-15
lines changed

modules/nw-sriov-cfg-bond-interface-with-virtual-functions.adoc

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Bond-CNI can be created using SR-IOV virtual functions and placing them in the c
1616
* The SR-IOV operator must be installed and configured to obtain virtual functions in a container.
1717
* To configure SR-IOV interfaces, an SR-IOV network and policy must be created for each interface.
1818
* The SR-IOV operator creates a network attachment definition for each SR-IOV interface, based on the SR-IOV network and policy defined.
19+
* The `linkState` is set to the default value `auto` for the SR-IOV virtual function.
1920
2021
[id="nw-sriov-cfg-creating-bond-network-attachment-definition_{context}"]
2122
== Creating a bond network attachment definition
@@ -35,12 +36,12 @@ apiVersion: "k8s.cni.cncf.io/v1"
3536
"cniVersion": "0.3.1",
3637
"name": "bond-net1",
3738
"ifname: "bond0" <2>
38-
"mode": "active-backup",
39-
"failOverMac": 1, <3>
40-
"linksInContainer": true, <4>
39+
"mode": "active-backup", <3>
40+
"failOverMac": 1, <4>
41+
"linksInContainer": true, <5>
4142
"miimon": "100",
4243
"mtu": 1500,
43-
"links": [ <5>
44+
"links": [ <6>
4445
{"name": "net1"},
4546
{"name": "net2"}
4647
],
@@ -56,9 +57,21 @@ apiVersion: "k8s.cni.cncf.io/v1"
5657
----
5758
<1> The type is `bond`.
5859
<2> The `ifname` attribute specifies the name of the bond interface.
59-
<3> The `failover` attribute is mandatory for active-backup mode.
60-
<4> The `linksInContainer=true` flag tells the Bond CNI that the interfaces required are to be found inside the container. By default Bond CNI looks for these interfaces on the host which does not work for integration with SRIOV/Multus.
61-
<5> The `links` section defines which interfaces will be used to create the bond. By default, Multus names the attached interfaces as: "net", plus a consecutive number, starting with one.
60+
<3> The `mode` attribute specifies the bonding mode.
61+
+
62+
[NOTE]
63+
====
64+
The bonding modes supported are:
65+
66+
* `balance-rr` - 0
67+
* `active-backup` - 1
68+
* `balance-xor` - 2
69+
70+
For `balance-rr` or `balance-xor` modes, you must set the `trust` mode to `on` for the SR-IOV virtual function.
71+
====
72+
<4> The `failover` attribute is mandatory for active-backup mode.
73+
<5> The `linksInContainer=true` flag informs the Bond CNI that the interfaces required are to be found inside the container. By default Bond CNI looks for these interfaces on the host which does not work for integration with SRIOV and Multus.
74+
<6> The `links` section defines which interfaces will be used to create the bond. By default, Multus names the attached interfaces as: "net", plus a consecutive number, starting with one.
6275

6376
[id="nw-sriov-cfg-creating-pod-using-interface_{context}"]
6477
== Creating a pod using a bond interface
@@ -106,4 +119,4 @@ link/ether 9e:23:69:42:fb:8a brd ff:ff:ff:ff:ff:ff <1>
106119
link/ether 9e:23:69:42:fb:8a brd ff:ff:ff:ff:ff:ff <2>
107120
----
108121
<1> The `net1` interface is based on an SR-IOV virtual function.
109-
<2> The `net2` interface is based on an SR-IOV virtual function.
122+
<2> The `net2` interface is based on an SR-IOV virtual function.

networking/hardware_networks/using-pod-level-bonding.adoc

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,11 @@ toc::[]
88

99

1010
:FeatureName: Bond Container Network Interface (CNI)
11-
include::snippets/technology-preview.adoc[leveloffset=+1]
1211

1312
Bonding at the pod level is vital to enable workloads inside pods that require high availability and more throughput. With pod-level bonding, you can create a bond interface from multiple single root I/O virtualization (SR-IOV) virtual function interfaces in a kernel mode interface. The SR-IOV virtual functions are passed into the pod and attached to a kernel driver.
1413

1514
One scenario where pod level bonding is required is creating a bond interface from multiple SR-IOV virtual functions on different physical functions. Creating a bond interface from two different physical functions on the host can be used to achieve high availability and throughput at pod level.
1615

17-
[NOTE]
18-
====
19-
The current functionality of Bond CNI is available only in active-backup mode - for further details, see link:https://bugzilla.redhat.com/show_bug.cgi?id=2037214[*BZ#2037214*].
20-
====
21-
2216
For guidance on tasks such as creating a SR-IOV network, network policies, network attachment definitions and pods, see xref:../../networking/hardware_networks/configuring-sriov-device.adoc#configuring-sriov-device[Configuring an SR-IOV network device].
2317

24-
include::modules/nw-sriov-cfg-bond-interface-with-virtual-functions.adoc[leveloffset=+1]
18+
include::modules/nw-sriov-cfg-bond-interface-with-virtual-functions.adoc[leveloffset=+1]

0 commit comments

Comments
 (0)