status of carpdev?

Tom Uffner tom at uffner.com
Thu Feb 26 00:24:03 PST 2009


Tom Uffner wrote:
> what happened with the effort to port "ifconfig ... carpdev ..." to
> FreeBSD?
> 
> the last messages mentioning it were posted a bit more than a year ago.
> if i remember correctly, there was a patch for IPv4 only. it was considered
> Beta test quality and a few people were using it. but since then i have not
> seen it mentioned anywhere, and nothing has been committed.
> 
> what is the status, and is there a usable patch for 7.1?

answering my own question, sort of...

the most recent incarnation of Max's carpdev patch that I can find is
http://docs.freebsd.org/cgi/mid.cgi?200712091835.33608.max

it applies almost cleanly to recent RELENG_7 - there are rejects in
one file, but they are pretty obvious and easy to fix.

but building a kernel fails in sys/netinet/ip_carp.c:

cc1: warnings being treated as errors
/usr/src/sys/netinet/ip_carp.c: In function 'carp_setroute':
/usr/src/sys/netinet/ip_carp.c:394: warning: assignment from incompatible 
pointer type
*** Error code 1

this is due to the multiple routing table changes, and the break most
likely occurred here:
----------------------------
revision 1.120.2.4
date: 2008/07/24 01:13:22;  author: julian;  state: Exp;  lines: +355 -95
SVN rev 180774 on 2008-07-24 01:13:22Z by julian

MFC an ABI compatible implementation of Multiple routing tables.
See the commit message for
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/net/route.c
version 1.129 (svn change # 178888) for more info.

Obtained from:   Ironport (Cisco Systems)
----------------------------

so, no. there is not a usable patch for 7.1.

I am not very familiar with the implications of this change. Is it
feasable to just ignore it and use row 0 of rt_tables[][] ? Or do I
need to do something more sophisticated?

what are the chances of getting this patch updated, or even better,
completed & committed?

i have neither the time nor the knowledge to attempt to code the
IPv6 bits, but I would be willing to test (for IPv4) on a production
firewall pair, and maybe try v6 on a test network.

tom


More information about the freebsd-pf mailing list