[nycbug-talk] Open/Free CARP implementation differences
dave at donnerjack.com
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