Alexandre Cassen wrote:
Hello,
I planed to add support to CARP in future release, I exchanged with
OpenBSD author in the past asking to port it to linux. Since CARP is
quite similar to VRRP the work can be done very quickly, but as I
asked to OpenBSD hackers to port it quickly I need a small specs on
differences between VRRP and CARP... no news...
All I could find:
A reader who is familiar with VRRP will find this is somewhat familiar,
however there are some significant differences:
* The CARP protocol is address family independent. The OpenBSD
implementation supports both IPv4 and IPv6, as a transport for the CARP
packets as well as common addresses to be shared.
* CARP has an "arpbalance" feature that allows multiple hosts to
share a single IP address simultaneously; in this configuration, there
is a virtual MAC address for each host, but only one IP address.
* CARP uses a cryptographically strong SHA-1 HMAC to protect each
advertisement.
And digging around in the OpenBSD CVS:
http://www.openbsd.org/cgi-bin/cvsweb/src/sys/netinet/ip_carp.c
http://www.openbsd.org/cgi-bin/cvsweb/src/sys/netinet/ip_carp.h
I've also seen reference to IP Protocol 21, which is VRRP, so I'm
guessing they took VRRP and got rid of whatever the patent covered?
Is there a CARP lib that works with linux? I found ucarp, but it's
all userland tools.
If you only need a small throught put then userland is enought, I
would said, is the best IMHO. To handle around 20pps is the worst
case... :)
True. My thinking is that, if a libcarp existed, you (or whoever
maintains CARP for keepalived) wouldn't have to keep up with a userland
tool's changes.
Any idea where the RFC for the CARP protocol is? I can only find
info on CARP as used in Squid, which isn't the same protocol.
If you got some specs please forward then :)
I've been digging around for an hour now, but I can't find anything
useful :(
--
-Jacob
|