I tried to create a failover link aggregation network interface, but encountered some problems. The "MII Polling Interval" is always 0, so that it cannot detect a slave failure and switch to another card. (No matter using TrueNAS CLI or Web UI to create link aggregation, it is the same result.)
If I unplug an ethernet cable, a device down event raises (shows in dmesg), but still "MII Status: up".
two network card: Intel I219-V and Realtek RTL8125b
I found this related to my problem: Add the mii monitoring during bond creation. It shows this issue has been fixed. But in my case, it seems not.
---
And by the way, web ui suggests "The order is important because the FAILOVER lagg protocol will mark the first interface as the "primary" interface."
But I tried that the order doesn't matter. In this situation, it just chooses Realtek RTL8125b as primary.
Are these bugs, or am I missing something?
Code:
root@truenas[~]# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v5.15.79+truenas Bonding Mode: fault-tolerance (active-backup) Primary Slave: enp1s0 (primary_reselect always) Currently Active Slave: enp1s0 MII Status: up MII Polling Interval (ms): 0 <----- HERE Up Delay (ms): 0 Down Delay (ms): 0 Peer Notification Delay (ms): 0 Slave Interface: eno1 MII Status: up Speed: 100 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: [...] Slave queue ID: 0 Slave Interface: enp1s0 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: [...] Slave queue ID: 0
If I unplug an ethernet cable, a device down event raises (shows in dmesg), but still "MII Status: up".
My temporary workaround
Change the content of file /sys/class/net/bond0/bonding/miimon from 0 to 100 can solve this problem. (It is definitely not recommended)System Info
TrueNAS-SCALE-22.12.0two network card: Intel I219-V and Realtek RTL8125b
I found this related to my problem: Add the mii monitoring during bond creation. It shows this issue has been fixed. But in my case, it seems not.
---
And by the way, web ui suggests "The order is important because the FAILOVER lagg protocol will mark the first interface as the "primary" interface."
But I tried that the order doesn't matter. In this situation, it just chooses Realtek RTL8125b as primary.
Are these bugs, or am I missing something?