[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: network bonding on Debian/Trixie





On Wed, Oct 18, 2023 at 7:34 AM Darac Marjal <mailinglist@darac.org.uk> wrote:
On 16/10/2023 21:59, Gary Dale wrote:
> I'm trying to configure network bonding on an AMD64 system running
> Debian/Trixie. I've got a wired connection and a wifi connection, both
> of which work individually. I'd like them to work together to improve
> the throughput but for now I'm just trying to get the bond to work.
> However when I configure them, the wifi interface always shows down.
>
> # ip addr
> 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
> group default qlen 1000
>     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
>     inet 127.0.0.1/8 scope host lo
>        valid_lft forever preferred_lft forever
>     inet6 ::1/128 scope host noprefixroute
>        valid_lft forever preferred_lft forever
> 2: enp10s0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq
> master bond0 state UP group default qlen 1000
>     link/ether 3c:7c:3f:ef:15:47 brd ff:ff:ff:ff:ff:ff
> 4: wlxc4411e319ad5: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state
> DOWN group default qlen 1000
>     link/ether c4:41:1e:31:9a:d5 brd ff:ff:ff:ff:ff:ff
> 7: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc
> noqueue state UP group default qlen 1000
>     link/ether 3c:7c:3f:ef:15:47 brd ff:ff:ff:ff:ff:ff
>     inet 192.168.1.20/24 brd 192.168.1.255 scope global bond0
>        valid_lft forever preferred_lft forever
>     inet6 fe80::3e7c:3fff:feef:1547/64 scope link proto kernel_ll
>        valid_lft forever preferred_lft forever
>
> It does this even if I pull the cable from the wired connection. The
> wifi never comes up.
>
> Here's the /etc/network/interfaces file:
>
> auto lo
> iface lo inet loopback
>
> auto enp10s0
> iface enp10s0 inet manual
>     bond-master bond0
>     bond-mode 1
>
> auto wlxc4411e319ad5
> iface wlxc4411e319ad5 inet manual
>     bond-master bond0
>     bond-mode 1
>
> auto bond0
> iface bond0 inet static
>     address 192.168.1.20
>     netmask 255.255.255.0
>     network 192.168.1.0
>     gateway 192.168.1.1
>     bond-slaves enp10s0 wlxc4411e319ad5
>     bond-mode 1
>     bond-miimon 100
>     bond-downdelay 200
>     bond-updelay 200
>
>
> I'd like to get it to work in a faster mode but for now the backup at
> least allows the networking to start without the wifi. Other modes
> seem to disable networking until both interfaces come up, which is not
> a good design decision IMHO. At least with mode 1, the network starts.
>
> Any ideas on how to get the wifi to work in bonding?

I use systemd-networkd to configure bonding in the same way. I use the
"active-backup" mode and one parameter that I don't *think* you've set
is the "primary".  According to
https://www.kernel.org/doc/Documentation/networking/bonding.txt, you'd
set "primary" to the interface which is always active if it's available.
So you probably want to set "bond-primary enp10s0" so that the system
will switch to the cable when it's connected; when the cable disconnects
it should switch over to the wifi. Without "primary" being set, I
suspect the system doesn't have any motivation to prefer the cable when
both are connected.

As mentioned before check

$ cat /proc/net/bonding/bond0

and if the status of the interface(s) in there is "down" then that's it it is down and you will never see it being promoted into primary.

Regarding mii-toll this is from my ubuntu 22.04 server interfaces from dual port PCIe card:

# mii-tool enp2s0f0
enp2s0f0: negotiated 1000baseT-FD flow-control, link ok
# mii-tool enp2s0f1
enp2s0f1: negotiated 1000baseT-FD flow-control, link ok

hence my bonding works with mii-mon enabled (albeit in LACP mode but the concept is the same).



Reply to: