Author: jhb
Date: Mon Aug 23 20:53:24 2010
New Revision: 211720
URL: http://svn.freebsd.org/changeset/base/211720

Log:
  MFC 210936,210946:
  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.

Modified:
  stable/7/contrib/bsnmp/snmp_mibII/mibII.c
  stable/7/sbin/ifconfig/af_link.c
  stable/7/usr.sbin/ndp/ndp.c
  stable/7/usr.sbin/ppp/ipv6cp.c
Directory Properties:
  stable/7/contrib/bsnmp/   (props changed)
  stable/7/sbin/ifconfig/   (props changed)
  stable/7/usr.sbin/ndp/   (props changed)
  stable/7/usr.sbin/ppp/   (props changed)

Modified: stable/7/contrib/bsnmp/snmp_mibII/mibII.c
==============================================================================
--- stable/7/contrib/bsnmp/snmp_mibII/mibII.c   Mon Aug 23 20:53:01 2010        
(r211719)
+++ stable/7/contrib/bsnmp/snmp_mibII/mibII.c   Mon Aug 23 20:53:24 2010        
(r211720)
@@ -821,6 +821,7 @@ check_llbcast(struct mibif *ifp)
          case IFT_ETHER:
          case IFT_FDDI:
          case IFT_ISO88025:
+         case IFT_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: stable/7/sbin/ifconfig/af_link.c
==============================================================================
--- stable/7/sbin/ifconfig/af_link.c    Mon Aug 23 20:53:01 2010        
(r211719)
+++ stable/7/sbin/ifconfig/af_link.c    Mon Aug 23 20:53:24 2010        
(r211720)
@@ -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: stable/7/usr.sbin/ndp/ndp.c
==============================================================================
--- stable/7/usr.sbin/ndp/ndp.c Mon Aug 23 20:53:01 2010        (r211719)
+++ stable/7/usr.sbin/ndp/ndp.c Mon Aug 23 20:53:24 2010        (r211720)
@@ -433,6 +433,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: stable/7/usr.sbin/ppp/ipv6cp.c
==============================================================================
--- stable/7/usr.sbin/ppp/ipv6cp.c      Mon Aug 23 20:53:01 2010        
(r211719)
+++ stable/7/usr.sbin/ppp/ipv6cp.c      Mon Aug 23 20:53:24 2010        
(r211720)
@@ -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:
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to