Skip to content

Commit cc36507

Browse files
committed
OCPBUGS-55628 add bond-cni
1 parent dc1b9cb commit cc36507

File tree

3 files changed

+104
-3
lines changed

3 files changed

+104
-3
lines changed
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * networking/multiple_networks/configuring-additional-network.adoc
4+
5+
:_mod-docs-content-type: REFERENCE
6+
[id="nw-multus-bond-cni-object_{context}"]
7+
= Configuration for a Bond CNI secondary network
8+
9+
The Bond Container Network Interface (Bond CNI) enables the aggregation of multiple network interfaces into a single logical "bonded" interface within a container, enhancing network redundancy and fault tolerance. Only SR-IOV Virtual Functions (VFs) are supported for bonding with this plugin.
10+
11+
The following table describes the configuration parameters for the Bond CNI plugin:
12+
13+
.Bond CNI plugin JSON configuration object
14+
[cols=".^2,.^2,.^6",options="header"]
15+
|====
16+
|Field|Type|Description
17+
18+
19+
|`name`
20+
|`string`
21+
|Specifies the name given to this CNI network attachment definition. This name is used to identify and reference the interface within the container.
22+
23+
|`cniVersion`
24+
|`string`
25+
|The CNI specification version.
26+
27+
|`type`
28+
|`string`
29+
|Specifies the name of the CNI plugin to configure: `bond`.
30+
31+
|`miimon`
32+
|`string`
33+
|Specifies the address resolution protocol (ARP) link monitoring frequency in milliseconds. This parameter defines how often the bond interface sends ARP requests to check the availability of its aggregated interfaces.
34+
35+
|`mtu`
36+
|`integer`
37+
|Optional: Specifies the maximum transmission unit (MTU) of the bond. The default is 1500.
38+
39+
|`failOverMac`
40+
|`integer`
41+
|Optional: Specifies the `failOverMac` setting for the bond. Default is 0.
42+
43+
|`mode`
44+
|`string`
45+
|Specifies the bonding policy.
46+
47+
|`linksInContainer`
48+
|`boolean`
49+
|Optional: Specifies whether the network interfaces intended for bonding are expected to be created and available directly within the container's network namespace when the bond starts. If `false` which is the default, the CNI plugin looks for these interfaces on the host system first before attempting to form the bond.
50+
51+
|`links`
52+
|`object`
53+
|Specifies the interfaces to be bonded.
54+
55+
|`ipam`
56+
|`object`
57+
|The configuration object for the IPAM CNI plugin. The plugin manages IP address assignment for the attachment definition.
58+
59+
|====
60+
61+
[id="nw-multus-bond-cni-config-example_{context}"]
62+
== Bond CNI plugin configuration example
63+
64+
The following example configures a secondary network named `bond-net1`:
65+
66+
[source,json]
67+
----
68+
{
69+
"type": "bond",
70+
"cniVersion": "0.3.1",
71+
"name": "bond-net1",
72+
"mode": "active-backup",
73+
"failOverMac": 1,
74+
"linksInContainer": true,
75+
"miimon": "100",
76+
"mtu": 1500,
77+
"links": [
78+
{"name": "net1"},
79+
{"name": "net2"}
80+
],
81+
"ipam": {
82+
"type": "host-local",
83+
"subnet": "10.56.217.0/24",
84+
"routes": [{
85+
"dst": "0.0.0.0/0"
86+
}],
87+
"gateway": "10.56.217.1"
88+
}
89+
}
90+
----

networking/multiple_networks/secondary_networks/creating-secondary-nwt-other-cni.adoc

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,14 @@ The specific configuration fields for additional networks are described in the f
1111
// Configuration for a bridge additional network
1212
include::modules/nw-multus-bridge-object.adoc[leveloffset=+1]
1313

14-
// Configuration for a host device additional network
14+
// Configuration for a bond-cni secondary network
15+
include::modules/nw-multus-bond-cni-object.adoc[leveloffset=+1]
16+
17+
[role="_additional-resources"]
18+
.Additional resources
19+
* xref:../../../networking/hardware_networks/using-pod-level-bonding.adoc#nw-sriov-cfg-bond-interface-with-virtual-functions_using-pod-level-bonding[Configuring a bond interface from two SR-IOV interfaces]
20+
21+
// Configuration for a host device secondary network
1522
include::modules/nw-multus-host-device-object.adoc[leveloffset=+1]
1623

1724
// Configuration for an VLAN additional network

networking/multiple_networks/understanding-multiple-networks.adoc

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ networks in your cluster:
5757

5858
* *bridge*: xref:../../networking/multiple_networks/secondary_networks/creating-secondary-nwt-other-cni.adoc#nw-multus-bridge-object_configuring-additional-network-cni[Configure a bridge-based additional network] to allow pods on the same host to communicate with each other and the host.
5959

60-
* *host-device*: xref:../../networking/multiple_networks/secondary_networks/creating-secondary-nwt-other-cni.adoc#nw-multus-host-device-object_configuring-additional-network-cni[Configure a host-device additional network] to allow pods access to a physical Ethernet network device on the host system.
60+
* *bond-cni*: xref:../../networking/multiple_networks/secondary_networks/creating-secondary-nwt-other-cni.adoc#nw-multus-bond-cni-object_configuring-additional-network-cni[Configure a Bond CNI secondary network] to provide a method for aggregating multiple network interfaces into a single logical _bonded_ interface.
61+
62+
* *host-device*: xref:../../networking/multiple_networks/secondary_networks/creating-secondary-nwt-other-cni.adoc#nw-multus-host-device-object_configuring-additional-network-cni[Configure a host-device secondary network] to allow pods access to a physical Ethernet network device on the host system.
6163

6264
* *ipvlan*: xref:../../networking/multiple_networks/secondary_networks/creating-secondary-nwt-other-cni.adoc#nw-multus-ipvlan-object_configuring-additional-network-cni[Configure an ipvlan-based additional network] to allow pods on a host to communicate with other hosts and pods on those hosts, similar to a macvlan-based additional network. Unlike a macvlan-based additional network, each pod shares the same MAC address as the parent physical network interface.
6365

@@ -67,4 +69,6 @@ networks in your cluster:
6769

6870
* *TAP*: xref:../../networking/multiple_networks/secondary_networks/creating-secondary-nwt-other-cni.adoc#nw-multus-tap-object_configuring-additional-network-cni[Configure a TAP-based additional network] to create a tap device inside the container namespace. A TAP device enables user space programs to send and receive network packets.
6971

70-
* *SR-IOV*: xref:../../networking/hardware_networks/about-sriov.adoc#about-sriov[Configure an SR-IOV based additional network] to allow pods to attach to a virtual function (VF) interface on SR-IOV capable hardware on the host system.
72+
* *SR-IOV*: xref:../../networking/hardware_networks/about-sriov.adoc#about-sriov[Configure an SR-IOV based secondary network] to allow pods to attach to a virtual function (VF) interface on SR-IOV capable hardware on the host system.
73+
74+
* *route-override*: xref:../../networking/multiple_networks/secondary_networks/creating-secondary-nwt-other-cni.adoc#nw-route-override-cni_configuring-additional-network-cni[Configure a `route-override` based secondary network] to allow pods to override and set routes.

0 commit comments

Comments
 (0)