[nycbug-talk] Open/Free CARP implementation differences

David Lawson dave
Sun Mar 5 20:01:11 EST 2006

I'm posting this here per Ike's request, it was originally a private  
answer to his question about the variation in CARP implementation  
between Open and Free.

The primary difference I've found is that, at least in the OpenBSD  
docs I've looked at, CARP interfaces are tied to a physical  
interface, a.l.a. aliases.  This doesn't appear to be the case in  
Free, they appear to be pure virtual interfaces.  I have a feeling  
there's some underlying code there that ties a CARP interface to a  
physical interfaces with an address on the same subnet, but I've no  
proof of it and I'm not entirely sure that's a safe assumption.  For  
example, look at the OpenBSD man page for CARP:

Note that there's a tip in there, down at the bottom, saying that pf  
will interpret packets coming in over the CARP virtual interface as  
actually coming through the physical interface that it's tied to.   
Since no such relationship exists in Free, I'm a little puzzled as to  
how to compose my rulesets.  That's the biggest difference I've found  
so far, that Free doesn't have a carpdev option to ifconfig when  
you're invoking a CARP interface, and that you can create one in the  
same command you use to configure it, rather than creating it, then  
doing IP configuration and vhid assignments and the like.


More information about the talk mailing list