From owner-freebsd-current@FreeBSD.ORG Tue Apr 4 10:35:00 2006 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CB2D116A420 for ; Tue, 4 Apr 2006 10:35:00 +0000 (UTC) (envelope-from dd@freebsd.org) Received: from charade.trit.org (charade.trit.org [65.19.139.44]) by mx1.FreeBSD.org (Postfix) with ESMTP id 33B4543D48 for ; Tue, 4 Apr 2006 10:34:59 +0000 (GMT) (envelope-from dd@freebsd.org) Received: from maverick.trit.org (maverick.trit.org [IPv6:2001:4830:2381:2062:212:f0ff:fe4c:896a]) by charade.trit.org (Postfix) with ESMTP id CF73F1AF954 for ; Tue, 4 Apr 2006 10:34:57 +0000 (UTC) Received: from maverick.trit.org (localhost [127.0.0.1]) by maverick.trit.org (8.13.4/8.13.4) with ESMTP id k34AYvXb001650 for ; Tue, 4 Apr 2006 10:34:57 GMT (envelope-from dd@freebsd.org) Received: (from dima@localhost) by maverick.trit.org (8.13.4/8.13.4/Submit) id k34AYueX001648 for current@freebsd.org; Tue, 4 Apr 2006 10:34:56 GMT (envelope-from dd@freebsd.org) X-Authentication-Warning: maverick.trit.org: dima set sender to dd@freebsd.org using -f Date: Tue, 4 Apr 2006 10:34:56 +0000 From: Dima Dorfman To: current@freebsd.org Message-ID: <20060404103456.GA988@trit.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="k+w/mQv8wyuph6w0" Content-Disposition: inline X-PGP-Key: 69FAE582 (https://www.trit.org/~dima/dima.asc) X-PGP-Fingerprint: B340 8338 7DA3 4D61 7632 098E 0730 055B 69FA E582 User-Agent: Mutt/1.5.9i Cc: Subject: CARP broken with IPv6 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2006 10:35:01 -0000 --k+w/mQv8wyuph6w0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable CARP seems to be broken with IPv6 on today's -current. When an inet6 address is configured on a carp interface, it panics the first time it tries to send an advertisement: panic: _mtx_lock_sleep: recursed on non-recursive mutex carp_if @ ../../../= netinet/ip_carp.c:1191 The traceback looks like this: #14 0xc05c4a65 in carp_macmatch6 (v=3D0xc6a71500, m=3D0xc6646700, taddr=3D0= xc6b3449c) at ../../../netinet/ip_carp.c:1191 #15 0xc060414c in nd6_na_output (ifp=3D0xc64c7000, daddr6_0=3D0xe4fabbc4,= =20 taddr6=3D0xc6b3449c, flags=3D32, tlladdr=3D1, sdl0=3D0x0) at ../../../netinet6/nd6_nbr.c:968 #16 0xc05c45dd in carp_send_na (sc=3D0xc69e9200) at ../../../netinet/ip_carp.c:1053 #17 0xc05c4e10 in carp_master_down_locked (sc=3D0xc69e9200) at ../../../netinet/ip_carp.c:1273 #18 0xc05c4d4b in carp_master_down (v=3D0xc69e9200) at ../../../netinet/ip_carp.c:1251 #19 0xc05370d9 in softclock (dummy=3D0x0) at ../../../kern/kern_timeout.c:2= 71 If I allow the mutex to recurse, the panic goes away (of course) but I never see an advertisement being sent. CARP appears to work okay with IPv4. The cause of the panic is obvious, but I don't quite understand what carp_macmatch6 is for. Should it be supported in this code path? If so, I'll try to investigate further why advertisements aren't sent even after the mutex is allowed to recurse. I believe that the same issue exists in the 6-STABLE branch, but I can't be sure. It does not appear to work there with inet6, but that test was in a completely environment, so it might be a different issue. Is this issue known on -current? --k+w/mQv8wyuph6w0 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- iD8DBQFEMkvQBzAFW2n65YIRAvEVAJ0YSVOzWiOdbqWu/vi/bW3sNYAdcACggtaL k605Detmyp+Vp7OyJTQU+q4= =ORZD -----END PGP SIGNATURE----- --k+w/mQv8wyuph6w0--