CARP with USB to Ethernet Adapter

Hello,

I am currently testing CARP with my PC and a laptop. My PC has two Ethernet ports so that is not the problem.

The problem is my laptop, it has no Ethernet port. So that I can use an Ethernet cable I set the laptop up with two USB to Ethernet port adapters, from wirezoll on amazon (a random adapter).
When testing CARP my PC takes its Master role as intended but both ports on the laptop stay in the CARP INIT phase instead of the intended CARP Backup. I ping from laptop to PC and I can ping from PC to laptop. I am not sure what the issue is.

Is there something in the Kernel I need to add?

I tried loading the usb to ethernet adapters into Kernel that I saw in the handbook (https://www.freebsd.org/doc/handbook/network-usb-tethering.html) but I received a message of "kldload: can't load if_cdce: module already loaded or in kernel"

I also added if_cdce_load="YES" into /boot/loader.conf as a precaution. It still does not work.

Am I missing a step? Or CARP does not work with USB to Ethernet adapters?

Any guidance would be much appreciated.

Thanks!
 
When testing CARP my PC takes its Master role as intended but both ports on the laptop stay in the CARP INIT phase instead of the intended CARP Backup.
Both ethernet interfaces need to be connected to a switch, they need to be able to communicate with each other (multicast).


Or CARP does not work with USB to Ethernet adapters?
The fact they are USB is irrelevant.
 
Both ethernet interfaces need to be connected to a switch, they need to be able to communicate with each other (multicast).



The fact they are USB is irrelevant.


Thank you for your kind reply SirDice
I forgot to mention that they are connected to two separate dummy switches (Netgear Model GS108). Perhaps these switches cannot handle multicast? I will double check.
 
Are they connected to each other?


Possible but I doubt that.


SirDice I am using one switch for one network and the other switch for another network. The PC and laptop are both connected to the same switch of the respective network. They were able to ping each other which tells me unicast works. As CARP is multicast I have a feeling the switch does not support multicast.

In any case, I am going to try this with two different 3750 Cisco switches and report back with what I find. Thank you!
 
SirDice I am using one switch for one network and the other switch for another network. The PC and laptop are both connected to the same switch of the respective network. They were able to ping each other which tells me unicast works. As CARP is multicast I have a feeling the switch does not support multicast.

In any case, I am going to try this with two different 3750 Cisco switches and report back with what I find. Thank you!

SirDice
I configured the cisco switches to have 2 separate networks. But I still have the same issue. I also did a tcp dump of respective ports in the PC and Laptop. The laptop can see the vrrpv2 advertisements from the PC to 224.0.0.18 but the PC can only see its own advertisements to 224.0.0.18, no advertisements from the laptop. I am assuming the laptop can see the PCs advertisements because it already is the Master and I did not set up preempt but at the very least the laptop should become Backup but it does not. It just stays in CARP INIT.

Any ideas of what could be wrong with the laptop setup?
 
I configured the cisco switches to have 2 separate networks.
What do you mean with "2 separate networks"? Broadcast domains? IP subnets?

I am assuming the laptop can see the PCs advertisements because it already is the Master and I did not set up preempt but at the very least the laptop should become Backup but it does not.
No, each node in a group must be able to send/receive the CARP multicast, their state has nothing to do with it. One of them is stuck in "Init" because this communication is failing.

Use one interface on the laptop and one interface on the desktop on one and the same network. Figure this one out first. Then add the second interface and second network in order to turn the desktop/laptop combo into a high-availability (active/passive) firewall/router. I have a feeling you're trying to run before you're able to walk.
 
What do you mean with "2 separate networks"? Broadcast domains? IP subnets?


No, each node in a group must be able to send/receive the CARP multicast, their state has nothing to do with it. One of them is stuck in "Init" because this communication is failing.

Use one interface on the laptop and one interface on the desktop on one and the same network. Figure this one out first. Then add the second interface and second network in order to turn the desktop/laptop combo into a high-availability (active/passive) firewall/router. I have a feeling you're trying to run before you're able to walk.


SirDice
Thank you very much I found my issue. It was the use of a usb extender. I used another laptop and setup a freebsd vm in virtualbox and used the same USB to Ethernet port adapters and it worked beautifully. Both went from INIT -> Backup -> Master or just from INIT -> Backup. I also test them flip flopping in opposite directions and mix and matched, they worked great.

Thank you for your kind help in this. Much appreciated!!

P.S. Do not use a USB data hub for CARP things, it does not perform as you would think. Lesson learned!
 
FYI, with dumb devices and hubs, multicast traffic is (or should be) treated as broadcast.

Keep in mind that USB 1.0 and 2.0 run at half duplex at 12Mbps and 480Mbps respectively which is why your GbE USB adapters are USB 3.0. If the USB hub is 2.0 then that's the issue. USB like PCIe is fully backwards compatible in both directions.

If you're running GbE USB adapters, get rid of all of your USB 1.0 and 2.0 hubs as you will have these strange problems again or ensure you're plugging in your USB 3.0 devices only into USB 3.0 ports.
 
Back
Top