svn commit: r210936 - in head: contrib/bsnmp/snmp_mibII
sbin/ifconfig usr.sbin/ndp usr.sbin/ppp
John Baldwin
jhb at FreeBSD.org
Fri Aug 6 15:09:21 UTC 2010
Author: jhb
Date: Fri Aug 6 15:09:21 2010
New Revision: 210936
URL: http://svn.freebsd.org/changeset/base/210936
Log:
Ethernet vlan(4) interfaces have valid Ethernet link layer addresses but
use a different interface type (IFT_L2VLAN vs IFT_ETHER). Treat IFT_L2VLAN
interfaces like IFT_ETHER interfaces when handling link layer addresses.
Reviewed by: syrinx (bsnmpd)
MFC after: 1 week
Modified:
head/contrib/bsnmp/snmp_mibII/mibII.c
head/sbin/ifconfig/af_link.c
head/sbin/ifconfig/ifconfig.c
head/usr.sbin/ndp/ndp.c
head/usr.sbin/ppp/ipv6cp.c
Modified: head/contrib/bsnmp/snmp_mibII/mibII.c
==============================================================================
--- head/contrib/bsnmp/snmp_mibII/mibII.c Fri Aug 6 15:04:40 2010 (r210935)
+++ head/contrib/bsnmp/snmp_mibII/mibII.c Fri Aug 6 15:09:21 2010 (r210936)
@@ -843,6 +843,7 @@ check_llbcast(struct mibif *ifp)
case IFT_ETHER:
case IFT_FDDI:
case IFT_ISO88025:
+ case IFI_L2VLAN:
if (mib_find_rcvaddr(ifp->index, ether_bcast, 6) == NULL &&
(rcv = mib_rcvaddr_create(ifp, ether_bcast, 6)) != NULL)
rcv->flags |= MIBRCVADDR_BCAST;
Modified: head/sbin/ifconfig/af_link.c
==============================================================================
--- head/sbin/ifconfig/af_link.c Fri Aug 6 15:04:40 2010 (r210935)
+++ head/sbin/ifconfig/af_link.c Fri Aug 6 15:09:21 2010 (r210936)
@@ -58,7 +58,9 @@ link_status(int s __unused, const struct
struct sockaddr_dl *sdl = (struct sockaddr_dl *) ifa->ifa_addr;
if (sdl != NULL && sdl->sdl_alen > 0) {
- if (sdl->sdl_type == IFT_ETHER &&
+ if ((sdl->sdl_type == IFT_ETHER ||
+ sdl->sdl_type == IFT_L2VLAN ||
+ sdl->sdl_type == IFT_BRIDGE) &&
sdl->sdl_alen == ETHER_ADDR_LEN)
printf("\tether %s\n",
ether_ntoa((struct ether_addr *)LLADDR(sdl)));
Modified: head/sbin/ifconfig/ifconfig.c
==============================================================================
--- head/sbin/ifconfig/ifconfig.c Fri Aug 6 15:04:40 2010 (r210935)
+++ head/sbin/ifconfig/ifconfig.c Fri Aug 6 15:09:21 2010 (r210936)
@@ -319,7 +319,9 @@ main(int argc, char *argv[])
/* special case for "ether" address family */
if (!strcmp(afp->af_name, "ether")) {
if (sdl == NULL ||
- sdl->sdl_type != IFT_ETHER ||
+ (sdl->sdl_type != IFT_ETHER &&
+ sdl->sdl_type != IFT_L2VLAN &&
+ sdl->sdl_type != IFT_BRIDGE) ||
sdl->sdl_alen != ETHER_ADDR_LEN)
continue;
} else {
Modified: head/usr.sbin/ndp/ndp.c
==============================================================================
--- head/usr.sbin/ndp/ndp.c Fri Aug 6 15:04:40 2010 (r210935)
+++ head/usr.sbin/ndp/ndp.c Fri Aug 6 15:09:21 2010 (r210936)
@@ -437,6 +437,7 @@ set(argc, argv)
switch (sdl->sdl_type) {
case IFT_ETHER: case IFT_FDDI: case IFT_ISO88023:
case IFT_ISO88024: case IFT_ISO88025:
+ case IFT_L2VLAN: case IFT_BRIDGE:
goto overwrite;
}
}
Modified: head/usr.sbin/ppp/ipv6cp.c
==============================================================================
--- head/usr.sbin/ppp/ipv6cp.c Fri Aug 6 15:04:40 2010 (r210935)
+++ head/usr.sbin/ppp/ipv6cp.c Fri Aug 6 15:09:21 2010 (r210936)
@@ -148,6 +148,7 @@ SetInterfaceID(u_char *ifid, int userand
switch(sdl->sdl_type) {
case IFT_ETHER:
case IFT_FDDI:
+ case IFT_L2VLAN:
/* XXX need more cases? */
break;
default:
More information about the svn-src-all
mailing list