the vlan specific output is redundant because vlan supports the
generic vnetid and parent ioctls now.

this leaves the code for setting vlan specific stuff because there's
a slight semantic change i want to discuss separately.

ifconfig output on a vlan interface changes a little like this:

 vlan8: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:1b:21:bc:25:e7
        index 6 priority 0 llprio 3
-       vlan: 8 parent interface: ix1
        encap: vnetid 8 parent ix1
        groups: vlan
        status: active
        inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
 vlan77: flags=8002<BROADCAST,MULTICAST> mtu 1500
        lladdr 00:1b:21:bc:25:e6
        index 8 priority 0 llprio 3
-       vlan: 0 parent interface: ix0
        encap: vnetid none parent ix0
        groups: vlan
        status: no carrier

ok?

Index: ifconfig.c
===================================================================
RCS file: /cvs/src/sbin/ifconfig/ifconfig.c,v
retrieving revision 1.341
diff -u -p -r1.341 ifconfig.c
--- ifconfig.c  31 May 2017 05:25:12 -0000      1.341
+++ ifconfig.c  31 May 2017 05:26:37 -0000
@@ -221,7 +221,6 @@ void        setvlandev(const char *, int);
 void   unsetvlandev(const char *, int);
 void   mpe_status(void);
 void   mpw_status(void);
-void   vlan_status(void);
 void   setrdomain(const char *, int);
 int    prefix(void *val, int);
 void   getifgroups(void);
@@ -3001,7 +3000,6 @@ status(int link, struct sockaddr_dl *sdl
            if_indextoname(ifrdesc.ifr_index, ifname) != NULL)
                printf("\tpatch: %s\n", ifname);
 #endif
-       vlan_status();
        getencap();
 #ifndef SMALL
        carp_status();
@@ -3774,23 +3772,6 @@ getencap(void)
 
 static int __tag = 0;
 static int __have_tag = 0;
-
-void
-vlan_status(void)
-{
-       struct vlanreq vreq;
-
-       bzero((char *)&vreq, sizeof(struct vlanreq));
-       ifr.ifr_data = (caddr_t)&vreq;
-
-       if (ioctl(s, SIOCGETVLAN, (caddr_t)&ifr) == -1)
-               return;
-
-       if (vreq.vlr_tag || (vreq.vlr_parent[0] != '\0'))
-               printf("\tvlan: %d parent interface: %s\n",
-                   vreq.vlr_tag, vreq.vlr_parent[0] == '\0' ?
-                   "<none>" : vreq.vlr_parent);
-}
 
 /* ARGSUSED */
 void

Reply via email to