Skip to content

Conversation

@dfitzmau
Copy link
Contributor

@dfitzmau dfitzmau commented May 8, 2025

@openshift-ci openshift-ci bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label May 8, 2025
@dfitzmau dfitzmau force-pushed the OSDOCS-14356-new branch from 18241e1 to 8846ca5 Compare May 8, 2025 16:03
@openshift-ci openshift-ci bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels May 8, 2025
@dfitzmau dfitzmau force-pushed the OSDOCS-14356-new branch from 8846ca5 to d6452ad Compare May 8, 2025 16:06
@ocpdocs-previewbot
Copy link

ocpdocs-previewbot commented May 8, 2025

🤖 Tue Dec 02 17:17:59 - Prow CI generated the docs preview:
https://93160--ocpdocs-pr.netlify.app
Complete list of updated preview URLs: artifacts/updated_preview_urls.txt

@dfitzmau dfitzmau force-pushed the OSDOCS-14356-new branch 2 times, most recently from 3296fa2 to 318fd00 Compare May 9, 2025 08:21
@dfitzmau
Copy link
Contributor Author

/retest

@openshift-ci openshift-ci bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Aug 11, 2025
@dfitzmau dfitzmau force-pushed the OSDOCS-14356-new branch 6 times, most recently from 02430e1 to 58716d3 Compare August 11, 2025 12:54
@dfitzmau dfitzmau force-pushed the OSDOCS-14356-new branch 6 times, most recently from 10a409f to f780fb6 Compare October 16, 2025 13:51
@bergerhoffer bergerhoffer added this to the Continuous Release milestone Oct 20, 2025
@bergerhoffer
Copy link
Contributor

The branch/enterprise-4.21 label has been added to this PR.

This is because your PR targets the main branch and is labeled for enterprise-4.20. And any PR going into main must also target the latest version branch (enterprise-4.21).

If the update in your PR does NOT apply to version 4.21 onward, please re-target this PR to go directly into the appropriate version branch or branches (enterprise-4.x) instead of main.

Copy link
Member

@cybertron cybertron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, after some more investigation into OVS bond configs I have a couple more comments.

Consider the following architectural layout for OVS bridges that interact with OVS interfaces:

* A network interface uses a bridge MAC address for managing protocol-level traffic and other administrative tasks, such as IP address assignment.
* The physical MAC addresses of physical interfaces do not handle traffic.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually for OVS bonding I think my comment may be invalid. We don't clone the MAC address in those configs.

@dfitzmau dfitzmau force-pushed the OSDOCS-14356-new branch 2 times, most recently from f57d4fc to 4bab646 Compare November 7, 2025 12:57
Consider that an OVS bond with `balance-slb` mode enabled might experience issues if the bond forwards unknown unicast traffic from one physical network interface controller (NIC) into the phsycial network through another NIC. This situation can result in an Layer 2 loop, or _bridge loop_, that in turn causes _MAC flapping_.
MAC flapping causes the same MAC address to exist in many network locations for a period of time. For example, a remote switch does not learn the MAC address for the destination of a unicast packet and this causes the packet to exist on all links available on the SLB bond configuration. As a workaround for this issue, you can set the bond to `active-backup` mode during MAC address assignment and then switch the bond to use `balance-slb` mode.
====
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can delete this.

Copy link
Contributor Author

@dfitzmau dfitzmau Nov 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Deleted:

[NOTE]
====
Consider that an OVS bond with balance-slb mode enabled might experience issues if the bond forwards unknown unicast traffic from one physical network interface controller (NIC) into the phsycial network through another NIC. This situation can result in an Layer 2 loop, or bridge loop, that in turn causes MAC flapping.

MAC flapping causes the same MAC address to exist in many network locations for a period of time. For example, a remote switch does not learn the MAC address for the destination of a unicast packet and this causes the packet to exist on all links available on the SLB bond configuration. As a workaround for this issue, you can set the bond to active-backup mode during MAC address assignment and then switch the bond to use balance-slb mode.
====

[source,terminal]
----
bond=bond0:em1,em2:mode=active-backup
ip=bond0:dhcp
Copy link

@rbbratta rbbratta Nov 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this doesn't work. bond= with DHCP does not support MAC cloning, so primary slave fail and reboot will get new DHCP lease with secondary slave MAC.

We need to remove bond= kernel args.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe there is an extra kwarg to set secondary slave MAC.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed:

bond=bond0:em1,em2:mode=active-backup

[source,terminal]
----
bond=bond0:em1,em2:mode=active-backup
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:bond0:none
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bond= with static IP kinda works, but it also doesn't support cloned-macs, but it doesn't necessarily matter for static IP.

Copy link
Contributor Author

@dfitzmau dfitzmau Nov 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed:

bond=bond0:em1,em2:mode=active-backup

@dfitzmau dfitzmau force-pushed the OSDOCS-14356-new branch 2 times, most recently from 759b474 to bad17ba Compare November 20, 2025 11:10
Copy link
Member

@cybertron cybertron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

We'll probably end up tweaking and adding content here, but this is a good start.

[NOTE]
====
As a postinstallation task, you cannot make configuration changes to the `br-ex` bridge or its underlying interfaces. As a workaround, use a secondary network interface connected to your host or switch.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a blocker for this patch, but if we're going to include these notes everywhere an NNCP is mentioned, we might want to explicitly state that it is in relation to Kubernetes-NMState. It is possible to make some changes to the underlying interfaces via other methods.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✔️

Do not use the Kubernetes NMState Operator or a `NodeNetworkConfigurationPolicy` (NNCP) manifest file to define the additional interface. Ensure that the additional interface or sub-interfaces when defining a `bond` interface are not used by an existing `br-ex` OVN Kubernetes network deployment.

Also ensure that the additional interface or sub-interfaces when defining a `bond` interface are not used by an existing `br-ex` OVN Kubernetes network deployment.
As a postinstallation task, you cannot make configuration changes to the `br-ex` bridge or its underlying interfaces. As a workaround, use a secondary network interface connected to your host or switch.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again not specific to this patch, but in this context we should probably include br-ex1 as a do-not-touch interface. I don't think we need to mention it everywhere, but since this doc is discussion the secondary br-ex1 bridge it would be worth including here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✔️

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added br-ex1 to the list two "The following list of interface names are reserved and you cannot use the names with NMstate configurations:" notes.

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Nov 21, 2025
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Nov 24, 2025
@openshift-ci
Copy link

openshift-ci bot commented Nov 24, 2025

New changes are detected. LGTM label has been removed.

@dfitzmau dfitzmau force-pushed the OSDOCS-14356-new branch 3 times, most recently from 08e4444 to 9570f0b Compare November 24, 2025 11:54
@openshift-ci
Copy link

openshift-ci bot commented Dec 2, 2025

@dfitzmau: all tests passed!

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants