Created attachment 864293 [details]
Test script: bond-ip.sh [-1 ethX -2 ethY] [-m mode] [one|two|]
This script sets up a bonding to illustrate the behavior/rtnetlink enslave
processing change in 6.1 kernel -- regression to 4.x (sle12) - 6.0.x kernels.
It is using the `ip link` commands, stop/shutdown (bond0 in) wicked before.
Use the optional -1 and -2 options to specify the slave interface names;
it is setting up a bond0 in active-backup mode to work with any switch.
* bond-ip.sh -1 ethX -2 ethY one
Is the variant wicked is using and setting the link down and enslaving to
bond in a single `ip link set down master bond dev ethX` call aka rtnetlink
message that were working with all 4.x .. 6.0.x kernels and stopped to work
with 6.1 kernel.
[���] A slave has to be set down before enslave or the kernel will reject it.
* bond-ip.sh -1 ethX -2 ethY two
Possible workaround -- as two instead of one `ip link set` rtnetlink message
any more, thus it _may_ cause some race conditions or side effect...
The 1st ip link is setting the slave down, 2nd enslaves to the master.
* bond-ip.sh [-1 ethX -2 ethY]
This is a [���] setup failure case without to set the links down before enslave
to show that setting/ensuring that the slave links are down is required.