Re: IFT_L2VLAN and IPv6 link-local addresses



On Monday, December 20, 2010 1:10:57 am John Hay wrote:
Hi,

I see that on FreeBSD-8 if you use IPv6 inside vlans, the local part of
the address (bottom 64 bits) is based on the MAC address of the first
ethernet interface on the system. It was not like this in my old -7,
machine, so I looked around a bit. It looks like it is because vlans were
changed to report their type as IFT_L2VLAN. So I made this patch to the
IPv6 code that fix it for me:

Index: sys/netinet6/in6_ifattach.c
===================================================================
RCS file: /home/ncvs/src/sys/netinet6/in6_ifattach.c,v
retrieving revision 1.74.2.3
diff -u -U 5 -r1.74.2.3 in6_ifattach.c
--- sys/netinet6/in6_ifattach.c 6 May 2010 06:44:19 -0000 1.74.2.3
+++ sys/netinet6/in6_ifattach.c 15 Dec 2010 18:33:45 -0000
@@ -265,10 +265,11 @@
addrlen = sdl->sdl_alen;

/* get EUI64 */
switch (ifp->if_type) {
case IFT_ETHER:
+ case IFT_L2VLAN:
case IFT_FDDI:
case IFT_ISO88025:
case IFT_ATM:
case IFT_IEEE1394:
#ifdef IFT_IEEE80211

Anything against me committing it? Am I missing something? Should it be
sorted differently? Should it also be merged?

This looks correct. Please fix and MFC. I haven't merged the kernel changes
to change the type of IFT_ for vlan's yet as I was worried about applications
such as this needing to be updated (such as dhcpd for example). I had thought
that I had not merged the kernel change to 8 though, that it was just in 9?

--
John Baldwin
_______________________________________________
freebsd-net@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe@xxxxxxxxxxx"