Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Dec 2010 00:54:58 +0900 (JST)
From:      Hiroki Sato <hrs@FreeBSD.org>
To:        jhay@FreeBSD.org
Cc:        freebsd-net@FreeBSD.org, jhb@FreeBSD.org
Subject:   Re: IFT_L2VLAN and IPv6 link-local addresses
Message-ID:  <20101221.005458.144703395.hrs@allbsd.org>
In-Reply-To: <201012200807.57670.jhb@freebsd.org>
References:  <20101220061057.GA36160@zibbi.meraka.csir.co.za> <201012200807.57670.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
----Security_Multipart(Tue_Dec_21_00_54_58_2010_817)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

John Baldwin <jhb@freebsd.org> wrote
  in <201012200807.57670.jhb@freebsd.org>:

jh> On Monday, December 20, 2010 1:10:57 am John Hay wrote:
jh> > Hi,
jh> >
jh> > I see that on FreeBSD-8 if you use IPv6 inside vlans, the local part of
jh> > the address (bottom 64 bits) is based on the MAC address of the first
jh> > ethernet interface on the system. It was not like this in my old -7,
jh> > machine, so I looked around a bit. It looks like it is because vlans were
jh> > changed to report their type as IFT_L2VLAN. So I made this patch to the
jh> > IPv6 code that fix it for me:
jh> >
jh> > Index: sys/netinet6/in6_ifattach.c
jh> > ===================================================================
jh> > RCS file: /home/ncvs/src/sys/netinet6/in6_ifattach.c,v
jh> > retrieving revision 1.74.2.3
jh> > diff -u -U 5 -r1.74.2.3 in6_ifattach.c
jh> > --- sys/netinet6/in6_ifattach.c	6 May 2010 06:44:19 -0000	1.74.2.3
jh> > +++ sys/netinet6/in6_ifattach.c	15 Dec 2010 18:33:45 -0000
jh> > @@ -265,10 +265,11 @@
jh> >  	addrlen = sdl->sdl_alen;
jh> >
jh> >  	/* get EUI64 */
jh> >  	switch (ifp->if_type) {
jh> >  	case IFT_ETHER:
jh> > +	case IFT_L2VLAN:
jh> >  	case IFT_FDDI:
jh> >  	case IFT_ISO88025:
jh> >  	case IFT_ATM:
jh> >  	case IFT_IEEE1394:
jh> >  #ifdef IFT_IEEE80211
jh> >
jh> > Anything against me committing it? Am I missing something? Should it be
jh> > sorted differently? Should it also be merged?
jh>
jh> This looks correct.  Please fix and MFC.  I haven't merged the kernel changes
jh> to change the type of IFT_ for vlan's yet as I was worried about applications
jh> such as this needing to be updated (such as dhcpd for example).  I had thought
jh> that I had not merged the kernel change to 8 though, that it was just in 9?

 Agreed with the fix, but I think both 7.X and 8.X pick the first IF's
 address anyway.  Which log message did you get, "borrow interface
 identifier from..."  or "...got interface identifier from itself"
 when net.inet6.icmp6.nd6_debug=1 on 7.X and 8.X, respectively?

-- Hiroki

----Security_Multipart(Tue_Dec_21_00_54_58_2010_817)--
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEABECAAYFAk0PfFIACgkQTyzT2CeTzy1h4wCeJaHEMhyf3i+yNxZa7Gc7lyhS
4y0AoLBQk5pOySS60nEVIEppIeSaUY8o
=ki4p
-----END PGP SIGNATURE-----

----Security_Multipart(Tue_Dec_21_00_54_58_2010_817)----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101221.005458.144703395.hrs>