Alex
Alex

Reputation: 65

Bond0 - cannot set the right LB algorithm to 802.3ad

Ubuntu 16.04.4

I'm trying to setup a 4 interface bond0. I setup the following:

10-bond0.netdev

[NetDev]
Name=bond0
Kind=bond

[Bond]
Mode=802.3ad
TransmitHashPolicy=layer3+4
MIIMonitorSec=1s
LACPTransmitRate=fast

10-bond0.network

[Match]
Name=bond0

[Network]
Address=10.38.63.1/24

20-enx00145ee890e0.network

[Match]
Name=enx00145ee890e0

[Network]
Bond=bond0

20-enx00145ee890e1.network

[Match]
Name=enx00145ee890e1

[Network]
Bond=bond0

20-enx00145ee890e2.network

[Match]
Name=enx00145ee890e2

[Network]
Bond=bond0

20-enx00145ee890e3.network

[Match]
Name=enx00145ee890e3

[Network]
Bond=bond0

Once up

root@server#cat /sys/class/net/bond0/bonding/mode
balance-rr 0

If I redefine bond0 into bond1 (I move bond0 files into bond1 ones and then adjust the info inside them) then

root@server#cat /sys/class/net/bond1/bonding/mode
802.3ad 4

Also when introducing bond1 I still get bond0 among the interfaces displayed by "ip link show" so bond0 must be defined somewhere but I don't know where.

I have to say that I have a mixed system nased on the networking and systemd-networkd service.

/etc/network/interface doesn't have any reference to bond0

I do want to get rid if networking in favour of systemd-networks but since I don't have access to the server I have to prepare things carefully and accurately.

I don't know from where the system may get that "balance-rr" and not honouring the 802.3ad in the bond0-related files.

Where can I check further?

TIA

Upvotes: 1

Views: 227

Answers (1)

Alex
Alex

Reputation: 65

I think I found the problem

root@brunas:/etc/systemd/network$ systemctl --version systemd 229

I'm hitting this bug

https://github.com/systemd/systemd/issues/7025 https://github.com/systemd/systemd/issues/5971

the workaround as reported in the second link is to create

/etc/modprobe.d/bonding.conf and set

options bonding max_bonds=0

Upvotes: 2

Related Questions