Skip site navigation (1)Skip section navigation (2)
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>