From owner-freebsd-net@FreeBSD.ORG Wed Nov 5 09:50:22 2003 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 250AA16A4CE; Wed, 5 Nov 2003 09:50:22 -0800 (PST) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.183]) by mx1.FreeBSD.org (Postfix) with ESMTP id D335143FE1; Wed, 5 Nov 2003 09:50:20 -0800 (PST) (envelope-from max@love2party.net) Received: from [212.227.126.162] (helo=mrelayng.kundenserver.de) by moutng.kundenserver.de with esmtp (Exim 3.35 #1) id 1AHRnQ-0005L1-00; Wed, 05 Nov 2003 18:50:20 +0100 Received: from [217.83.9.158] (helo=max2400) by mrelayng.kundenserver.de with asmtp (Exim 3.35 #1) id 1AHRnP-0007nV-00; Wed, 05 Nov 2003 18:50:19 +0100 Date: Wed, 5 Nov 2003 18:50:15 +0100 From: Max Laier X-Mailer: The Bat! (v2.00) UNREG / CD5BF9353B3B7091 Organization: n/a X-Priority: 3 (Normal) Message-ID: <1443355500.20031105185015@love2party.net> To: current@freebsd.org, net@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: CARP (Common Address Redundancy Protocol) X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Max Laier List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Nov 2003 17:50:22 -0000 You might be aware that OpenBSD has introduced a 2-clause BSD-licensed high availability and load balancing protocol called CARP: http://marc.theaimsgroup.com/?l=openbsd-misc&m=106642790513590&w=2 http://www.deadly.org/article.php3?sid=20031018101733 I have a working patchset to bring CARP to FreeBSD-Current and would like to hear you opinon: http://pf4freebsd.love2party.net/carp.html CARP shows itself as virtual interfaces carpX and works a bit like vlan interfaces. For comunication between the servers which share a common address it uses a multicast group. It supports both IPv4 and IPv6 common addresses and should work on ETHERNET, FDDI and TOKENRING nets - later two untested, though. Standing problems: - IPv4: * Server can't access the common address while MASTER for it. OpenBSD has a workaround for this, but we can't add host routes with virtual interfaces as gateway, so we need another fix. - IPv6: * Traffic to the common address on the server is always threated locally, even when in BACKUP state. * in6_ifattach() will error out - this seems to have no ill effects and can easily be fixed by selecting a special if_type for CARP interfaces. - Locking?!? - You tell me! Tests: Very basic tests for IPv4 and IPv6 performed with OpenBSD as a "known good" peer. I have very limited test environment at the moment. Code: http://pf4freebsd.love2party.net/carp.diff Perforce: branch mlaier_carp -- Best regards, Max Laier mailto:max@love2party.net