svn commit: r210937 - head/sys/net
John Baldwin
jhb at FreeBSD.org
Fri Aug 6 15:15:27 UTC 2010
Author: jhb
Date: Fri Aug 6 15:15:26 2010
New Revision: 210937
URL: http://svn.freebsd.org/changeset/base/210937
Log:
Adjust the interface type in the link layer socket address for vlan(4)
interfaces to be a vlan (IFT_L2VLAN) rather than an Ethernet interface
(IFT_ETHER). The code already fixed if_type in the ifnet causing some
places to report the interface as a vlan (e.g. arp -a output) and other
places to report the interface as Ethernet (getifaddrs(3)). Now they
should all report IFT_L2VLAN.
Reviewed by: brooks
MFC after: 1 month
Modified:
head/sys/net/if_vlan.c
Modified: head/sys/net/if_vlan.c
==============================================================================
--- head/sys/net/if_vlan.c Fri Aug 6 15:09:21 2010 (r210936)
+++ head/sys/net/if_vlan.c Fri Aug 6 15:15:26 2010 (r210937)
@@ -688,6 +688,8 @@ vlan_clone_create(struct if_clone *ifc,
struct ifvlan *ifv;
struct ifnet *ifp;
struct ifnet *p;
+ struct ifaddr *ifa;
+ struct sockaddr_dl *sdl;
struct vlanreq vlr;
static const u_char eaddr[ETHER_ADDR_LEN]; /* 00:00:00:00:00:00 */
@@ -786,6 +788,9 @@ vlan_clone_create(struct if_clone *ifc,
ifp->if_baudrate = 0;
ifp->if_type = IFT_L2VLAN;
ifp->if_hdrlen = ETHER_VLAN_ENCAP_LEN;
+ ifa = ifp->if_addr;
+ sdl = (struct sockaddr_dl *)ifa->ifa_addr;
+ sdl->sdl_type = IFT_L2VLAN;
if (ethertag) {
error = vlan_config(ifv, p, tag);
More information about the svn-src-all
mailing list