From owner-freebsd-current@FreeBSD.ORG Sat Jul 18 04:50:36 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B72A106564A for ; Sat, 18 Jul 2009 04:50:36 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from tarsier.delphij.net (delphij-pt.tunnel.tserv2.fmt.ipv6.he.net [IPv6:2001:470:1f03:2c9::2]) by mx1.freebsd.org (Postfix) with ESMTP id 3509A8FC16 for ; Sat, 18 Jul 2009 04:50:36 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from tarsier.geekcn.org (tarsier.geekcn.org [211.166.10.233]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tarsier.delphij.net (Postfix) with ESMTPS id 5345D5C026 for ; Sat, 18 Jul 2009 12:50:35 +0800 (CST) Received: from localhost (tarsier.geekcn.org [211.166.10.233]) by tarsier.geekcn.org (Postfix) with ESMTP id 198EC55CD85D; Sat, 18 Jul 2009 12:50:34 +0800 (CST) X-Virus-Scanned: amavisd-new at geekcn.org Received: from tarsier.geekcn.org ([211.166.10.233]) by localhost (mail.geekcn.org [211.166.10.233]) (amavisd-new, port 10024) with ESMTP id jOkKs8tuji3m; Sat, 18 Jul 2009 12:49:41 +0800 (CST) Received: from charlie.delphij.net (c-67-188-2-183.hsd1.ca.comcast.net [67.188.2.183]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tarsier.geekcn.org (Postfix) with ESMTPSA id 2E0C555CD859; Sat, 18 Jul 2009 12:49:29 +0800 (CST) DomainKey-Signature: a=rsa-sha1; s=default; d=delphij.net; c=nofws; q=dns; h=message-id:date:from:reply-to:organization:user-agent: mime-version:to:cc:subject:references:in-reply-to: x-enigmail-version:openpgp:content-type; b=TgeLBdlTrbOjPGVfk/ePw4Pf8gfiAtjFaK3B+DhVYF33WvpWhVhI8hXUauyl4Sb8w F2cvaD9cq3+qu3ep4gapQ== Message-ID: <4A61544E.2050208@delphij.net> Date: Fri, 17 Jul 2009 21:49:18 -0700 From: Xin LI Organization: The FreeBSD Project User-Agent: Thunderbird 2.0.0.22 (X11/20090701) MIME-Version: 1.0 To: Ian FREISLICH References: <4A5F8010.7050504@delphij.net> <4A5F7540.7070201@delphij.net> <4A5EF889.6040604@delphij.net> In-Reply-To: X-Enigmail-Version: 0.95.7 OpenPGP: id=18EDEBA0; url=http://www.delphij.net/delphij.asc Content-Type: multipart/mixed; boundary="------------040701050004090602060803" Cc: FreeBSD Current , d@delphij.net Subject: Re: CARP broken on -CURRENT? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: d@delphij.net List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Jul 2009 04:50:37 -0000 This is a multi-part message in MIME format. --------------040701050004090602060803 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I got it. It was the cached llentry that preventing ether_output() to choose the right broadcast/multicast address and use the default gateway's L2 address. Here is a proposed patch. Cheers, - -- Xin LI http://www.delphij.net/ FreeBSD - The Power to Serve! -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.12 (FreeBSD) iEYEARECAAYFAkphVE0ACgkQi+vbBBjt66CghgCeOeqa4vLb+oW1qiZCKAggSdKM O7wAoIF/JL1DNQ/EcuOi8TkNPofJyGLN =hP2w -----END PGP SIGNATURE----- --------------040701050004090602060803 Content-Type: text/plain; name="arpcache-nobmcast.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="arpcache-nobmcast.diff" Index: sys/net/if_ethersubr.c =================================================================== --- sys/net/if_ethersubr.c (revision 195748) +++ sys/net/if_ethersubr.c (working copy) @@ -194,7 +194,8 @@ switch (dst->sa_family) { #ifdef INET case AF_INET: - if (lle != NULL && (lle->la_flags & LLE_VALID)) + if (lle != NULL && (lle->la_flags & LLE_VALID) && + !(m->m_flags & (M_BCAST | M_MCAST))) memcpy(edst, &lle->ll_addr.mac16, sizeof(edst)); else error = arpresolve(ifp, rt0, m, dst, edst, &lle); --------------040701050004090602060803--