Date: Fri, 17 Jul 2009 21:49:18 -0700 From: Xin LI <delphij@delphij.net> To: Ian FREISLICH <ianf@clue.co.za> Cc: FreeBSD Current <freebsd-current@freebsd.org>, d@delphij.net Subject: Re: CARP broken on -CURRENT? Message-ID: <4A61544E.2050208@delphij.net> In-Reply-To: <E1MRYA8-0005df-D6@clue.co.za> References: <4A5F8010.7050504@delphij.net> <4A5F7540.7070201@delphij.net> <4A5EF889.6040604@delphij.net> <E1MRNt8-0004so-2J@clue.co.za> <E1MRWFf-0005Xt-P8@clue.co.za> <E1MRYA8-0005df-D6@clue.co.za>
next in thread | previous in thread | raw e-mail | index | archive | help
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 <delphij@delphij.net> 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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A61544E.2050208>