Skip to content

[enterprise-4.16] Very manual CP 93993 OCP-55628 #97437

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 90 additions & 0 deletions modules/nw-multus-bond-cni-object.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
// Module included in the following assemblies:
//
// * networking/multiple_networks/configuring-additional-network.adoc

:_mod-docs-content-type: REFERENCE
[id="nw-multus-bond-cni-object_{context}"]
= Configuration for a Bond CNI secondary network

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.

The following table describes the configuration parameters for the Bond CNI plugin:

.Bond CNI plugin JSON configuration object
[cols=".^2,.^2,.^6",options="header"]
|====
|Field|Type|Description


|`name`
|`string`
|Specifies the name given to this CNI network attachment definition. This name is used to identify and reference the interface within the container.

|`cniVersion`
|`string`
|The CNI specification version.

|`type`
|`string`
|Specifies the name of the CNI plugin to configure: `bond`.

|`miimon`
|`string`
|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.

|`mtu`
|`integer`
|Optional: Specifies the maximum transmission unit (MTU) of the bond. The default is 1500.

|`failOverMac`
|`integer`
|Optional: Specifies the `failOverMac` setting for the bond. Default is 0.

|`mode`
|`string`
|Specifies the bonding policy.

|`linksInContainer`
|`boolean`
|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.

|`links`
|`object`
|Specifies the interfaces to be bonded.

|`ipam`
|`object`
|The configuration object for the IPAM CNI plugin. The plugin manages IP address assignment for the attachment definition.

|====

[id="nw-multus-bond-cni-config-example_{context}"]
== Bond CNI plugin configuration example

The following example configures a secondary network named `bond-net1`:

[source,json]
----
{
"type": "bond",
"cniVersion": "0.3.1",
"name": "bond-net1",
"mode": "active-backup",
"failOverMac": 1,
"linksInContainer": true,
"miimon": "100",
"mtu": 1500,
"links": [
{"name": "net1"},
{"name": "net2"}
],
"ipam": {
"type": "host-local",
"subnet": "10.56.217.0/24",
"routes": [{
"dst": "0.0.0.0/0"
}],
"gateway": "10.56.217.1"
}
}
----
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ As a cluster administrator, you can configure an additional network for your clu

* xref:../../networking/multiple_networks/configuring-additional-network.adoc#nw-multus-bridge-object_configuring-additional-network[Bridge]
* xref:../../networking/multiple_networks/configuring-additional-network.adoc#nw-multus-host-device-object_configuring-additional-network[Host device]
* xref:../../networking/multiple_networks/configuring-additional-network.adoc#nw-multus-bond-cni-object_configuring-additional-network[Bond CNI]
* xref:../../networking/multiple_networks/configuring-additional-network.adoc#nw-multus-vlan-object_configuring-additional-network[VLAN]
* xref:../../networking/multiple_networks/configuring-additional-network.adoc#nw-multus-ipvlan-object_configuring-additional-network[IPVLAN]
* xref:../../networking/multiple_networks/configuring-additional-network.adoc#nw-multus-macvlan-object_configuring-additional-network[MACVLAN]
Expand Down Expand Up @@ -163,6 +164,13 @@ include::modules/nw-multus-bridge-object.adoc[leveloffset=+2]
// Configuration for a host device additional network
include::modules/nw-multus-host-device-object.adoc[leveloffset=+2]

// Configuration for a Bond CNI additional network
include::modules/nw-multus-bond-cni-object.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources
* 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]

// Configuration for an VLAN additional network
include::modules/nw-multus-vlan-object.adoc[leveloffset=+2]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ networks in your cluster:
* *bridge*: xref:../../networking/multiple_networks/configuring-additional-network.adoc#nw-multus-bridge-object_configuring-additional-network[Configure a bridge-based additional network]
to allow pods on the same host to communicate with each other and the host.

* *bond-cni*: xref:../../networking/multiple_networks/configuring-additional-network.adoc#nw-multus-bond-cni-object_configuring-additional-network[Configure a Bond CNI secondary network] to provide a method for aggregating multiple network interfaces into a single logical _bonded_ interface.

* *host-device*: xref:../../networking/multiple_networks/configuring-additional-network.adoc#nw-multus-host-device-object_configuring-additional-network[Configure a host-device additional network] to allow pods access to a physical Ethernet network device on the host system.

* *ipvlan*: xref:../../networking/multiple_networks/configuring-additional-network.adoc#nw-multus-ipvlan-object_configuring-additional-network[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.
Expand Down