February 2, 20215 yr Hey, hopefully a relative simple question. I have two NICs in an active-backup bond. How will unraid prioritise which is the primary NIC? Scenario: One NIC is GbE, other is 10GbE, I want the latter to take priority where possible. Thanks
February 8, 20215 yr Hi there, We do not have explicit UI support for specifying which interface should be "primary". However, setting up the bond involves loading the bonding kernel module. If running latest 6.9 release, you can specify which interface to set as primary using this method: Create a file on the flash: config/modprobe.d/bonding.conf which contains the single line: options bonding primary=eth0 (You might need to create the 'modprobe.d' directory.) Then reboot. Of course, instead of eth0, specify eth1 or eth2, etc. depending on which interface you want to be primary. After reboot you can check if it worked by typing this command: cat /proc/net/bonding/bond0 You should see the selected interface show up as "Primary Slave". Let us know if you try this and have any issues (or successes)!
November 29, 20223 yr Just wanted to close the loop on this thread in case anyone else comes to it. I had the same question/problem, and did exactly as @jonp suggested and it worked perfectly for me. Thank you.
April 2, 20242 yr Is this still currently working in 6.12.9? I had eth0 and eth1 (onboard motherboard) gigabit nics in bond0 already configured. I have eth4 which is a 2.5Gbps NIC. I added it to bond0 and created the bonding.conf file selecting eth4, but on reboot, it still shows eth0 as primary-slave instead of eth4. # cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v6.1.82-Unraid Bonding Mode: fault-tolerance (active-backup) Primary Slave: eth0 (primary_reselect always) Currently Active Slave: eth0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Peer Notification Delay (ms): 0 Slave Interface: eth0 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: ac:1f:6b:e6:f7:8a Slave queue ID: 0 Slave Interface: eth1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: ac:1f:6b:e6:f7:8b Slave queue ID: 0 Slave Interface: eth4 MII Status: up Speed: 2500 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: b4:4b:d6:27:26:19 Slave queue ID: 0 # cat /boot/config/modprobe.d/bonding.conf options bonding primary=eth4 Am I doing something wrong, or do I need to make some change to make eth4 become eth0? Thanks in advance! Edit: I just changed the 2.5Gbe nic to eth0 and then discovered my switch's uplink cable was bad, despite showing link. After replacing the bad cable, I've got my desired setup which is 2.5Gbps nic primary, with two failover gigabit nics. Edited April 3, 20242 yr by CaptainMorganCrunch Resolved my issue
October 20, 2025Oct 20 I got the following to work. Edit /boot/config/network.cfg. Change BONDNICS[0] order to be what you want. Note: Changing static ip or other network settings may make network.cfg regenerate and you will lose this setting. But, it does survive a reboot.BONDNICS[0]="eth0 eth1 eth2" to BONDNICS[0]="eth1 eth0 eth2" Edited October 20, 2025Oct 20 by MattyBoy
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.