hi wpceswpces
Option 1 (Best practice): systemd-networkd with 4x MGBE → bond0
/etc/systemd/network/20-bond0.netdev
Name=bond0
Kind=bond
[Bond]
Mode=802.3ad
MIIMonitorSec=1s
# Optional tuning:
# LACPTransmitRate=fast
# TransmitHashPolicy=layer3+4
/etc/systemd/network/20-bond0.network
[Match]
Name=bond0
[Link]
MTUBytes=9000
[Network]
# If using static ip.
IPv6AcceptRA=no
BindCarrier=mgbe0_0 mgbe0_1 mgbe0_2 mgbe0_3
# IPv4 static
Address=192.168.10.20/24
Gateway=192.168.10.1
DNS=192.168.10.1
DNS=1.1.1.1
# IPv6 static (keep if you are using IPv6)
Address=fd00:10::20/64
Gateway=fd00:10::1
DNS=fd00:10::1
# Optional search domain:
# Domains=lan
/etc/systemd/network/10-mgbe0_0.network
[Match]
Name=mgbe0_0
[Link]
MTUBytes=9000
[Network]
Bond=bond0
/etc/systemd/network/10-mgbe0_1.network
Name=mgbe0_1
[Link]
MTUBytes=9000
[Network]
Bond=bond0
/etc/systemd/network/10-mgbe0_2.network
[Match]
Name=mgbe0_2
[Link]
MTUBytes=9000
[Network]
Bond=bond0
/etc/systemd/network/10-mgbe0_3.network
[Match]
Name=mgbe0_3
[Link]
MTUBytes=9000
[Network]
Bond=bond0
Apply and verify
sudo systemctl enable --now systemd-networkd
sudo systemctl restart systemd-networkd
networkctl status bond0
ip addr show bond0
ip route show
resolvectl status bond0
cat /proc/net/bonding/bond0
Option 2: NetworkManager (nmcli) with 4× MGBE into bond0
sudo nmcli con add type bond ifname bond0 con-name bond0 mode 802.3ad
sudo nmcli con modify bond0 802-3-ethernet.mtu 9000
sudo nmcli con modify bond0 bond.options "mode=802.3ad,miimon=100,lacp_rate=fast,xmit_hash_policy=layer3+4"
for i in 0 1 2 3; do
sudo nmcli con add type ethernet ifname mgbe0_$i con-name bond0-mgbe0_$i master bond0
sudo nmcli con modify bond0-mgbe0_$i 802-3-ethernet.mtu 9000
done
sudo nmcli con up bond0
# Verify
nmcli -f NAME,TYPE,DEVICE con show --active
ip -d link show bond0
cat /sys/class/net/bond0/mtu
for d in mgbe0_0 mgbe0_1 mgbe0_2 mgbe0_3; do cat /sys/class/net/$d/mtu; done