I have a number of servers each of which has 2 nics ( 1 x 1Gbps, 1 x 100Mbps). Previously I had them configured using ifplugd priorities so the slower nic only came online if the “primary” stopped working for some reason. Many other components on the network don’t seem to play well with bonded nics, so this was the simplest solution.
ifplugd priorities don’t seem to work with wicked.
Can anyone advise how (without writing a script to do the same job) I can get this setup to work: 2 NICs plugged in, 1 active (the “best”) at any one time, automatic switchover.
That’s an interesting configuration.
I haven’t done much with it since I personally “discovered” ifplugd several openSUSE versions ago.
I guess my initial questions would be
- Why switch NICs? Wouldn’t it be better to just use the faster NIC from the beginning? Most NICs have the option to auto-negotiate speed but that usually depends on the device they’re connected to, If connecting to a slower device, it won’t matter if you have a faster NIC, the speed will be determined by the slower NIC.
- Packets are transferred serially on an ethernet network, this means that only one packet can “light up” the physical link at a time. There is no such thing for example that a 1G NIC might be able to talk faster than a 100MB NIC to several 100MB NICs faster on a network. Since your Server can talk to only one other NIC at a time and not several at once, there is no advantage.
The only way your NIC <might> be faster is if you bond multiple NICs <but> each bonded NIC also is on its own separate physical link connecting to each other remote device. Or, the remote device is a faster NIC than each of your Server NICs.
Given the above, unless you have some kind of fancy networking set up to support faster speeds, switching to a faster NIC does nothing.
So, if you find that one NIC works better than the other, IMO it makes sense to just use that one NIC and not the other at all.
The other thing to note and if you did switch NICs is that you have to disable your original NIC, advertise your new NIC as the recognized connection to your machine (typically invoking some ARPs) and de-advertising your old NIC (not sure how that might work… somehow clear remote ARP caches?). Then you <might> have to also deal with name resolution caches if your IP address also changes (not an absolute given since only your MAC address is changing but depends greatly on how you are implementing DNS and broadcasts in your network).
Also, I’ve written often in these networks about connecting multiple NICs to the same network and the problems that causes (more often when someone plugs in a wired 802.3 cable while also leaving on an active WiFi but also sometimes just plugging in both NICs to the same switch). A big no-no, as packets will often arrive at the wrong NIC, have to be dropped and re-sent.
So, as you might see…
- Changing NICs might have questionable benefits unless I’m missing something
- There are far ranging consequences related to changing your MAC address and possibly also your IP address (which is often tied to the MAC address) on your network.