if_xname support Part 2/2: Convert remaining netif devices and implement full
authorMatthew Dillon <dillon@dragonflybsd.org>
Tue, 6 Jan 2004 03:17:28 +0000 (03:17 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Tue, 6 Jan 2004 03:17:28 +0000 (03:17 +0000)
support for if_xname.  Restructure struct ifnet in net/if_var.h, pulling in
a few minor additional changes from current including making if_dunit an int,
and making if_flags an int.

Submitted-by: Max Laier <max@love2party.net>
92 files changed:
contrib/ipfilter/ip_fil.c
contrib/ipfilter/ip_log.c
contrib/ipfilter/ipt.c
contrib/ipfilter/kmem.c
sbin/ip6fw/ip6fw.c
sbin/ipfw/ipfw.c
sbin/ipfw/ipfw2.c
sys/contrib/ipfilter/netinet/ip_compat.h
sys/contrib/ipfilter/netinet/ip_fil.c
sys/contrib/ipfilter/netinet/ip_log.c
sys/dev/netif/cm/if_cm_isa.c
sys/dev/netif/cm/smc90cx6.c
sys/dev/netif/cm/smc90cx6var.h
sys/dev/netif/cs/if_cs.c
sys/dev/netif/cs/if_cs_isa.c
sys/dev/netif/cs/if_cs_pccard.c
sys/dev/netif/cs/if_csvar.h
sys/dev/netif/cx/cx.c
sys/dev/netif/de/if_devar.h
sys/dev/netif/ed/if_ed.c
sys/dev/netif/fe/if_fevar.h
sys/dev/netif/fea/if_fea.c
sys/dev/netif/fpa/if_fpa.c
sys/dev/netif/fxp/if_fxpvar.h
sys/dev/netif/ic/if_ic.c
sys/dev/netif/ie/if_ie.c
sys/dev/netif/le/if_le.c
sys/dev/netif/lnc/if_lnc.c
sys/dev/netif/plip/if_plip.c
sys/dev/netif/rdp/if_rdp.c
sys/dev/netif/sbni/if_sbni.c
sys/dev/netif/ti/if_ti.c
sys/dev/netif/wl/if_wl.c
sys/dev/netif/xe/if_xe.c
sys/emulation/linux/linux_ioctl.c
sys/i386/i386/autoconf.c
sys/net/bpf.c
sys/net/bridge/bridge.c
sys/net/disc/if_disc.c
sys/net/dummynet/ip_dummynet.c
sys/net/ef/if_ef.c
sys/net/i4b/driver/i4b_bsdi_ibc.c
sys/net/i4b/driver/i4b_ipr.c
sys/net/i4b/driver/i4b_isppp.c
sys/net/if.c
sys/net/if_arcsubr.c
sys/net/if_atmsubr.c
sys/net/if_ethersubr.c
sys/net/if_fddisubr.c
sys/net/if_ieee80211.h
sys/net/if_iso88025subr.c
sys/net/if_loop.c
sys/net/if_media.c
sys/net/if_mib.c
sys/net/if_var.h
sys/net/ip6fw/ip6_fw.c
sys/net/ip6fw/ip6_fw.h
sys/net/ip_mroute/ip_mroute.c
sys/net/ipfw/ip_fw.c
sys/net/ipfw/ip_fw.h
sys/net/ipfw/ip_fw2.c
sys/net/ipfw/ip_fw2.h
sys/net/net_osdep.c
sys/net/oldbridge/bridge.c
sys/net/ppp/if_ppp.c
sys/net/ppp_layer/ppp_tty.c
sys/net/rtsock.c
sys/net/sl/if_sl.c
sys/net/sppp/if_spppsubr.c
sys/net/tap/if_tap.c
sys/netgraph/bridge/ng_bridge.c
sys/netgraph/eiface/ng_eiface.c
sys/netgraph/ether/ng_ether.c
sys/netgraph/fec/ng_fec.c
sys/netgraph/iface/ng_iface.c
sys/netinet/if_ether.c
sys/netinet/ip_divert.c
sys/netinet6/ip6_mroute.c
sys/netproto/atalk/ddp_output.c
sys/netproto/atm/atm_if.c
sys/netproto/atm/atm_socket.c
sys/netproto/atm/atm_usrreq.c
sys/netproto/atm/ipatm/ipatm_usrreq.c
sys/netproto/atm/spans/spans_arp.c
sys/netproto/atm/uni/uniarp.c
sys/netproto/ipx/ipx_ip.c
sys/netproto/natm/natm.c
sys/netproto/ns/ns_ip.c
sys/platform/pc32/i386/autoconf.c
usr.bin/netstat/if.c
usr.bin/netstat/route.c
usr.sbin/ifmcstat/ifmcstat.c

index 8fcd05d..4d74356 100644 (file)
@@ -2042,7 +2042,7 @@ ip_t *ip;
        int fd;
 
 # if (defined(NetBSD) && (NetBSD <= 1991011) && (NetBSD >= 199606)) || \
-       (defined(OpenBSD) && (OpenBSD >= 199603))
+       (defined(OpenBSD) && (OpenBSD >= 199603)) || defined(__DragonFly__)
        sprintf(fname, "%s", ifp->if_xname);
 # else
        sprintf(fname, "%s%d", ifp->if_name, ifp->if_unit);
@@ -2062,7 +2062,7 @@ char *get_ifname(ifp)
 struct ifnet *ifp;
 {
 # if (defined(NetBSD) && (NetBSD <= 1991011) && (NetBSD >= 199606)) || \
-     (defined(OpenBSD) && (OpenBSD >= 199603))
+     (defined(OpenBSD) && (OpenBSD >= 199603)) || defined(__DragonFly__)
        return ifp->if_xname;
 # else
        static char fullifname[LIFNAMSIZ];
@@ -2081,7 +2081,7 @@ int v;
 
        for (ifa = ifneta; ifa && (ifp = *ifa); ifa++) {
 # if (defined(NetBSD) && (NetBSD <= 1991011) && (NetBSD >= 199606)) || \
-     (defined(OpenBSD) && (OpenBSD >= 199603))
+     (defined(OpenBSD) && (OpenBSD >= 199603)) || defined(__DragonFly__)
                if (!strncmp(ifname, ifp->if_xname, sizeof(ifp->if_xname)))
 # else
                char fullname[LIFNAMSIZ];
@@ -2123,7 +2123,7 @@ int v;
        ifp = ifneta[nifs - 1];
 
 # if (defined(NetBSD) && (NetBSD <= 1991011) && (NetBSD >= 199606)) || \
-     (defined(OpenBSD) && (OpenBSD >= 199603))
+     (defined(OpenBSD) && (OpenBSD >= 199603)) || defined(__DragonFly__)
        strncpy(ifp->if_xname, ifname, sizeof(ifp->if_xname));
 # else
        ifp->if_name = strdup(ifname);
@@ -2150,7 +2150,7 @@ void init_ifp()
        int fd;
 
 # if (defined(NetBSD) && (NetBSD <= 1991011) && (NetBSD >= 199606)) || \
-       (defined(OpenBSD) && (OpenBSD >= 199603))
+       (defined(OpenBSD) && (OpenBSD >= 199603)) || defined(__DragonFly__)
        for (ifa = ifneta; ifa && (ifp = *ifa); ifa++) {
                ifp->if_output = write_output;
                sprintf(fname, "/tmp/%s", ifp->if_xname);
index e57bd69..27fb1bb 100644 (file)
@@ -247,7 +247,7 @@ mb_t *m;
        mlen = (flags & FR_LOGBODY) ? MIN(msgdsize(m) - hlen, 128) : 0;
 # else
 #  if (defined(NetBSD) && (NetBSD <= 1991011) && (NetBSD >= 199603)) || \
-       (defined(OpenBSD) && (OpenBSD >= 199603))
+       (defined(OpenBSD) && (OpenBSD >= 199603)) || defined(__DragonFly__)
        strncpy(ipfl.fl_ifname, ifp->if_xname, IFNAMSIZ);
 #  else
        ipfl.fl_unit = (u_char)ifp->if_unit;
index 48f35cf..679f876 100644 (file)
@@ -458,7 +458,7 @@ void *ptr;
        if (kmemcpy((char *)&netif, (u_long)ptr, sizeof(netif)) == -1)
                return "X";
 #if defined(NetBSD) && (NetBSD >= 199905) && (NetBSD < 1991011) || \
-    defined(__OpenBSD__)
+    defined(__OpenBSD__) || defined(__DragonFly__)
        return strdup(netif.if_xname);
 #else
        if (kmemcpy(buf, (u_long)netif.if_name, sizeof(buf)) == -1)
index 17622cd..e7bbcb9 100644 (file)
@@ -219,7 +219,7 @@ void *ptr;
        if (kmemcpy((char *)&netif, (u_long)ptr, sizeof(netif)) == -1)
                return "X";
 # if defined(NetBSD) && (NetBSD >= 199905) && (NetBSD < 1991011) || \
-    defined(__OpenBSD__)
+    defined(__OpenBSD__) || defined(__DragonFly__)
        return strdup(netif.if_xname);
 # else
        if (kstrncpy(buf, (u_long)netif.if_name, sizeof(buf)) == -1)
index 5ab4ba6..48bf891 100644 (file)
@@ -49,7 +49,7 @@
  *
  * $Id: ip6fw.c,v 1.1.2.2.2.2 1999/05/14 05:13:50 shin Exp $
  * $FreeBSD: src/sbin/ip6fw/ip6fw.c,v 1.1.2.9 2003/04/05 10:54:51 ume Exp $
- * $DragonFly: src/sbin/ip6fw/ip6fw.c,v 1.5 2003/10/11 11:38:44 hmp Exp $
+ * $DragonFly: src/sbin/ip6fw/ip6fw.c,v 1.6 2004/01/06 03:17:21 dillon Exp $
  */
 
 #include <sys/types.h>
@@ -185,15 +185,9 @@ print_port(u_char prot, u_short port, const char *comma)
 static void
 print_iface(char *key, union ip6_fw_if *un, int byname)
 {
-       char ifnb[IP6FW_IFNLEN+1];
 
        if (byname) {
-               strncpy(ifnb, un->fu_via_if.name, IP6FW_IFNLEN);
-               ifnb[IP6FW_IFNLEN]='\0';
-               if (un->fu_via_if.unit == -1)
-                       printf(" %s %s*", key, ifnb);
-               else
-                       printf(" %s %s%d", key, ifnb, un->fu_via_if.unit);
+               printf(" %s %s", key, un->fu_via_if.name);
        } else if (!IN6_IS_ADDR_UNSPECIFIED(&un->fu_via_ip6)) {
                printf(" %s %s", key, inet_ntop(AF_INET6,&un->fu_via_ip6,ntop_buf,sizeof(ntop_buf)));
        } else
@@ -805,13 +799,7 @@ verify_interface(union ip6_fw_if *ifu)
 {
        struct ifreq ifr;
 
-       /*
-        *      If a unit was specified, check for that exact interface.
-        *      If a wildcard was specified, check for unit 0.
-        */
-       snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), "%s%d",
-                        ifu->fu_via_if.name,
-                        ifu->fu_via_if.unit == -1 ? 0 : ifu->fu_via_if.unit);
+       strlcpy(ifr.ifr_name, ifu->fu_via_if.name, sizeof(ifr.ifr_name));
 
        if (ioctl(s, SIOCGIFFLAGS, &ifr) < 0)
                warnx("warning: interface ``%s'' does not exist", ifr.ifr_name);
@@ -828,17 +816,18 @@ fill_iface(char *which, union ip6_fw_if *ifu, int *byname, int ac, char *arg)
                ifu->fu_via_ip6 = in6addr_any;
                *byname = 0;
        } else if (!isdigit(*arg)) {
-               char *q;
-
                *byname = 1;
-               strncpy(ifu->fu_via_if.name, arg, sizeof(ifu->fu_via_if.name));
-               ifu->fu_via_if.name[sizeof(ifu->fu_via_if.name) - 1] = '\0';
-               for (q = ifu->fu_via_if.name;
-                   *q && !isdigit(*q) && *q != '*'; q++)
-                       continue;
-               ifu->fu_via_if.unit = (*q == '*') ? -1 : atoi(q);
-               *q = '\0';
-               verify_interface(ifu);
+               strlcpy(ifu->fu_via_if.name, arg, sizeof(ifu->fu_via_if.name));
+               /*
+                * We assume that strings containing '*', '?', or '['
+                * are ment to be shell pattern.
+                */
+               if (strpbrk(arg, "*?[") != NULL) {
+                       ifu->fu_via_if.glob = 1;
+               } else {
+                       ifu->fu_via_if.glob = 0;
+                       verify_interface(ifu);
+               }
        } else if (inet_pton(AF_INET6, arg, &ifu->fu_via_ip6) != 1) {
                show_usage("bad ip6 address ``%s''", arg);
        } else
index 90464db..11aa7a2 100644 (file)
@@ -17,7 +17,7 @@
  * NEW command line interface for IP firewall facility
  *
  * $FreeBSD: src/sbin/ipfw/ipfw.c,v 1.80.2.26 2003/01/14 19:15:58 dillon Exp $
- * $DragonFly: src/sbin/ipfw/Attic/ipfw.c,v 1.3 2003/08/08 04:18:39 dillon Exp $
+ * $DragonFly: src/sbin/ipfw/Attic/ipfw.c,v 1.4 2004/01/06 03:17:21 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -136,15 +136,8 @@ print_port(u_char prot, u_short port, const char comma)
 static void
 print_iface(char *key, union ip_fw_if *un, int byname)
 {
-       char ifnb[FW_IFNLEN+1];
-
        if (byname) {
-               strncpy(ifnb, un->fu_via_if.name, FW_IFNLEN);
-               ifnb[FW_IFNLEN] = '\0';
-               if (un->fu_via_if.unit == -1)
-                       printf(" %s %s*", key, ifnb);
-               else
-                       printf(" %s %s%d", key, ifnb, un->fu_via_if.unit);
+               printf(" %s %s", key, un->fu_via_if.name);
        } else if (un->fu_via_ip.s_addr != 0) {
                printf(" %s %s", key, inet_ntoa(un->fu_via_ip));
        } else
@@ -1304,13 +1297,7 @@ verify_interface(union ip_fw_if *ifu)
 {
        struct ifreq ifr;
 
-       /*
-        *      If a unit was specified, check for that exact interface.
-        *      If a wildcard was specified, check for unit 0.
-        */
-       snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), "%s%d",
-                        ifu->fu_via_if.name,
-                        ifu->fu_via_if.unit == -1 ? 0 : ifu->fu_via_if.unit);
+       strlcpy(ifr.ifr_name, ifu->fu_via_if.name, sizeof(ifr.ifr_name));
 
        if (ioctl(s, SIOCGIFFLAGS, &ifr) < 0)
                warnx("warning: interface ``%s'' does not exist",
@@ -1328,18 +1315,18 @@ fill_iface(char *which, union ip_fw_if *ifu, int *byname, int ac, char *arg)
                ifu->fu_via_ip.s_addr = 0;
                *byname = 0;
        } else if (!isdigit(*arg)) {
-               char *q;
-
                *byname = 1;
-               strncpy(ifu->fu_via_if.name, arg,
-                   sizeof(ifu->fu_via_if.name));
-               ifu->fu_via_if.name[sizeof(ifu->fu_via_if.name) - 1] = '\0';
-               for (q = ifu->fu_via_if.name;
-                   *q && !isdigit(*q) && *q != '*'; q++)
-                       continue;
-               ifu->fu_via_if.unit = (*q == '*') ? -1 : atoi(q);
-               *q = '\0';
-               verify_interface(ifu);
+               strlcpy(ifu->fu_via_if.name, arg, sizeof(ifu->fu_via_if.name));
+               /*
+                * We assume that strings containing '*', '?', or '['
+                * are meant to be shell pattern.
+                */
+               if (strpbrk(arg, "*?[") != NULL) {
+                       ifu->fu_via_if.glob = 1;
+               } else {
+                       ifu->fu_via_if.glob = 0;
+                       verify_interface(ifu);
+               }
        } else if (!inet_aton(arg, &ifu->fu_via_ip)) {
                errx(EX_DATAERR, "bad ip address ``%s''", arg);
        } else
index 15583ba..d708cff 100644 (file)
@@ -18,7 +18,7 @@
  * NEW command line interface for IP firewall facility
  *
  * $FreeBSD: src/sbin/ipfw/ipfw2.c,v 1.4.2.13 2003/05/27 22:21:11 gshapiro Exp $
- * $DragonFly: src/sbin/ipfw/ipfw2.c,v 1.3 2003/08/08 04:18:39 dillon Exp $
+ * $DragonFly: src/sbin/ipfw/ipfw2.c,v 1.4 2004/01/06 03:17:21 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -1078,11 +1078,7 @@ show_ipfw(struct ip_fw *rule, int pcwidth, int bcwidth)
                                if (cmdif->name[0] == '\0')
                                        printf(" %s %s", s,
                                            inet_ntoa(cmdif->p.ip));
-                               else if (cmdif->p.unit == -1)
-                                       printf(" %s %s*", s, cmdif->name);
-                               else
-                                       printf(" %s %s%d", s, cmdif->name,
-                                           cmdif->p.unit);
+                               printf(" %s %s", s, cmdif->name);
                                }
                                break;
 
@@ -1969,7 +1965,8 @@ delete(int ac, char *av[])
  * fill the interface structure. We do not check the name as we can
  * create interfaces dynamically, so checking them at insert time
  * makes relatively little sense.
- * A '*' following the name means any unit.
+ * Interface names containing '*', '?', or '[' are assumed to be shell 
+ * patterns which match interfaces.
  */
 static void
 fill_iface(ipfw_insn_if *cmd, char *arg)
@@ -1981,15 +1978,8 @@ fill_iface(ipfw_insn_if *cmd, char *arg)
        if (!strcmp(arg, "any"))
                cmd->o.len = 0;         /* effectively ignore this command */
        else if (!isdigit(*arg)) {
-               char *q;
-
-               strncpy(cmd->name, arg, sizeof(cmd->name));
-               cmd->name[sizeof(cmd->name) - 1] = '\0';
-               /* find first digit or wildcard */
-               for (q = cmd->name; *q && !isdigit(*q) && *q != '*'; q++)
-                       continue;
-               cmd->p.unit = (*q == '*') ? -1 : atoi(q);
-               *q = '\0';
+               strlcpy(cmd->name, arg, sizeof(cmd->name));
+               cmd->p.glob = strpbrk(arg, "*?[") != NULL ? 1 : 0;
        } else if (!inet_aton(arg, &cmd->p.ip))
                errx(EX_DATAERR, "bad ip address ``%s''", arg);
 }
index 02a08e2..cb9bf30 100644 (file)
@@ -6,7 +6,7 @@
  * @(#)ip_compat.h     1.8 1/14/96
  * $Id: ip_compat.h,v 2.26.2.46 2002/06/27 14:39:40 darrenr Exp $
  * $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_compat.h,v 1.13.2.5 2003/03/01 03:55:54 darrenr Exp $
- * $DragonFly: src/sys/contrib/ipfilter/netinet/ip_compat.h,v 1.7 2003/10/09 03:31:33 dillon Exp $
+ * $DragonFly: src/sys/contrib/ipfilter/netinet/ip_compat.h,v 1.8 2004/01/06 03:17:22 dillon Exp $
  */
 
 #ifndef        __IP_COMPAT_H__
@@ -534,7 +534,8 @@ extern      ill_t   *get_unit (char *, int);
 #  ifndef      linux
 #   define     GETUNIT(n, v)   ifunit(n)
 #   if (defined(NetBSD) && (NetBSD <= 1991011) && (NetBSD >= 199606)) || \
-        (defined(OpenBSD) && (OpenBSD >= 199603))
+        (defined(OpenBSD) && (OpenBSD >= 199603)) || \
+        (defined(__DragonFly__))
 #    define    IFNAME(x)       ((struct ifnet *)x)->if_xname
 #   else
 #    define    USE_GETIFNAME   1
index deee3c3..d68ac00 100644 (file)
@@ -6,7 +6,7 @@
  * @(#)ip_fil.c     2.41 6/5/96 (C) 1993-2000 Darren Reed
  * @(#)$Id: ip_fil.c,v 2.42.2.60 2002/08/28 12:40:39 darrenr Exp $
  * $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_fil.c,v 1.25.2.6 2003/03/01 03:55:54 darrenr Exp $
- * $DragonFly: src/sys/contrib/ipfilter/netinet/ip_fil.c,v 1.7 2003/12/02 08:00:22 asmodai Exp $
+ * $DragonFly: src/sys/contrib/ipfilter/netinet/ip_fil.c,v 1.8 2004/01/06 03:17:22 dillon Exp $
  */
 #ifndef        SOLARIS
 #define        SOLARIS (defined(sun) && (defined(__svr4__) || defined(__SVR4)))
@@ -2088,7 +2088,8 @@ ip_t *ip;
        int fd;
 
 # if (defined(NetBSD) && (NetBSD <= 1991011) && (NetBSD >= 199606)) || \
-       (defined(OpenBSD) && (OpenBSD >= 199603))
+       (defined(OpenBSD) && (OpenBSD >= 199603)) || \
+       (defined(__DragonFly__))
        sprintf(fname, "%s", ifp->if_xname);
 # else
        sprintf(fname, "%s%d", ifp->if_name, ifp->if_unit);
@@ -2108,7 +2109,8 @@ char *get_ifname(ifp)
 struct ifnet *ifp;
 {
 # if (defined(NetBSD) && (NetBSD <= 1991011) && (NetBSD >= 199606)) || \
-     (defined(OpenBSD) && (OpenBSD >= 199603))
+     (defined(OpenBSD) && (OpenBSD >= 199603)) || \
+     (defined(__DragonFly__))
        return ifp->if_xname;
 # else
        static char fullifname[LIFNAMSIZ];
@@ -2127,7 +2129,8 @@ int v;
 
        for (ifa = ifneta; ifa && (ifp = *ifa); ifa++) {
 # if (defined(NetBSD) && (NetBSD <= 1991011) && (NetBSD >= 199606)) || \
-     (defined(OpenBSD) && (OpenBSD >= 199603))
+     (defined(OpenBSD) && (OpenBSD >= 199603)) || \
+     (defined(__DragonFly__))
                if (!strncmp(ifname, ifp->if_xname, sizeof(ifp->if_xname)))
 # else
                char fullname[LIFNAMSIZ];
@@ -2169,7 +2172,8 @@ int v;
        ifp = ifneta[nifs - 1];
 
 # if (defined(NetBSD) && (NetBSD <= 1991011) && (NetBSD >= 199606)) || \
-     (defined(OpenBSD) && (OpenBSD >= 199603))
+     (defined(OpenBSD) && (OpenBSD >= 199603)) || \
+     (defined(__DragonFly__))
        strncpy(ifp->if_xname, ifname, sizeof(ifp->if_xname));
 # else
        ifp->if_name = strdup(ifname);
@@ -2196,7 +2200,8 @@ void init_ifp()
        int fd;
 
 # if (defined(NetBSD) && (NetBSD <= 1991011) && (NetBSD >= 199606)) || \
-       (defined(OpenBSD) && (OpenBSD >= 199603))
+       (defined(OpenBSD) && (OpenBSD >= 199603)) || \
+       (defined(__DragonFly__))
        for (ifa = ifneta; ifa && (ifp = *ifa); ifa++) {
                ifp->if_output = write_output;
                sprintf(fname, "/tmp/%s", ifp->if_xname);
index b53770f..fca1d89 100644 (file)
@@ -5,7 +5,7 @@
  *
  * $Id: ip_log.c,v 2.5.2.1 2000/07/19 13:11:47 darrenr Exp $
  * $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_log.c,v 1.17.2.4 2003/03/01 03:55:54 darrenr Exp $
- * $DragonFly: src/sys/contrib/ipfilter/netinet/ip_log.c,v 1.4 2003/08/07 21:16:48 dillon Exp $
+ * $DragonFly: src/sys/contrib/ipfilter/netinet/ip_log.c,v 1.5 2004/01/06 03:17:22 dillon Exp $
  */
 #include <sys/param.h>
 #if defined(KERNEL) && !defined(_KERNEL)
@@ -254,7 +254,8 @@ mb_t *m;
        mlen = (flags & FR_LOGBODY) ? MIN(msgdsize(m) - hlen, 128) : 0;
 # else
 #  if (defined(NetBSD) && (NetBSD <= 1991011) && (NetBSD >= 199603)) || \
-       (defined(OpenBSD) && (OpenBSD >= 199603))
+       (defined(OpenBSD) && (OpenBSD >= 199603)) || \
+       (defined(__DragonFly__))
        strncpy(ipfl.fl_ifname, ifp->if_xname, IFNAMSIZ);
 #  else
        ipfl.fl_unit = (u_char)ifp->if_unit;
index 86003b0..be83db4 100644 (file)
@@ -1,6 +1,6 @@
 /*     $NetBSD: if_bah_zbus.c,v 1.6 2000/01/23 21:06:12 aymeric Exp $ */
 /*     $FreeBSD: src/sys/dev/cm/if_cm_isa.c,v 1.1.2.1 2002/02/13 22:33:41 fjoe Exp $ */
-/*     $DragonFly: src/sys/dev/netif/cm/Attic/if_cm_isa.c,v 1.4 2003/08/27 09:38:30 rob Exp $ */
+/*     $DragonFly: src/sys/dev/netif/cm/Attic/if_cm_isa.c,v 1.5 2004/01/06 03:17:22 dillon Exp $ */
 
 /*-
  * Copyright (c) 1994, 1995, 1998 The NetBSD Foundation, Inc.
@@ -95,7 +95,7 @@ cm_isa_attach(dev)
                return (error);
        }
 
-       return cm_attach(sc, device_get_unit(dev));
+       return cm_attach(dev);
 }
 
 static int
index 2cc2a88..ff58bbd 100644 (file)
@@ -1,6 +1,6 @@
 /*     $NetBSD: smc90cx6.c,v 1.38 2001/07/07 15:57:53 thorpej Exp $ */
 /*     $FreeBSD: src/sys/dev/cm/smc90cx6.c,v 1.1.2.3 2003/02/05 18:42:14 fjoe Exp $ */
-/*     $DragonFly: src/sys/dev/netif/cm/Attic/smc90cx6.c,v 1.5 2003/11/20 22:07:26 dillon Exp $ */
+/*     $DragonFly: src/sys/dev/netif/cm/Attic/smc90cx6.c,v 1.6 2004/01/06 03:17:22 dillon Exp $ */
 
 /*-
  * Copyright (c) 1994, 1995, 1998 The NetBSD Foundation, Inc.
@@ -274,10 +274,10 @@ cm_release_resources(dev)
 }
 
 int
-cm_attach(sc, unit)
-       struct cm_softc *sc;
-       int unit;
+cm_attach(dev)
+       device_t dev;
 {
+       struct cm_softc *sc = device_get_softc(dev);
        struct ifnet *ifp = &sc->sc_arccom.ac_if;
        int s;
        u_int8_t linkaddress;
@@ -312,37 +312,34 @@ cm_attach(sc, unit)
         */
        cm_stop(sc);
 
-       if (!ifp->if_name) {
-               ifp->if_softc = sc;
-               ifp->if_unit = unit;
-               ifp->if_name = "cm";
-               ifp->if_output = arc_output;
-               ifp->if_start = cm_start;
-               ifp->if_ioctl = cm_ioctl;
-               ifp->if_watchdog  = cm_watchdog;
-               ifp->if_init = cm_init;
-               /* XXX IFQ_SET_READY(&ifp->if_snd); */
-               ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
-               ifp->if_timer = 0;
-               ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX;
+       ifp->if_softc = sc;
+       if_initname(ifp, "cm", device_get_unit(dev));
+       ifp->if_output = arc_output;
+       ifp->if_start = cm_start;
+       ifp->if_ioctl = cm_ioctl;
+       ifp->if_watchdog  = cm_watchdog;
+       ifp->if_init = cm_init;
+       /* XXX IFQ_SET_READY(&ifp->if_snd); */
+       ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
+       ifp->if_timer = 0;
+       ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX;
 
-               arc_ifattach(ifp, linkaddress);
+       arc_ifattach(ifp, linkaddress);
 
 #ifdef CMSOFTCOPY
-               sc->sc_rxcookie = softintr_establish(IPL_SOFTNET, cm_srint, sc);
-               sc->sc_txcookie = softintr_establish(IPL_SOFTNET,
-                       (void (*) (void *))cm_start, ifp);
+       sc->sc_rxcookie = softintr_establish(IPL_SOFTNET, cm_srint, sc);
+       sc->sc_txcookie = softintr_establish(IPL_SOFTNET,
+               (void (*) (void *))cm_start, ifp);
 #endif
 
 #if __FreeBSD_version < 500000
-               callout_init(&sc->sc_recon_ch);
+       callout_init(&sc->sc_recon_ch);
 #else
-               callout_init(&sc->sc_recon_ch, 0);
+       callout_init(&sc->sc_recon_ch, 0);
 #endif
-       }
 
-       printf("%s%d: link addr 0x%02x (%d)\n",
-              ifp->if_name, ifp->if_unit, linkaddress, linkaddress);
+       printf("%s: link addr 0x%02x (%d)\n",
+              ifp->if_xname, linkaddress, linkaddress);
        return 0;
 }
 
@@ -385,7 +382,7 @@ cm_reset(sc)
        ifp = &sc->sc_arccom.ac_if;
 
 #ifdef CM_DEBUG
-       printf("%s%d: reset\n", ifp->if_name, ifp->if_unit);
+       printf("%s: reset\n", ifp->if_xname);
 #endif
        /* stop and restart hardware */
 
@@ -397,8 +394,8 @@ cm_reset(sc)
        linkaddress = GETMEM(CMMACOFF);
 
 #if defined(CM_DEBUG) && (CM_DEBUG > 2)
-       printf("%s%d: reset: card reset, link addr = 0x%02x (%d)\n",
-           ifp->if_name, ifp->if_unit, linkaddress, linkaddress);
+       printf("%s: reset: card reset, link addr = 0x%02x (%d)\n",
+           ifp->if_xname, linkaddress, linkaddress);
 #endif
 
        /* tell the routing level about the (possibly changed) link address */
@@ -411,14 +408,14 @@ cm_reset(sc)
        PUTREG(CMCMD, CM_CONF(CONF_LONG));
 
 #ifdef CM_DEBUG
-       printf("%s%d: reset: chip configured, status=0x%02x\n",
-           ifp->if_name, ifp->if_unit, GETREG(CMSTAT));
+       printf("%s: reset: chip configured, status=0x%02x\n",
+           ifp->if_xname, GETREG(CMSTAT));
 #endif
        PUTREG(CMCMD, CM_CLR(CLR_POR|CLR_RECONFIG));
 
 #ifdef CM_DEBUG
-       printf("%s%d: reset: bits cleared, status=0x%02x\n",
-           ifp->if_name, ifp->if_unit, GETREG(CMSTAT));
+       printf("%s: reset: bits cleared, status=0x%02x\n",
+           ifp->if_xname, GETREG(CMSTAT));
 #endif
 
        sc->sc_reconcount_excessive = ARC_EXCESSIVE_RECONS;
@@ -433,8 +430,8 @@ cm_reset(sc)
        PUTREG(CMSTAT, sc->sc_intmask);
 
 #ifdef CM_DEBUG
-       printf("%s%d: reset: started receiver, status=0x%02x\n",
-           ifp->if_name, ifp->if_unit, GETREG(CMSTAT));
+       printf("%s: reset: started receiver, status=0x%02x\n",
+           ifp->if_xname, GETREG(CMSTAT));
 #endif
 
        /* and init transmitter status */
@@ -487,7 +484,7 @@ cm_start(ifp)
 #endif
 
 #if defined(CM_DEBUG) && (CM_DEBUG > 3)
-       printf("%s%d: start(%p)\n", ifp->if_name, ifp->if_unit, ifp);
+       printf("%s: start(%p)\n", ifp->if_xname, ifp);
 #endif
 
        if ((ifp->if_flags & IFF_RUNNING) == 0)
@@ -511,8 +508,8 @@ cm_start(ifp)
 #ifdef CM_DEBUG
        if (m->m_len < ARC_HDRLEN)
                m = m_pullup(m, ARC_HDRLEN);/* gcc does structure padding */
-       printf("%s%d: start: filling %d from %d to %d type %d\n",
-           ifp->if_name, ifp->if_unit, buffer, mtod(m, u_char *)[0],
+       printf("%s: start: filling %d from %d to %d type %d\n",
+           ifp->if_xname, buffer, mtod(m, u_char *)[0],
            mtod(m, u_char *)[1], mtod(m, u_char *)[2]);
 #else
        if (m->m_len < 2)
@@ -580,8 +577,8 @@ cm_start(ifp)
                ifp->if_flags |= IFF_OACTIVE;
        } else {
 #ifdef CM_DEBUG
-               printf("%s%d: start: starting transmitter on buffer %d\n",
-                   ifp->if_name, ifp->if_unit, buffer);
+               printf("%s: start: starting transmitter on buffer %d\n",
+                   ifp->if_xname, buffer);
 #endif
                /* Transmitter was off, start it */
                sc->sc_tx_act = buffer;
@@ -720,8 +717,8 @@ cleanup:
                PUTREG(CMSTAT, sc->sc_intmask);
 
 #ifdef CM_DEBUG
-               printf("%s%d: srint: restarted rx on buf %d\n",
-                   ifp->if_name, ifp->if_unit, buffer);
+               printf("%s: srint: restarted rx on buf %d\n",
+                   ifp->if_xname, buffer);
 #endif
        }
        splx(s);
@@ -785,8 +782,8 @@ cm_tint(sc, isr)
                ifp->if_timer = ARCTIMEOUT;
 
 #if defined(CM_DEBUG) && (CM_DEBUG > 1)
-               printf("%s%d: tint: starting tx on buffer %d, status 0x%02x\n",
-                   ifp->if_name, ifp->if_unit, buffer, GETREG(CMSTAT));
+               printf("%s: tint: starting tx on buffer %d, status 0x%02x\n",
+                   ifp->if_xname, buffer, GETREG(CMSTAT));
 #endif
        } else {
                /* have to disable TX interrupt */
@@ -796,8 +793,8 @@ cm_tint(sc, isr)
                ifp->if_timer = 0;
 
 #ifdef CM_DEBUG
-               printf("%s%d: tint: no more buffers to send, status 0x%02x\n",
-                   ifp->if_name, ifp->if_unit, GETREG(CMSTAT));
+               printf("%s: tint: no more buffers to send, status 0x%02x\n",
+                   ifp->if_xname, GETREG(CMSTAT));
 #endif
        }
 
@@ -832,8 +829,8 @@ cmintr(arg)
        do {
 
 #if defined(CM_DEBUG) && (CM_DEBUG > 1)
-               printf("%s%d: intr: status 0x%02x, intmask 0x%02x\n",
-                   ifp->if_name, ifp->if_unit, isr, sc->sc_intmask);
+               printf("%s: intr: status 0x%02x, intmask 0x%02x\n",
+                   ifp->if_xname, isr, sc->sc_intmask);
 #endif
 
                if (maskedisr & CM_POR) {
@@ -844,8 +841,8 @@ cmintr(arg)
                         */
                        PUTREG(CMCMD, CM_CLR(CLR_POR));
                        log(LOG_WARNING,
-                           "%s%d: intr: got spurious power on reset int\n",
-                           ifp->if_name, ifp->if_unit);
+                           "%s: intr: got spurious power on reset int\n",
+                           ifp->if_xname);
                }
 
                if (maskedisr & CM_RECON) {
@@ -875,9 +872,9 @@ cmintr(arg)
                        if ((newsec - sc->sc_recontime <= 2) &&
                            (++sc->sc_reconcount == ARC_EXCESSIVE_RECONS)) {
                                log(LOG_WARNING,
-                                   "%s%d: excessive token losses, "
+                                   "%s: excessive token losses, "
                                    "cable problem?\n",
-                                   ifp->if_name, ifp->if_unit);
+                                   ifp->if_xname);
                        }
                        sc->sc_recontime = newsec;
                        callout_reset(&sc->sc_recon_ch, 15 * hz,
@@ -886,8 +883,8 @@ cmintr(arg)
 
                if (maskedisr & CM_RI) {
 #if defined(CM_DEBUG) && (CM_DEBUG > 1)
-                       printf("%s%d: intr: hard rint, act %d\n",
-                           ifp->if_name, ifp->if_unit, sc->sc_rx_act);
+                       printf("%s: intr: hard rint, act %d\n",
+                           ifp->if_xname, sc->sc_rx_act);
 #endif
 
                        buffer = sc->sc_rx_act;
@@ -898,8 +895,8 @@ cmintr(arg)
                                 * configured sender)
                                 */
                                log(LOG_WARNING,
-                                   "%s%d: spurious RX interupt or sender 0 "
-                                   " (ignored)\n", ifp->if_name, ifp->if_unit);
+                                   "%s: spurious RX interupt or sender 0 "
+                                   " (ignored)\n", ifp->if_xname);
                                /*
                                 * restart receiver on same buffer.
                                 * XXX maybe better reset interface?
@@ -922,9 +919,9 @@ cmintr(arg)
                                        /* in RX intr, so mask is ok for RX */
 
 #ifdef CM_DEBUG
-                                       printf("%s%d: strt rx for buf %d, "
+                                       printf("%s: strt rx for buf %d, "
                                            "stat 0x%02x\n",
-                                           ifp->if_name, ifp->if_unit,
+                                           ifp->if_xname,
                                            sc->sc_rx_act, GETREG(CMSTAT));
 #endif
                                }
@@ -948,8 +945,8 @@ cmintr(arg)
                maskedisr = isr & sc->sc_intmask;
        } while (maskedisr);
 #if defined(CM_DEBUG) && (CM_DEBUG > 1)
-       printf("%s%d: intr (exit): status 0x%02x, intmask 0x%02x\n",
-           ifp->if_name, ifp->if_unit, isr, sc->sc_intmask);
+       printf("%s: intr (exit): status 0x%02x, intmask 0x%02x\n",
+           ifp->if_xname, isr, sc->sc_intmask);
 #endif
 }
 
@@ -962,8 +959,8 @@ cm_reconwatch(arg)
 
        if (sc->sc_reconcount >= ARC_EXCESSIVE_RECONS) {
                sc->sc_reconcount = 0;
-               log(LOG_WARNING, "%s%d: token valid again.\n",
-                   ifp->if_name, ifp->if_unit);
+               log(LOG_WARNING, "%s: token valid again.\n",
+                   ifp->if_xname);
        }
        sc->sc_reconcount = 0;
 }
@@ -991,8 +988,8 @@ cm_ioctl(ifp, command, data)
        s = splimp();
 
 #if defined(CM_DEBUG) && (CM_DEBUG > 2)
-       printf("%s%d: ioctl() called, cmd = 0x%lx\n",
-           ifp->if_name, ifp->if_unit, command);
+       printf("%s: ioctl() called, cmd = 0x%lx\n",
+           ifp->if_xname, command);
 #endif
 
        switch (command) {
index 1c17ebe..c053d94 100644 (file)
@@ -1,6 +1,6 @@
 /*     $NetBSD: smc90cx6var.h,v 1.5 2000/03/23 07:01:32 thorpej Exp $  */
 /*     $FreeBSD: src/sys/dev/cm/smc90cx6var.h,v 1.1.2.1 2002/02/13 22:33:41 fjoe Exp $ */
-/*     $DragonFly: src/sys/dev/netif/cm/Attic/smc90cx6var.h,v 1.3 2003/08/27 09:38:30 rob Exp $ */
+/*     $DragonFly: src/sys/dev/netif/cm/Attic/smc90cx6var.h,v 1.4 2004/01/06 03:17:22 dillon Exp $ */
 
 /*-
  * Copyright (c) 1994, 1995, 1998 The NetBSD Foundation, Inc.
@@ -88,7 +88,7 @@ struct cm_softc {
        u_char  sc_retransmits[2];      /* unused at the moment */
 };
 
-int    cm_attach (struct cm_softc *, int unit);
+int    cm_attach (device_t);
 void   cmintr (void *);
 
 int    cm_probe (device_t dev);
index 506cbc4..4fc8f45 100644 (file)
@@ -28,7 +28,7 @@
 
 /*
  * $FreeBSD: src/sys/dev/cs/if_cs.c,v 1.19.2.1 2001/01/25 20:13:48 imp Exp $
- * $DragonFly: src/sys/dev/netif/cs/if_cs.c,v 1.4 2003/11/20 22:07:26 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/cs/if_cs.c,v 1.5 2004/01/06 03:17:22 dillon Exp $
  *
  * Device driver for Crystal Semiconductor CS8920 based ethernet
  *   adapters. By Maxim Bolotin and Oleg Sharoiko, 27-April-1997
@@ -171,14 +171,15 @@ control_dc_dc(struct cs_softc *sc, int on_not_off)
 static int
 cs_duplex_auto(struct cs_softc *sc)
 {
-        int i, error=0, unit=sc->arpcom.ac_if.if_unit;
+        int i, error=0;
         
         cs_writereg(sc->nic_addr, PP_AutoNegCTL,
                     RE_NEG_NOW | ALLOW_FDX | AUTO_NEG_ENABLE );
         for (i=0; cs_readreg(sc->nic_addr,PP_AutoNegST)&AUTO_NEG_BUSY; i++) {
                 if (i > 40000) {
-                        printf(CS_NAME"%1d: full/half duplex "
-                               "auto negotiation timeout\n", unit);
+                        printf("%s: full/half duplex "
+                               "auto negotiation timeout\n",
+                               sc->arpcom.ac_if.if_xname);
                        error = ETIMEDOUT;
                         break;
                 }
@@ -191,14 +192,13 @@ cs_duplex_auto(struct cs_softc *sc)
 static int
 enable_tp(struct cs_softc *sc)
 {
-       int unit = sc->arpcom.ac_if.if_unit;
-
        cs_writereg(sc->nic_addr, PP_LineCTL, sc->line_ctl & ~AUI_ONLY);
        control_dc_dc(sc, 0);
        DELAY( 150000 );
 
        if ((cs_readreg(sc->nic_addr, PP_LineST) & LINK_OK)==0) {
-               printf(CS_NAME"%1d: failed to enable TP\n", unit);
+               printf("%s: failed to enable TP\n",
+                   sc->arpcom.ac_if.if_xname);
                 return EINVAL;
        }
 
@@ -262,14 +262,13 @@ send_test_pkt(struct cs_softc *sc)
 static int
 enable_aui(struct cs_softc *sc)
 {
-       int unit = sc->arpcom.ac_if.if_unit;
-
        control_dc_dc(sc, 0);
        cs_writereg(sc->nic_addr, PP_LineCTL,
                (sc->line_ctl & ~AUTO_AUI_10BASET) | AUI_ONLY);
 
        if (!send_test_pkt(sc)) {
-               printf(CS_NAME"%1d failed to enable AUI\n", unit);
+               printf("%s failed to enable AUI\n",
+                   sc->arpcom.ac_if.if_xname);
                return EINVAL;
         }
         return 0;
@@ -281,14 +280,12 @@ enable_aui(struct cs_softc *sc)
 static int
 enable_bnc(struct cs_softc *sc)
 {
-       int unit = sc->arpcom.ac_if.if_unit;
-
        control_dc_dc(sc, 1);
        cs_writereg(sc->nic_addr, PP_LineCTL,
                (sc->line_ctl & ~AUTO_AUI_10BASET) | AUI_ONLY);
 
        if (!send_test_pkt(sc)) {
-               printf(CS_NAME"%1d failed to enable BNC\n", unit);
+               printf("%s failed to enable BNC\n", sc->arpcom.ac_if.if_xname);
                return EINVAL;
         }
         return 0;
@@ -472,7 +469,7 @@ cs_cs89x0_probe(device_t dev)
         if (drq>0)
                cs_writereg(iobase, pp_isadma, drq);
        else {
-               printf( CS_NAME"%1d: incorrect drq\n", unit );
+               printf("%s: incorrect drq\n", sc->arpcom.ac_if.if_xname);
                return 0;
        }
         */
@@ -583,97 +580,98 @@ void cs_release_resources(device_t dev)
  * Install the interface into kernel networking data structures
  */
 int
-cs_attach(struct cs_softc *sc, int unit, int flags)
+cs_attach(device_t dev)
 {
+        struct cs_softc *sc = device_get_softc(dev);
         int media=0;
        struct ifnet *ifp = &(sc->arpcom.ac_if);
 
        cs_stop( sc );
 
-       if (!ifp->if_name) {
-               ifp->if_softc=sc;
-               ifp->if_unit=unit;
-               ifp->if_name="cs";
-               ifp->if_output=ether_output;
-               ifp->if_start=cs_start;
-               ifp->if_ioctl=cs_ioctl;
-               ifp->if_watchdog=cs_watchdog;
-               ifp->if_init=cs_init;
-               ifp->if_snd.ifq_maxlen= IFQ_MAXLEN;
-               /*
-                 *  MIB DATA
-                 */
-                /*
-               ifp->if_linkmib=&sc->mibdata;
-               ifp->if_linkmiblen=sizeof sc->mibdata;
-                */
+       ifp->if_softc=sc;
+       if_initname(ifp, "cs", device_get_unit(dev));
+       ifp->if_output=ether_output;
+       ifp->if_start=cs_start;
+       ifp->if_ioctl=cs_ioctl;
+       ifp->if_watchdog=cs_watchdog;
+       ifp->if_init=cs_init;
+       ifp->if_snd.ifq_maxlen= IFQ_MAXLEN;
+       /*
+        *  MIB DATA
+        */
+       /*
+        * XXX: Ugly comments here
+        *
+        
+       ifp->if_linkmib=&sc->mibdata;
+       ifp->if_linkmiblen=sizeof sc->mibdata;
+        */
 
-               ifp->if_flags=(IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST );
+       ifp->if_flags=(IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST );
 
-               /*
-                * this code still in progress (DMA support)
-                *
+       /*
+        * this code still in progress (DMA support)
+        *
+
+       sc->recv_ring=malloc(CS_DMA_BUFFER_SIZE<<1, M_DEVBUF, M_NOWAIT);
+       if (sc->recv_ring == NULL) {
+               log(LOG_ERR,
+                   "%s: Couldn't allocate memory for NIC\n", ifp->if_xname);
+               return(0);
+       }
+       if ((sc->recv_ring-(sc->recv_ring & 0x1FFFF))
+           < (128*1024-CS_DMA_BUFFER_SIZE))
+           sc->recv_ring+=16*1024;
+        */
 
-               sc->recv_ring=malloc(CS_DMA_BUFFER_SIZE<<1, M_DEVBUF, M_NOWAIT);
-               if (sc->recv_ring == NULL) {
-                       log(LOG_ERR,CS_NAME
-                       "%d: Couldn't allocate memory for NIC\n", unit);
-                       return(0);
-               }
-               if ((sc->recv_ring-(sc->recv_ring & 0x1FFFF))
-                   < (128*1024-CS_DMA_BUFFER_SIZE))
-                   sc->recv_ring+=16*1024;
+       sc->buffer=malloc(ETHER_MAX_LEN-ETHER_CRC_LEN,M_DEVBUF,M_NOWAIT);
+       if (sc->buffer == NULL) {
+               printf("%s: Couldn't allocate memory for NIC\n",
+                   ifp->if_xname);
+               return(0);
+       }
 
-               */
+       /*
+        * Initialize the media structures.
+        */
+       ifmedia_init(&sc->media, 0, cs_mediachange, cs_mediastatus);
 
-               sc->buffer=malloc(ETHER_MAX_LEN-ETHER_CRC_LEN,M_DEVBUF,M_NOWAIT);
-               if (sc->buffer == NULL) {
-                        printf(CS_NAME"%d: Couldn't allocate memory for NIC\n",
-                               unit);
-                        return(0);
+       if (sc->adapter_cnf & A_CNF_10B_T) {
+               ifmedia_add(&sc->media, IFM_ETHER|IFM_10_T, 0, NULL);
+               if (sc->chip_type != CS8900) {
+                       ifmedia_add(&sc->media,
+                               IFM_ETHER|IFM_10_T|IFM_FDX, 0, NULL);
+                       ifmedia_add(&sc->media,
+                               IFM_ETHER|IFM_10_T|IFM_HDX, 0, NULL);
                }
+       } 
 
-               /*
-                * Initialize the media structures.
-                */
-               ifmedia_init(&sc->media, 0, cs_mediachange, cs_mediastatus);
-
-               if (sc->adapter_cnf & A_CNF_10B_T) {
-                       ifmedia_add(&sc->media, IFM_ETHER|IFM_10_T, 0, NULL);
-                       if (sc->chip_type != CS8900) {
-                               ifmedia_add(&sc->media,
-                                       IFM_ETHER|IFM_10_T|IFM_FDX, 0, NULL);
-                               ifmedia_add(&sc->media,
-                                       IFM_ETHER|IFM_10_T|IFM_HDX, 0, NULL);
-                       }
-               } 
+       if (sc->adapter_cnf & A_CNF_10B_2)
+               ifmedia_add(&sc->media, IFM_ETHER|IFM_10_2, 0, NULL);
 
-               if (sc->adapter_cnf & A_CNF_10B_2)
-                       ifmedia_add(&sc->media, IFM_ETHER|IFM_10_2, 0, NULL);
+       if (sc->adapter_cnf & A_CNF_AUI)
+               ifmedia_add(&sc->media, IFM_ETHER|IFM_10_5, 0, NULL);
 
-               if (sc->adapter_cnf & A_CNF_AUI)
-                       ifmedia_add(&sc->media, IFM_ETHER|IFM_10_5, 0, NULL);
+       if (sc->adapter_cnf & A_CNF_MEDIA)
+               ifmedia_add(&sc->media, IFM_ETHER|IFM_AUTO, 0, NULL);
 
-                if (sc->adapter_cnf & A_CNF_MEDIA)
-                        ifmedia_add(&sc->media, IFM_ETHER|IFM_AUTO, 0, NULL);
+       /* Set default media from EEPROM */
+       switch (sc->adapter_cnf & A_CNF_MEDIA_TYPE) {
+       case A_CNF_MEDIA_AUTO:  media = IFM_ETHER|IFM_AUTO; break;
+       case A_CNF_MEDIA_10B_T: media = IFM_ETHER|IFM_10_T; break;
+       case A_CNF_MEDIA_10B_2: media = IFM_ETHER|IFM_10_2; break;
+       case A_CNF_MEDIA_AUI:   media = IFM_ETHER|IFM_10_5; break;
+       default: printf("%s: adapter has no media\n", ifp->if_xname);
+       }
+       ifmedia_set(&sc->media, media);
+       cs_mediaset(sc, media);
 
-                /* Set default media from EEPROM */
-                switch (sc->adapter_cnf & A_CNF_MEDIA_TYPE) {
-                case A_CNF_MEDIA_AUTO:  media = IFM_ETHER|IFM_AUTO; break;
-                case A_CNF_MEDIA_10B_T: media = IFM_ETHER|IFM_10_T; break;
-                case A_CNF_MEDIA_10B_2: media = IFM_ETHER|IFM_10_2; break;
-                case A_CNF_MEDIA_AUI:   media = IFM_ETHER|IFM_10_5; break;
-                default: printf(CS_NAME"%d: adapter has no media\n", unit);
-                }
-                ifmedia_set(&sc->media, media);
-               cs_mediaset(sc, media);
+       ether_ifattach(ifp, ETHER_BPF_SUPPORTED);
 
-               ether_ifattach(ifp, ETHER_BPF_SUPPORTED);
-       }
 
        if (bootverbose)
-               printf(CS_NAME"%d: ethernet address %6D\n",
-                      ifp->if_unit, sc->arpcom.ac_enaddr, ":");
+               printf("%s: ethernet address %6D\n",
+                      ifp->if_xname, sc->arpcom.ac_enaddr, ":");
 
        return (0);
 }
@@ -784,13 +782,13 @@ cs_get_packet(struct cs_softc *sc)
        length = inw(iobase + RX_FRAME_PORT);
 
 #ifdef CS_DEBUG
-       printf(CS_NAME"%1d: rcvd: stat %x, len %d\n",
-               ifp->if_unit, status, length);
+       printf("%s: rcvd: stat %x, len %d\n",
+               ifp->if_xname, status, length);
 #endif
 
        if (!(status & RX_OK)) {
 #ifdef CS_DEBUG
-               printf(CS_NAME"%1d: bad pkt stat %x\n", ifp->if_unit, status);
+               printf"%s: bad pkt stat %x\n", ifp->if_xname, status);
 #endif
                ifp->if_ierrors++;
                return -1;
@@ -855,14 +853,13 @@ csintr(void *arg)
        int status;
 
 #ifdef CS_DEBUG
-       int unit = ifp->if_unit;
-       printf(CS_NAME"%1d: Interrupt.\n", unit);
+       printf("%s: Interrupt.\n", ifp->xname);
 #endif
 
        while ((status=cs_readword(sc->nic_addr, ISQ_PORT))) {
 
 #ifdef CS_DEBUG
-               printf( CS_NAME"%1d:from ISQ: %04x\n", unit, status );
+               printf("%s:from ISQ: %04x\n", ifp->if_xname, status );
 #endif
 
                switch (status & ISQ_EVENT_MASK) {
@@ -1097,7 +1094,7 @@ cs_ioctl(register struct ifnet *ifp, u_long command, caddr_t data)
        int s,error=0;
 
 #ifdef CS_DEBUG
-       printf(CS_NAME"%d: ioctl(%lx)\n",sc->arpcom.ac_if.if_unit,command);
+       printf("%s: ioctl(%lx)\n",sc->arpcom.ac_if.if_xname, command);
 #endif
 
        s=splimp();
@@ -1167,7 +1164,7 @@ cs_watchdog(struct ifnet *ifp)
        struct cs_softc *sc = ifp->if_softc;
 
        ifp->if_oerrors++;
-       log(LOG_ERR, CS_NAME"%d: device timeout\n", ifp->if_unit);
+       log(LOG_ERR, "%s: device timeout\n", ifp->if_xname);
 
        /* Reset the interface */
        if (ifp->if_flags & IFF_UP)
@@ -1232,7 +1229,7 @@ cs_mediaset(struct cs_softc *sc, int media)
                    ~(SERIAL_RX_ON | SERIAL_TX_ON));
 
 #ifdef CS_DEBUG
-       printf(CS_NAME"%d: cs_setmedia(%x)\n",sc->arpcom.ac_if.if_unit,media);
+       printf("%s: cs_setmedia(%x)\n",sc->arpcom.ac_if.if_xname, media);
 #endif
 
        switch (IFM_SUBTYPE(media)) {
index ccfad73..ede3fbf 100644 (file)
@@ -25,7 +25,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/cs/if_cs_isa.c,v 1.1.2.1 2001/01/25 20:13:48 imp Exp $
- * $DragonFly: src/sys/dev/netif/cs/if_cs_isa.c,v 1.3 2003/08/07 21:17:00 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/cs/if_cs_isa.c,v 1.4 2004/01/06 03:17:22 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -87,7 +87,6 @@ static int
 cs_isa_attach(device_t dev)
 {
         struct cs_softc *sc = device_get_softc(dev);
-        int flags = device_get_flags(dev);
         int error;
         
         if (sc->port_used > 0)
@@ -103,7 +102,7 @@ cs_isa_attach(device_t dev)
                 return (error);
         }              
 
-        return (cs_attach(sc, device_get_unit(dev), flags));
+        return (cs_attach(dev));
 }
 
 static device_method_t cs_isa_methods[] = {
index dece6a7..f08b4a6 100644 (file)
@@ -23,7 +23,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/cs/if_cs_pccard.c,v 1.1.2.1 2001/01/25 20:13:48 imp Exp $
- * $DragonFly: src/sys/dev/netif/cs/if_cs_pccard.c,v 1.3 2003/08/07 21:17:00 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/cs/if_cs_pccard.c,v 1.4 2004/01/06 03:17:22 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -60,7 +60,6 @@ static int
 cs_pccard_attach(device_t dev)
 {
         struct cs_softc *sc = device_get_softc(dev);
-        int flags = device_get_flags(dev);
         int error;
         
         if (sc->port_used > 0)
@@ -76,7 +75,7 @@ cs_pccard_attach(device_t dev)
         if (error != 0)
                goto bad;
 
-        return (cs_attach(sc, device_get_unit(dev), flags));
+        return (cs_attach(dev));
 bad:
        cs_release_resources(dev);
        return (error);
index 442a5ba..75121e9 100644 (file)
@@ -23,7 +23,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/cs/if_csvar.h,v 1.1.2.1 2001/01/25 20:13:48 imp Exp $
- * $DragonFly: src/sys/dev/netif/cs/if_csvar.h,v 1.2 2003/06/17 04:28:23 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/cs/if_csvar.h,v 1.3 2004/01/06 03:17:22 dillon Exp $
  */
 
 #ifndef _IF_CSVAR_H
@@ -71,7 +71,7 @@ struct cs_softc {
 int    cs_alloc_port(device_t dev, int rid, int size);
 int    cs_alloc_memory(device_t dev, int rid, int size);
 int    cs_alloc_irq(device_t dev, int rid, int flags);
-int    cs_attach(struct cs_softc *, int, int);
+int    cs_attach(device_t dev);
 int    cs_cs89x0_probe(device_t dev);
 void   cs_release_resources(device_t dev);
 driver_intr_t  csintr;
index 0a8dcb4..1a836f8 100644 (file)
@@ -16,7 +16,7 @@
  * Version 1.9, Wed Oct  4 18:58:15 MSK 1995
  *
  * $FreeBSD: src/sys/i386/isa/cx.c,v 1.45.2.1 2001/02/26 04:23:09 jlemon Exp $
- * $DragonFly: src/sys/dev/netif/cx/cx.c,v 1.7 2003/08/07 21:17:00 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/cx/cx.c,v 1.8 2004/01/06 03:17:22 dillon Exp $
  *
  */
 #undef DEBUG
@@ -339,11 +339,11 @@ int cxioctl (dev_t dev, u_long cmd, caddr_t data, int flag, struct thread *td)
                        master = *o->master ? ifunit (o->master) : c->ifp;
                        if (! master)
                                return (EINVAL);
-                       m = cxchan[master->if_unit];
+                       m = cxchan[master->if_dunit];
 
                        /* Leave the previous master queue. */
                        if (c->master != c->ifp) {
-                               cx_chan_t *p = cxchan[c->master->if_unit];
+                               cx_chan_t *p = cxchan[c->master->if_dunit];
 
                                for (; p; p=p->slaveq)
                                        if (p->slaveq == c)
@@ -409,9 +409,8 @@ int cxioctl (dev_t dev, u_long cmd, caddr_t data, int flag, struct thread *td)
                        case 8: o->iftype = c->board->if8type; break;
                        }
                        if (c->master != c->ifp)
-                               snprintf (o->master, sizeof(o->master),
-                                   "%s%d", c->master->if_name,
-                                       c->master->if_unit);
+                               strlcpy(o->master, sizeof(o->master),
+                                       c->master->if_xname);
                        else
                                *o->master = 0;
                        break;
index da69ad6..e9b9f52 100644 (file)
@@ -1,7 +1,7 @@
 /*     $NetBSD: if_devar.h,v 1.32 1999/04/01 14:55:25 tsubai Exp $     */
 
 /* $FreeBSD: src/sys/pci/if_devar.h,v 1.23.2.1 2000/08/04 23:25:10 peter Exp $ */
-/* $DragonFly: src/sys/dev/netif/de/if_devar.h,v 1.2 2003/06/17 04:28:57 dillon Exp $ */
+/* $DragonFly: src/sys/dev/netif/de/if_devar.h,v 1.3 2004/01/06 03:17:22 dillon Exp $ */
 
 /*-
  * Copyright (c) 1994-1997 Matt Thomas (matt@3am-software.com)
@@ -852,9 +852,9 @@ NETISR_SET(NETISR_DE, tulip_softintr);
 #define        tulip_if        tulip_ac.ac_if
 #endif
 #ifndef tulip_unit
-#define        tulip_unit      tulip_if.if_unit
+#define        tulip_unit      tulip_if.if_dunit
 #endif
-#define        tulip_name      tulip_if.if_name
+#define        tulip_name      tulip_if.if_dname
 #ifndef tulip_enaddr
 #define        tulip_enaddr    tulip_ac.ac_enaddr
 #endif
index 60ef057..c89bc30 100644 (file)
@@ -25,7 +25,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/ed/if_ed.c,v 1.173.2.13 2001/11/03 00:36:07 luigi Exp $
- * $DragonFly: src/sys/dev/netif/ed/if_ed.c,v 1.6 2003/11/20 22:07:27 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/ed/if_ed.c,v 1.7 2004/01/06 03:17:23 dillon Exp $
  */
 
 /*
@@ -1593,57 +1593,55 @@ ed_attach(sc, unit, flags)
         */
        ed_stop(sc);
 
-       if (!ifp->if_name) {
-               /*
-                * Initialize ifnet structure
-                */
-               ifp->if_softc = sc;
-               ifp->if_unit = unit;
-               ifp->if_name = "ed";
-               ifp->if_output = ether_output;
-               ifp->if_start = ed_start;
-               ifp->if_ioctl = ed_ioctl;
-               ifp->if_watchdog = ed_watchdog;
-               ifp->if_init = ed_init;
-               ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
-               ifp->if_linkmib = &sc->mibdata;
-               ifp->if_linkmiblen = sizeof sc->mibdata;
-               /*
-                * XXX - should do a better job.
-                */
-               if (sc->chip_type == ED_CHIP_TYPE_WD790)
-                       sc->mibdata.dot3StatsEtherChipSet =
-                               DOT3CHIPSET(dot3VendorWesternDigital,
-                                           dot3ChipSetWesternDigital83C790);
-               else
-                       sc->mibdata.dot3StatsEtherChipSet =
-                               DOT3CHIPSET(dot3VendorNational, 
-                                           dot3ChipSetNational8390);
-               sc->mibdata.dot3Compliance = DOT3COMPLIANCE_COLLS;
+       /*
+        * Initialize ifnet structure
+        */
+       ifp->if_softc = sc;
+       if_initname(ifp, "ed", unit);
+       ifp->if_output = ether_output;
+       ifp->if_start = ed_start;
+       ifp->if_ioctl = ed_ioctl;
+       ifp->if_watchdog = ed_watchdog;
+       ifp->if_init = ed_init;
+       ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
+       ifp->if_linkmib = &sc->mibdata;
+       ifp->if_linkmiblen = sizeof sc->mibdata;
+       /*
+        * XXX - should do a better job.
+        */
+       if (sc->chip_type == ED_CHIP_TYPE_WD790)
+               sc->mibdata.dot3StatsEtherChipSet =
+                       DOT3CHIPSET(dot3VendorWesternDigital,
+                                   dot3ChipSetWesternDigital83C790);
+       else
+               sc->mibdata.dot3StatsEtherChipSet =
+                       DOT3CHIPSET(dot3VendorNational, 
+                                   dot3ChipSetNational8390);
+       sc->mibdata.dot3Compliance = DOT3COMPLIANCE_COLLS;
 
-               /*
-                * Set default state for ALTPHYS flag (used to disable the 
-                * tranceiver for AUI operation), based on compile-time 
-                * config option.
-                */
-               if (flags & ED_FLAGS_DISABLE_TRANCEIVER)
-                       ifp->if_flags = (IFF_BROADCAST | IFF_SIMPLEX | 
-                           IFF_MULTICAST | IFF_ALTPHYS);
-               else
-                       ifp->if_flags = (IFF_BROADCAST | IFF_SIMPLEX |
-                           IFF_MULTICAST);
+       /*
+        * Set default state for ALTPHYS flag (used to disable the 
+        * tranceiver for AUI operation), based on compile-time 
+        * config option.
+        */
+       if (flags & ED_FLAGS_DISABLE_TRANCEIVER)
+               ifp->if_flags = (IFF_BROADCAST | IFF_SIMPLEX | 
+                   IFF_MULTICAST | IFF_ALTPHYS);
+       else
+               ifp->if_flags = (IFF_BROADCAST | IFF_SIMPLEX |
+                   IFF_MULTICAST);
+
+       /*
+        * Attach the interface
+        */
+       ether_ifattach(ifp, ETHER_BPF_SUPPORTED);
 
-               /*
-                * Attach the interface
-                */
-               ether_ifattach(ifp, ETHER_BPF_SUPPORTED);
-       }
        /* device attach does transition from UNCONFIGURED to IDLE state */
 
        /*
         * Print additional info when attached
         */
-       printf("%s%d: address %6D, ", ifp->if_name, ifp->if_unit, 
+       printf("%s: address %6D, ", ifp->if_xname,
                sc->arpcom.ac_enaddr, ":");
 
        if (sc->type_str && (*sc->type_str != 0))
@@ -1727,7 +1725,7 @@ ed_watchdog(ifp)
 
        if (sc->gone)
                return;
-       log(LOG_ERR, "ed%d: device timeout\n", ifp->if_unit);
+       log(LOG_ERR, "%s: device timeout\n", ifp->if_xname);
        ifp->if_oerrors++;
 
        ed_reset(ifp);
@@ -2224,8 +2222,8 @@ ed_rint(sc)
                         * Really BAD. The ring pointers are corrupted.
                         */
                        log(LOG_ERR,
-                           "ed%d: NIC memory corrupt - invalid packet length %d\n",
-                           ifp->if_unit, len);
+                           "%s: NIC memory corrupt - invalid packet length %d\n",
+                           ifp->if_xname, len);
                        ifp->if_ierrors++;
                        ed_reset(ifp);
                        return;
@@ -2416,8 +2414,8 @@ edintr(arg)
                                ifp->if_ierrors++;
 #ifdef DIAGNOSTIC
                                log(LOG_WARNING,
-                                   "ed%d: warning - receiver ring buffer overrun\n",
-                                   ifp->if_unit);
+                                   "%s: warning - receiver ring buffer overrun\n",
+                                   ifp->if_xname);
 #endif
 
                                /*
@@ -2442,7 +2440,7 @@ edintr(arg)
                                                sc->mibdata.dot3StatsInternalMacReceiveErrors++;
                                        ifp->if_ierrors++;
 #ifdef ED_DEBUG
-                                       printf("ed%d: receive error %x\n", ifp->if_unit,
+                                       printf("%s: receive error %x\n", ifp->if_xname,
                                               ed_nic_inb(sc, ED_P0_RSR));
 #endif
                                }
@@ -2925,8 +2923,8 @@ ed_pio_write_mbufs(sc, m, dst)
        while (((ed_nic_inb(sc, ED_P0_ISR) & ED_ISR_RDC) != ED_ISR_RDC) && --maxwait);
 
        if (!maxwait) {
-               log(LOG_WARNING, "ed%d: remote transmit DMA failed to complete\n",
-                   ifp->if_unit);
+               log(LOG_WARNING, "%s: remote transmit DMA failed to complete\n",
+                   ifp->if_xname);
                ed_reset(ifp);
                return(0);
        }
index cc141d4..3766b55 100644 (file)
@@ -20,7 +20,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/fe/if_fevar.h,v 1.1.2.1 2000/09/22 10:01:47 nyan Exp $
- * $DragonFly: src/sys/dev/netif/fe/if_fevar.h,v 1.2 2003/06/17 04:28:25 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/fe/if_fevar.h,v 1.3 2004/01/06 03:17:23 dillon Exp $
  */
 
 /* How many registers does an fe-supported adapter have at maximum?  */
@@ -119,7 +119,7 @@ struct fe_softc {
 };
 
 #define sc_if          arpcom.ac_if
-#define sc_unit                arpcom.ac_if.if_unit
+#define sc_unit                arpcom.ac_if.if_dunit
 #define sc_enaddr      arpcom.ac_enaddr
 
 
index 52be71f..712c79d 100644 (file)
@@ -22,7 +22,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/pdq/if_fea.c,v 1.19 2000/01/14 07:14:03 peter Exp $
- * $DragonFly: src/sys/dev/netif/fea/Attic/if_fea.c,v 1.5 2003/11/20 22:07:28 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/fea/Attic/if_fea.c,v 1.6 2004/01/06 03:17:23 dillon Exp $
  */
 
 /*
@@ -209,12 +209,11 @@ pdq_eisa_attach (dev)
 
        sc->sc_iobase = (pdq_bus_ioport_t) rman_get_start(io);
        sc->sc_membase = (pdq_bus_memaddr_t) pmap_mapdev(m_addr, m_size);
-       sc->sc_if.if_name = "fea";
-       sc->sc_if.if_unit = device_get_unit(dev);
+       if_initname(&(sc->sc_if), "fea", device_get_unit(dev));
 
        pdq_eisa_devinit(sc);
        sc->sc_pdq = pdq_initialize(PDQ_BUS_EISA, sc->sc_membase,
-                                   sc->sc_if.if_name, sc->sc_if.if_unit,
+                                   sc->sc_if.if_dname, sc->sc_if.if_dunit,
                                    (void *) sc, PDQ_DEFEA);
        if (sc->sc_pdq == NULL) {
                device_printf(dev, "initialization failed\n");
index bfbf493..8b9aa16 100644 (file)
@@ -22,7 +22,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/pdq/if_fpa.c,v 1.13 1999/08/28 00:50:50 peter Exp $
- * $DragonFly: src/sys/dev/netif/fpa/Attic/if_fpa.c,v 1.5 2003/11/20 22:07:28 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/fpa/Attic/if_fpa.c,v 1.6 2004/01/06 03:17:23 dillon Exp $
  *
  */
 
@@ -180,11 +180,10 @@ pdq_pci_attach(
        return;
     }
 
-    sc->sc_if.if_name = "fpa";
-    sc->sc_if.if_unit = unit;
+    if_initname(&(sc->sc_if), "fpa", unit);
     sc->sc_membase = (pdq_bus_memaddr_t) va_csrs;
     sc->sc_pdq = pdq_initialize(PDQ_BUS_PCI, sc->sc_membase,
-                               sc->sc_if.if_name, sc->sc_if.if_unit,
+                               sc->sc_if.if_dname, sc->sc_if.if_dunit,
                                (void *) sc, PDQ_DEFPA);
     if (sc->sc_pdq == NULL) {
        free((void *) sc, M_DEVBUF);
@@ -303,16 +302,15 @@ pdq_pci_attach(
     struct ifnet *ifp = &sc->sc_if;
     int i;
 
-    sc->sc_if.if_unit = sc->sc_dev.dv_unit;
-    sc->sc_if.if_name = "fpa";
+    if_initname(&(sc->sc_if), "fpa", sc->sc_dev.dv_unit);
     sc->sc_if.if_flags = 0;
     sc->sc_membase = (pdq_bus_memaddr_t) mapphys((vm_offset_t)ia->ia_maddr, ia->ia_msize);
 
     sc->sc_pdq = pdq_initialize(PDQ_BUS_PCI, sc->sc_membase,
-                               sc->sc_if.if_name, sc->sc_if.if_unit,
+                               sc->sc_if.if_dname, sc->sc_if.if_dunit,
                                (void *) sc, PDQ_DEFPA);
     if (sc->sc_pdq == NULL) {
-       printf("fpa%d: initialization failed\n", sc->sc_if.if_unit);
+       printf("%s: initialization failed\n", sc->sc_if.if_xname);
        return;
     }
 
index 754252f..4bb6282 100644 (file)
@@ -25,7 +25,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/fxp/if_fxpvar.h,v 1.17.2.6 2002/11/13 20:58:31 iedowse Exp $
- * $DragonFly: src/sys/dev/netif/fxp/if_fxpvar.h,v 1.2 2003/06/17 04:28:26 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/fxp/if_fxpvar.h,v 1.3 2004/01/06 03:17:23 dillon Exp $
  */
 
 /*
@@ -176,4 +176,4 @@ struct fxp_softc {
 
 #define        sc_if                   arpcom.ac_if
 
-#define        FXP_UNIT(_sc)           (_sc)->arpcom.ac_if.if_unit
+#define        FXP_UNIT(_sc)           (_sc)->arpcom.ac_if.if_dunit
index b7fc476..4c6eeb1 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/iicbus/if_ic.c,v 1.8 1999/12/29 04:35:39 peter Exp $
- * $DragonFly: src/sys/dev/netif/ic/if_ic.c,v 1.5 2003/11/20 22:07:28 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/ic/if_ic.c,v 1.6 2004/01/06 03:17:23 dillon Exp $
  */
 
 /*
@@ -135,8 +135,7 @@ icattach(device_t dev)
        sc->ic_addr = iicbus_get_addr(dev);
 
        ifp->if_softc = sc;
-       ifp->if_name = "ic";
-       ifp->if_unit = device_get_unit(dev);
+       if_initname(ifp, "ic", device_get_unit(dev));
        ifp->if_mtu = ICMTU;
        ifp->if_flags = IFF_SIMPLEX | IFF_POINTOPOINT | IFF_MULTICAST;
        ifp->if_ioctl = icioctl;
@@ -159,7 +158,7 @@ icattach(device_t dev)
 static int
 icioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 {
-    device_t icdev = devclass_get_device(ic_devclass, ifp->if_unit);
+    device_t icdev = devclass_get_device(ic_devclass, ifp->if_dunit);
     device_t parent = device_get_parent(icdev);
     struct ic_softc *sc = (struct ic_softc *)device_get_softc(icdev);
 
@@ -365,7 +364,7 @@ static int
 icoutput(struct ifnet *ifp, struct mbuf *m,
        struct sockaddr *dst, struct rtentry *rt)
 {
-       device_t icdev = devclass_get_device(ic_devclass, ifp->if_unit);
+       device_t icdev = devclass_get_device(ic_devclass, ifp->if_dunit);
        device_t parent = device_get_parent(icdev);
        struct ic_softc *sc = (struct ic_softc *)device_get_softc(icdev);
 
index 3e33cda..96fb572 100644 (file)
@@ -48,7 +48,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/ie/if_ie.c,v 1.72.2.4 2003/03/27 21:01:49 mdodd Exp $
- * $DragonFly: src/sys/dev/netif/ie/if_ie.c,v 1.5 2003/11/20 22:07:29 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/ie/if_ie.c,v 1.6 2004/01/06 03:17:23 dillon Exp $
  */
 
 /*
@@ -812,8 +812,7 @@ ieattach(struct isa_device *dvp)
        ie->xmit_cbuffs = (volatile u_char **)&ie->xmit_buffs[ie->ntxbufs];
 
        ifp->if_softc = ie;
-       ifp->if_unit = unit;
-       ifp->if_name = iedriver.name;
+       if_initname(ifp, iedriver.name, unit);
        ifp->if_mtu = ETHERMTU;
        printf("ie%d: <%s R%d> address %6D\n", unit,
               ie_hardware_names[ie->hard_type],
@@ -1482,7 +1481,7 @@ iestart(struct ifnet *ifp)
                 * command_and_wait() to pretend that this isn't an action
                 * command.  I wish I understood what was happening here.
                 */
-               command_and_wait(ifp->if_unit, IE_CU_START, 0, 0);
+               command_and_wait(ifp->if_dunit, IE_CU_START, 0, 0);
                ifp->if_flags |= IFF_OACTIVE;
        }
        return;
@@ -2146,15 +2145,15 @@ ieioctl(struct ifnet *ifp, u_long command, caddr_t data)
                if ((ifp->if_flags & IFF_UP) == 0 &&
                    (ifp->if_flags & IFF_RUNNING)) {
                        ifp->if_flags &= ~IFF_RUNNING;
-                       ie_stop(ifp->if_unit);
+                       ie_stop(ifp->if_dunit);
                } else if ((ifp->if_flags & IFF_UP) &&
                           (ifp->if_flags & IFF_RUNNING) == 0) {
-                       ie_softc[ifp->if_unit].promisc =
+                       ie_softc[ifp->if_dunit].promisc =
                            ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI);
                        ieinit(ifp->if_softc);
-               } else if (ie_softc[ifp->if_unit].promisc ^
+               } else if (ie_softc[ifp->if_dunit].promisc ^
                           (ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI))) {
-                       ie_softc[ifp->if_unit].promisc =
+                       ie_softc[ifp->if_dunit].promisc =
                            ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI);
                        ieinit(ifp->if_softc);
                }
@@ -2166,7 +2165,7 @@ ieioctl(struct ifnet *ifp, u_long command, caddr_t data)
                 * Update multicast listeners
                 */
                /* reset multicast filtering */
-               ie_mc_reset(ifp->if_unit);
+               ie_mc_reset(ifp->if_dunit);
                error = 0;
                break;
 
index 46269bb..500e3fb 100644 (file)
@@ -22,7 +22,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/i386/isa/if_le.c,v 1.56.2.4 2002/06/05 23:24:10 paul Exp $
- * $DragonFly: src/sys/dev/netif/le/if_le.c,v 1.6 2003/11/20 22:07:29 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/le/if_le.c,v 1.7 2004/01/06 03:17:23 dillon Exp $
  */
 
 /*
@@ -315,8 +315,7 @@ le_probe(
     sc->le_iobase = dvp->id_iobase;
     sc->le_membase = (u_char *) dvp->id_maddr;
     sc->le_irq = dvp->id_irq;
-    sc->le_if.if_name = ledriver.name;
-    sc->le_if.if_unit = dvp->id_unit;
+    if_initname(&(sc->le_if), ledriver.name, dvp->id_unit);
 
     /*
      * Find and Initialize board..
@@ -343,8 +342,8 @@ le_attach(
     dvp->id_ointr = le_intr;
     ifp->if_softc = sc;
     ifp->if_mtu = ETHERMTU;
-    printf("%s%d: %s ethernet address %6D\n",
-          ifp->if_name, ifp->if_unit,
+    printf("%s: %s ethernet address %6D\n",
+          ifp->if_xname,
           sc->le_prodname,
           sc->le_ac.ac_enaddr, ":");
 
@@ -686,8 +685,8 @@ lemac_probe(
      */
 
     if (irq != sc->le_irq) {
-       printf("%s%d: lemac configuration error: expected IRQ 0x%x actual 0x%x\n",
-              sc->le_if.if_name, sc->le_if.if_unit, sc->le_irq, irq);
+       printf("%s: lemac configuration error: expected IRQ 0x%x actual 0x%x\n",
+              sc->le_if.if_xname, sc->le_irq, irq);
        return 0;
     }
 
@@ -706,8 +705,8 @@ lemac_probe(
      *  Check for correct memory base configuration.
      */
     if (vtophys(sc->le_membase) != sc->lemac_membase) {
-       printf("%s%d: lemac configuration error: expected iomem 0x%x actual 0x%x\n",
-              sc->le_if.if_name, sc->le_if.if_unit,
+       printf("%s: lemac configuration error: expected iomem 0x%x actual 0x%x\n",
+              sc->le_if.if_xname,
               vtophys(sc->le_membase), sc->lemac_membase);
        return 0;
     }
@@ -717,7 +716,7 @@ lemac_probe(
     sc->le_mcmask = (1 << LEMAC_MCTBL_BITS) - 1;
     sc->lemac_txmax = lemac_deftxmax;
     *msize = 2048;
-    le_intrvec[sc->le_if.if_unit] = lemac_intr;
+    le_intrvec[sc->le_if.if_dunit] = lemac_intr;
 
     return LEMAC_IOSPACE;
 }
@@ -751,8 +750,8 @@ lemac_reset(
      * read from the EEPROM.
      */
     if ((cksum = lemac_read_eeprom(sc)) != LEMAC_EEP_CKSUM) {
-       printf("%s%d: reset: EEPROM checksum failed (0x%x)\n",
-              sc->le_if.if_name, sc->le_if.if_unit, cksum);
+       printf("%s: reset: EEPROM checksum failed (0x%x)\n",
+              sc->le_if.if_xname, cksum);
        return;
     }
 
@@ -948,8 +947,8 @@ lemac_rxd_intr(
     if ((LE_INB(sc, LEMAC_REG_CS) & LEMAC_CS_RXD) == 0)
        return;
 
-    printf("%s%d: fatal RXD error, attempting recovery\n",
-          sc->le_if.if_name, sc->le_if.if_unit);
+    printf("%s: fatal RXD error, attempting recovery\n",
+          sc->le_if.if_xname);
 
     sc->if_reset(sc);
     if (sc->le_flags & IFF_UP) {
@@ -960,8 +959,8 @@ lemac_rxd_intr(
     /*
      *  Error during initializion.  Mark card as disabled.
      */
-    printf("%s%d: recovery failed -- board disabled\n",
-          sc->le_if.if_name, sc->le_if.if_unit);
+    printf("%s: recovery failed -- board disabled\n",
+          sc->le_if.if_xname);
     return;
 }
 \f
@@ -1362,7 +1361,7 @@ depca_probe(
      */
     DEPCA_WRNICSR(sc, DEPCA_RDNICSR(sc) | DEPCA_NICSR_SHE);
 
-    le_intrvec[sc->le_if.if_unit] = depca_intr;
+    le_intrvec[sc->le_if.if_dunit] = depca_intr;
     if (!lance_init_adapmem(sc))
        return 0;
 
@@ -1511,8 +1510,8 @@ lance_dumpcsrs(
     le_softc_t *sc,
     const char *id)
 {
-    printf("%s%d: %s: nicsr=%04x",
-          sc->le_if.if_name, sc->le_if.if_unit,
+    printf("%s: %s: nicsr=%04x",
+          sc->le_if.if_xname,
           id, DEPCA_RDNICSR(sc));
     LN_SELCSR(sc, LN_CSR0); printf(" csr0=%04x", LN_RDCSR(sc));
     LN_SELCSR(sc, LN_CSR1); printf(" csr1=%04x", LN_RDCSR(sc));
@@ -1704,8 +1703,8 @@ lance_intr(
     }
 
     if (oldcsr == (LN_CSR0_PENDINTR|LN_CSR0_RXON|LN_CSR0_TXON))
-        printf("%s%d: lance_intr: stray interrupt\n",
-              sc->le_if.if_name, sc->le_if.if_unit);
+        printf("%s: lance_intr: stray interrupt\n",
+              sc->le_if.if_xname);
 }
 \f
 static int
@@ -1954,8 +1953,8 @@ lance_tx_intr(
                    LN_STAT(tx_excessive_collisions++);
                    if ((tdr = (desc.d_status & LN_DSTS_TxTDRMASK)) > 0) {
                        tdr *= 100;
-                       printf("%s%d: lance: warning: excessive collisions: TDR %dns (%d-%dm)\n",
-                              sc->le_if.if_name, sc->le_if.if_unit,
+                       printf("%s: lance: warning: excessive collisions: TDR %dns (%d-%dm)\n",
+                              sc->le_if.if_xname,
                               tdr, (tdr*99)/1000, (tdr*117)/1000);
                    }
                }
index 22900a3..8198740 100644 (file)
@@ -28,7 +28,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/lnc/if_lnc.c,v 1.89 2001/07/04 13:00:19 nyan Exp $
- * $DragonFly: src/sys/dev/netif/lnc/Attic/if_lnc.c,v 1.6 2003/12/07 19:23:39 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/lnc/Attic/if_lnc.c,v 1.7 2004/01/06 03:17:23 dillon Exp $
  */
 
 /*
@@ -468,13 +468,13 @@ lnc_rint(struct lnc_softc *sc)
 
 #ifdef DIAGNOSTIC
        if ((sc->recv_ring + sc->recv_next)->md->md1 & OWN) {
-               int unit = sc->arpcom.ac_if.if_unit;
+               int unit = sc->arpcom.ac_if.if_dunit;
                log(LOG_ERR, "lnc%d: Receive interrupt with buffer still owned by controller -- Resetting\n", unit);
                lnc_reset(sc);
                return;
        }
        if (!((sc->recv_ring + sc->recv_next)->md->md1 & STP)) {
-               int unit = sc->arpcom.ac_if.if_unit;
+               int unit = sc->arpcom.ac_if.if_dunit;
                log(LOG_ERR, "lnc%d: Receive interrupt but not start of packet -- Resetting\n", unit);
                lnc_reset(sc);
                return;
@@ -506,7 +506,7 @@ lnc_rint(struct lnc_softc *sc)
                        } while (!(flags & (STP | OWN | ENP | MDERR)));
 
                        if (flags & STP) {
-                               int unit = sc->arpcom.ac_if.if_unit;
+                               int unit = sc->arpcom.ac_if.if_dunit;
                                log(LOG_ERR, "lnc%d: Start of packet found before end of previous in receive ring -- Resetting\n", unit);
                                lnc_reset(sc);
                                return;
@@ -520,7 +520,7 @@ lnc_rint(struct lnc_softc *sc)
                                        sc->recv_next = start_of_packet;
                                        break;
                                } else {
-                                       int unit = sc->arpcom.ac_if.if_unit;
+                                       int unit = sc->arpcom.ac_if.if_dunit;
                                        log(LOG_ERR, "lnc%d: End of received packet not found-- Resetting\n", unit);
                                        lnc_reset(sc);
                                        return;
@@ -535,7 +535,7 @@ lnc_rint(struct lnc_softc *sc)
                next = sc->recv_ring + sc->recv_next;
 
                if (flags & MDERR) {
-                       int unit = sc->arpcom.ac_if.if_unit;
+                       int unit = sc->arpcom.ac_if.if_dunit;
                        if (flags & RBUFF) {
                                LNCSTATS(rbuff)
                                log(LOG_ERR, "lnc%d: Receive buffer error\n", unit);
@@ -612,7 +612,7 @@ lnc_rint(struct lnc_softc *sc)
                                    ether_input(&sc->arpcom.ac_if, eh, head);
                                }
                        } else {
-                               int unit = sc->arpcom.ac_if.if_unit;
+                               int unit = sc->arpcom.ac_if.if_dunit;
                                log(LOG_ERR,"lnc%d: Packet dropped, no mbufs\n",unit);
                                LNCSTATS(drop_packet)
                        }
@@ -654,7 +654,7 @@ lnc_tint(struct lnc_softc *sc)
 
 #ifdef DIAGNOSTIC
        if ((sc->trans_ring + sc->trans_next)->md->md1 & OWN) {
-               int unit = sc->arpcom.ac_if.if_unit;
+               int unit = sc->arpcom.ac_if.if_dunit;
                log(LOG_ERR, "lnc%d: Transmit interrupt with buffer still owned by controller -- Resetting\n", unit);
                lnc_reset(sc);
                return;
@@ -684,7 +684,7 @@ lnc_tint(struct lnc_softc *sc)
 
 #ifdef DIAGNOSTIC
        if (!(next->md->md1 & STP)) {
-               int unit = sc->arpcom.ac_if.if_unit;
+               int unit = sc->arpcom.ac_if.if_dunit;
                log(LOG_ERR, "lnc%d: Transmit interrupt but not start of packet -- Resetting\n", unit);
                lnc_reset(sc);
                return;
@@ -702,7 +702,7 @@ lnc_tint(struct lnc_softc *sc)
                        } while (!(next->md->md1 & (STP | OWN | ENP | MDERR)));
 
                        if (next->md->md1 & STP) {
-                               int unit = sc->arpcom.ac_if.if_unit;
+                               int unit = sc->arpcom.ac_if.if_dunit;
                                log(LOG_ERR, "lnc%d: Start of packet found before end of previous in transmit ring -- Resetting\n", unit);
                                lnc_reset(sc);
                                return;
@@ -716,7 +716,7 @@ lnc_tint(struct lnc_softc *sc)
                                        sc->trans_next = start_of_packet;
                                        break;
                                } else {
-                                       int unit = sc->arpcom.ac_if.if_unit;
+                                       int unit = sc->arpcom.ac_if.if_dunit;
                                        log(LOG_ERR, "lnc%d: End of transmitted packet not found -- Resetting\n", unit);
                                        lnc_reset(sc);
                                        return;
@@ -729,7 +729,7 @@ lnc_tint(struct lnc_softc *sc)
                 */
                if (next->md->md1 & MDERR) {
 
-                       int unit = sc->arpcom.ac_if.if_unit;
+                       int unit = sc->arpcom.ac_if.if_dunit;
 
                        LNCSTATS(terr)
                                sc->arpcom.ac_if.if_oerrors++;
@@ -888,8 +888,7 @@ lnc_attach_common(device_t dev)
        /* Fill in arpcom structure entries */
 
        sc->arpcom.ac_if.if_softc = sc;
-       sc->arpcom.ac_if.if_name = "lnc";
-       sc->arpcom.ac_if.if_unit = unit;
+       if_initname(&(sc->arpcom.ac_if), "lnc", unit);
        sc->arpcom.ac_if.if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
        sc->arpcom.ac_if.if_timer = 0;
        sc->arpcom.ac_if.if_output = ether_output;
@@ -1096,8 +1095,8 @@ printf("Enabling lnc interrupts\n");
                sc->arpcom.ac_if.if_flags &= ~IFF_OACTIVE;
                lnc_start(&sc->arpcom.ac_if);
        } else
-               log(LOG_ERR, "lnc%d: Initialisation failed\n", 
-                   sc->arpcom.ac_if.if_unit);
+               log(LOG_ERR, "%s: Initialisation failed\n", 
+                   sc->arpcom.ac_if.if_xname);
 
        splx(s);
 }
@@ -1127,7 +1126,7 @@ void
 lncintr(void *arg)
 {
        lnc_softc_t *sc = arg;
-       int unit = sc->arpcom.ac_if.if_unit;
+       int unit = sc->arpcom.ac_if.if_dunit;
        u_short csr0;
 
        /*
@@ -1284,7 +1283,7 @@ lnc_start(struct ifnet *ifp)
 
                        if (no_entries_needed > (NDESC(sc->ntdre) - sc->pending_transmits)) {
                                if (!(head = chain_to_cluster(head))) {
-                                       log(LOG_ERR, "lnc%d: Couldn't get mbuf for transmit packet -- Resetting \n ",ifp->if_unit);
+                                       log(LOG_ERR, "%s: Couldn't get mbuf for transmit packet -- Resetting \n ",ifp->if_xname);
                                        lnc_reset(sc);
                                        return;
                                }
@@ -1473,7 +1472,7 @@ lnc_ioctl(struct ifnet * ifp, u_long command, caddr_t data)
 static void
 lnc_watchdog(struct ifnet *ifp)
 {
-       log(LOG_ERR, "lnc%d: Device timeout -- Resetting\n", ifp->if_unit);
+       log(LOG_ERR, "%s: Device timeout -- Resetting\n", ifp->if_xname);
        ifp->if_oerrors++;
        lnc_reset(ifp->if_softc);
 }
@@ -1484,7 +1483,7 @@ lnc_dump_state(struct lnc_softc *sc)
 {
        int             i;
 
-       printf("\nDriver/NIC [%d] state dump\n", sc->arpcom.ac_if.if_unit);
+       printf("\nDriver/NIC [%d] state dump\n", sc->arpcom.ac_if.if_dunit);
        printf("Memory access mode: %b\n", sc->nic.mem_mode, MEM_MODES);
        printf("Host memory\n");
        printf("-----------\n");
index 86849e6..425684e 100644 (file)
@@ -25,7 +25,7 @@
  *
  *     From Id: lpt.c,v 1.55.2.1 1996/11/12 09:08:38 phk Exp
  * $FreeBSD: src/sys/dev/ppbus/if_plip.c,v 1.19.2.1 2000/05/24 00:20:57 n_hibma Exp $
- * $DragonFly: src/sys/dev/netif/plip/if_plip.c,v 1.5 2003/11/20 22:07:30 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/plip/if_plip.c,v 1.6 2004/01/06 03:17:24 dillon Exp $
  */
 
 /*
@@ -236,8 +236,7 @@ lp_attach (device_t dev)
        struct ifnet *ifp = &lp->sc_if;
 
        ifp->if_softc = lp;
-       ifp->if_name = "lp";
-       ifp->if_unit = device_get_unit(dev);
+       if_initname(ifp, "lp", device_get_unit(dev));
        ifp->if_mtu = LPMTU;
        ifp->if_flags = IFF_SIMPLEX | IFF_POINTOPOINT | IFF_MULTICAST;
        ifp->if_ioctl = lpioctl;
@@ -298,7 +297,7 @@ lpinittables (void)
 static int
 lpioctl (struct ifnet *ifp, u_long cmd, caddr_t data)
 {
-    device_t dev = UNITODEVICE(ifp->if_unit);
+    device_t dev = UNITODEVICE(ifp->if_dunit);
     device_t ppbus = device_get_parent(dev);
     struct lp_data *sc = DEVTOSOFTC(dev);
     struct ifaddr *ifa = (struct ifaddr *)data;
@@ -612,7 +611,7 @@ static int
 lpoutput (struct ifnet *ifp, struct mbuf *m,
          struct sockaddr *dst, struct rtentry *rt)
 {
-    device_t dev = UNITODEVICE(ifp->if_unit);
+    device_t dev = UNITODEVICE(ifp->if_dunit);
     device_t ppbus = device_get_parent(dev);
     int s, err;
     struct mbuf *mm;
index 1e24537..9b3858f 100644 (file)
@@ -25,7 +25,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/i386/isa/if_rdp.c,v 1.6.2.2 2000/07/17 21:24:32 archie Exp $
- * $DragonFly: src/sys/dev/netif/rdp/if_rdp.c,v 1.6 2003/11/20 22:07:30 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/rdp/if_rdp.c,v 1.7 2004/01/06 03:17:24 dillon Exp $
  */
 
 /*
@@ -595,36 +595,33 @@ rdp_attach(struct isa_device *isa_dev)
         */
        rdp_stop(sc);
 
-       if (!ifp->if_name) {
-               /*
-                * Initialize ifnet structure
-                */
-               ifp->if_softc = sc;
-               ifp->if_unit = unit;
-               ifp->if_name = "rdp";
-               ifp->if_output = ether_output;
-               ifp->if_start = rdp_start;
-               ifp->if_ioctl = rdp_ioctl;
-               ifp->if_watchdog = rdp_watchdog;
-               ifp->if_init = rdp_init;
-               ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
-               ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX;
+       /*
+        * Initialize ifnet structure
+        */
+       ifp->if_softc = sc;
+       if_initname(ifp, "rdp", unit);
+       ifp->if_output = ether_output;
+       ifp->if_start = rdp_start;
+       ifp->if_ioctl = rdp_ioctl;
+       ifp->if_watchdog = rdp_watchdog;
+       ifp->if_init = rdp_init;
+       ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
+       ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX;
 
-               /*
-                * Attach the interface
-                */
-               ether_ifattach(ifp, ETHER_BPF_SUPPORTED);
-       }
+       /*
+        * Attach the interface
+        */
+       ether_ifattach(ifp, ETHER_BPF_SUPPORTED);
 
        /*
         * Print additional info when attached
         */
-       printf("%s%d: RealTek RTL%s pocket ethernet, EEPROM %s, %s mode\n",
-              ifp->if_name, ifp->if_unit,
+       printf("%s: RealTek RTL%s pocket ethernet, EEPROM %s, %s mode\n",
+              ifp->if_xname,
               "8002",          /* hook for 8012 */
               sc->eeprom == EEPROM_93C46? "93C46": "74S288",
               sc->slow? "slow": "fast");
-       printf("%s%d: address %6D\n", ifp->if_name, ifp->if_unit,
+       printf("%s: address %6D\n", ifp->if_xname,
               sc->arpcom.ac_enaddr, ":");
 
        return 1;
@@ -677,7 +674,7 @@ static void
 rdp_watchdog(struct ifnet *ifp)
 {
 
-       log(LOG_ERR, "rdp%d: device timeout\n", ifp->if_unit);
+       log(LOG_ERR, "%s: device timeout\n", ifp->if_xname);
        ifp->if_oerrors++;
 
        rdp_reset(ifp);
@@ -1060,9 +1057,9 @@ rdp_rint(struct rdp_softc *sc)
                    len < (ETHER_MIN_LEN - ETHER_CRC_LEN) ||
                    len > MCLBYTES) {
 #if DEBUG
-                       printf("rdp%d: bad packet in buffer, "
+                       printf("%s: bad packet in buffer, "
                               "len %d, status %#x\n",
-                              ifp->if_unit, (int)len, (int)status);
+                              ifp->if_xname, (int)len, (int)status);
 #endif
                        ifp->if_ierrors++;
                        /* rx jump packet */
@@ -1074,9 +1071,9 @@ rdp_rint(struct rdp_softc *sc)
                                 * over and over again
                                 */
 #if DEBUG
-                               printf("rdp%d: resetting due to an "
+                               printf("%s: resetting due to an "
                                       "excessive number of bad packets\n",
-                                      ifp->if_unit);
+                                      ifp->if_xname);
 #endif
                                rdp_reset(ifp);
                                return;
index 042517f..ff011d8 100644 (file)
@@ -25,7 +25,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/sbni/if_sbni.c,v 1.1.2.4 2002/08/11 09:32:00 fjoe Exp $
- * $DragonFly: src/sys/dev/netif/sbni/if_sbni.c,v 1.9 2003/11/20 22:07:30 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/sbni/if_sbni.c,v 1.10 2004/01/06 03:17:24 dillon Exp $
  */
 
 /*
@@ -227,30 +227,28 @@ sbni_attach(struct sbni_softc *sc, int unit, struct sbni_flags flags)
        set_initial_values(sc, flags);
 
        callout_handle_init(&sc->wch);
-       if (!ifp->if_name) {
-               /* Initialize ifnet structure */
-               ifp->if_softc   = sc;
-               ifp->if_unit    = unit;
-               ifp->if_name    = "sbni";
-               ifp->if_init    = sbni_init;
-               ifp->if_start   = sbni_start;
-               ifp->if_output  = ether_output;
-               ifp->if_ioctl   = sbni_ioctl;
-               ifp->if_watchdog        = sbni_watchdog;
-               ifp->if_snd.ifq_maxlen  = IFQ_MAXLEN;
-
-               /* report real baud rate */
-               csr0 = sbni_inb(sc, CSR0);
-               ifp->if_baudrate =
-                       (csr0 & 0x01 ? 500000 : 2000000) / (1 << flags.rate);
+       /* Initialize ifnet structure */
+       ifp->if_softc   = sc;
+       if_initname(ifp, "sbni", unit);
+       ifp->if_init    = sbni_init;
+       ifp->if_start   = sbni_start;
+       ifp->if_output  = ether_output;
+       ifp->if_ioctl   = sbni_ioctl;
+       ifp->if_watchdog        = sbni_watchdog;
+       ifp->if_snd.ifq_maxlen  = IFQ_MAXLEN;
+
+       /* report real baud rate */
+       csr0 = sbni_inb(sc, CSR0);
+       ifp->if_baudrate =
+               (csr0 & 0x01 ? 500000 : 2000000) / (1 << flags.rate);
+
+       ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
+       ether_ifattach(ifp, ETHER_BPF_SUPPORTED);
 
-               ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
-               ether_ifattach(ifp, ETHER_BPF_SUPPORTED);
-       }
        /* device attach does transition from UNCONFIGURED to IDLE state */
 
-       printf("%s%d: speed %ld, address %6D, rxl ", ifp->if_name,
-              ifp->if_unit, ifp->if_baudrate, sc->arpcom.ac_enaddr, ":");
+       printf("%s: speed %ld, address %6D, rxl ", ifp->if_xname,
+              ifp->if_baudrate, sc->arpcom.ac_enaddr, ":");
        if (sc->delta_rxl)
                printf("auto\n");
        else
@@ -820,8 +818,8 @@ get_rx_buf(struct sbni_softc *sc)
 
        MGETHDR(m, M_DONTWAIT, MT_DATA);
        if (m == NULL) {
-               printf("sbni%d: cannot allocate header mbuf\n",
-                      sc->arpcom.ac_if.if_unit);
+               printf("%s: cannot allocate header mbuf\n",
+                      sc->arpcom.ac_if.if_xname);
                return (0);
        }
 
@@ -934,7 +932,7 @@ card_start(struct sbni_softc *sc)
 static void
 sbni_watchdog(struct ifnet *ifp)
 {
-       log(LOG_ERR, "sbni%d: device timeout\n", ifp->if_unit);
+       log(LOG_ERR, "%s: device timeout\n", ifp->if_xname);
        ifp->if_oerrors++;
 }
 
index 23d6bdf..3f87a16 100644 (file)
@@ -30,7 +30,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/pci/if_ti.c,v 1.25.2.14 2002/02/15 04:20:20 silby Exp $
- * $DragonFly: src/sys/dev/netif/ti/if_ti.c,v 1.6 2003/11/20 22:07:31 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/ti/if_ti.c,v 1.7 2004/01/06 03:17:24 dillon Exp $
  *
  * $FreeBSD: src/sys/pci/if_ti.c,v 1.25.2.14 2002/02/15 04:20:20 silby Exp $
  */
@@ -1712,8 +1712,7 @@ static int ti_attach(dev)
        /* Set up ifnet structure */
        ifp = &sc->arpcom.ac_if;
        ifp->if_softc = sc;
-       ifp->if_unit = sc->ti_unit;
-       ifp->if_name = "ti";
+       if_initname(ifp, "ti", sc->ti_unit);
        ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
        ifp->if_ioctl = ti_ioctl;
        ifp->if_output = ether_output;
@@ -2219,7 +2218,7 @@ static void ti_init2(sc)
        ifp = &sc->arpcom.ac_if;
 
        /* Specify MTU and interface index. */
-       CSR_WRITE_4(sc, TI_GCR_IFINDEX, ifp->if_unit);
+       CSR_WRITE_4(sc, TI_GCR_IFINDEX, ifp->if_dunit);
        CSR_WRITE_4(sc, TI_GCR_IFMTU, ifp->if_mtu +
            ETHER_HDR_LEN + ETHER_CRC_LEN);
        TI_DO_CMD(TI_CMD_UPDATE_GENCOM, 0, 0);
index 1152494..105cdf5 100644 (file)
@@ -1,5 +1,5 @@
 /* $FreeBSD: src/sys/i386/isa/if_wl.c,v 1.27.2.2 2000/07/17 21:24:32 archie Exp $ */
-/* $DragonFly: src/sys/dev/netif/wl/if_wl.c,v 1.6 2003/11/20 22:07:32 dillon Exp $ */
+/* $DragonFly: src/sys/dev/netif/wl/if_wl.c,v 1.7 2004/01/06 03:17:24 dillon Exp $ */
 /* 
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -486,7 +486,7 @@ wlattach(struct isa_device *id)
 
     bzero(ifp, sizeof(ifp));
     ifp->if_softc = sc;
-    ifp->if_unit = id->id_unit;
+    if_initname(ifp, "wl", id->id_unit);
     ifp->if_mtu = WAVELAN_MTU;
     ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX;
 #ifdef    WLDEBUG
@@ -495,8 +495,6 @@ wlattach(struct isa_device *id)
 #if    MULTICAST
     ifp->if_flags |= IFF_MULTICAST;
 #endif /* MULTICAST */
-    ifp->if_name = "wl";
-    ifp->if_unit = unit;
     ifp->if_init = wlinit;
     ifp->if_output = ether_output;
     ifp->if_start = wlstart;
@@ -510,7 +508,7 @@ wlattach(struct isa_device *id)
     ether_ifattach(ifp, ETHER_BPF_SUPPORTED);
 
     bcopy(&sc->wl_addr[0], sc->wl_ac.ac_enaddr, WAVELAN_ADDR_SIZE);
-    printf("%s%d: address %6D, NWID 0x%02x%02x", ifp->if_name, ifp->if_unit,
+    printf("%s: address %6D, NWID 0x%02x%02x", ifp->if_xname,
            sc->wl_ac.ac_enaddr, ":", sc->nwid[0], sc->nwid[1]);
     if (sc->freq24) 
        printf(", Freq %d MHz",sc->freq24);             /* 2.4 Gz       */
@@ -836,7 +834,7 @@ wlbldcu(int unit)
 static void
 wlstart(struct ifnet *ifp)
 {
-    int                                unit = ifp->if_unit;
+    int                                unit = ifp->if_dunit;
     struct mbuf                        *m;
     struct wl_softc    *sc = WLSOFTC(unit);
     short                      base = sc->base;
@@ -947,7 +945,7 @@ wlread(int unit, u_short fd_p)
        printf("wl%d: entered wlread()\n",unit);
 #endif
     if ((ifp->if_flags & (IFF_UP|IFF_RUNNING)) != (IFF_UP|IFF_RUNNING)) {
-       printf("wl%d read(): board is not running.\n", ifp->if_unit);
+       printf("%s read(): board is not running.\n", ifp->if_xname);
        sc->hacr &= ~HACR_INTRON;
        CMD(unit);              /* turn off interrupts */
     }
@@ -1135,7 +1133,7 @@ static int
 wlioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 {
     struct ifreq       *ifr = (struct ifreq *)data;
-    int                                unit = ifp->if_unit;
+    int                                unit = ifp->if_dunit;
     struct wl_softc    *sc = WLSOFTC(unit);
     short              base = sc->base;
     short              mode = 0;
index 13e2d1d..95caebe 100644 (file)
@@ -25,7 +25,7 @@
  *
  *     $Id: if_xe.c,v 1.20 1999/06/13 19:17:40 scott Exp $
  * $FreeBSD: src/sys/dev/xe/if_xe.c,v 1.13.2.6 2003/02/05 22:03:57 mbr Exp $
- * $DragonFly: src/sys/dev/netif/xe/if_xe.c,v 1.6 2003/11/20 22:07:32 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/xe/if_xe.c,v 1.7 2004/01/06 03:17:24 dillon Exp $
  */
 
 /*
@@ -520,21 +520,18 @@ xe_attach (device_t dev) {
 
   scp->dev = dev;
   /* Initialise the ifnet structure */
-  if (!scp->ifp->if_name) {
-    scp->ifp->if_softc = scp;
-    scp->ifp->if_name = "xe";
-    scp->ifp->if_unit = device_get_unit(dev);
-    scp->ifp->if_timer = 0;
-    scp->ifp->if_flags = (IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST);
-    scp->ifp->if_linkmib = &scp->mibdata;
-    scp->ifp->if_linkmiblen = sizeof scp->mibdata;
-    scp->ifp->if_output = ether_output;
-    scp->ifp->if_start = xe_start;
-    scp->ifp->if_ioctl = xe_ioctl;
-    scp->ifp->if_watchdog = xe_watchdog;
-    scp->ifp->if_init = xe_init;
-    scp->ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
-  }
+  scp->ifp->if_softc = scp;
+  if_initname(scp->ifp, "xe", device_get_unit(dev));
+  scp->ifp->if_timer = 0;
+  scp->ifp->if_flags = (IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST);
+  scp->ifp->if_linkmib = &scp->mibdata;
+  scp->ifp->if_linkmiblen = sizeof scp->mibdata;
+  scp->ifp->if_output = ether_output;
+  scp->ifp->if_start = xe_start;
+  scp->ifp->if_ioctl = xe_ioctl;
+  scp->ifp->if_watchdog = xe_watchdog;
+  scp->ifp->if_init = xe_init;
+  scp->ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
 
   /* Initialise the ifmedia structure */
   ifmedia_init(scp->ifm, 0, xe_media_change, xe_media_status);
@@ -1087,7 +1084,7 @@ xe_media_change(struct ifnet *ifp) {
   struct xe_softc *scp = ifp->if_softc;
 
 #ifdef XE_DEBUG
-  printf("xe%d: media_change\n", ifp->if_unit);
+  printf("%s: media_change\n", ifp->if_xname);
 #endif
 
   if (IFM_TYPE(scp->ifm->ifm_media) != IFM_ETHER)
@@ -1113,7 +1110,7 @@ static void
 xe_media_status(struct ifnet *ifp, struct ifmediareq *mrp) {
 
 #ifdef XE_DEBUG
-  printf("xe%d: media_status\n", ifp->if_unit);
+  printf("%s: media_status\n", ifp->if_xname);
 #endif
 
   mrp->ifm_active = ((struct xe_softc *)ifp->if_softc)->media;
index 7eaffc3..896d153 100644 (file)
@@ -26,7 +26,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/compat/linux/linux_ioctl.c,v 1.55.2.11 2003/05/01 20:16:09 anholt Exp $
- * $DragonFly: src/sys/emulation/linux/linux_ioctl.c,v 1.11 2003/11/15 21:05:42 dillon Exp $
+ * $DragonFly: src/sys/emulation/linux/linux_ioctl.c,v 1.12 2004/01/06 03:17:24 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -1385,8 +1385,7 @@ linux_ifname(struct ifnet *ifp, char *buffer, size_t buflen)
 
        /* Short-circuit non ethernet interfaces */
        if (!IFP_IS_ETH(ifp))
-               return (snprintf(buffer, buflen, "%s%d", ifp->if_name,
-                   ifp->if_unit));
+               return (strlcpy(buffer, ifp->if_xname, buflen));
 
        /* Determine the (relative) unit number for ethernet interfaces */
        ethno = 0;
@@ -1431,14 +1430,13 @@ ifname_linux_to_bsd(const char *lxname, char *bsdname)
                 * we never have an interface named "eth", so don't make
                 * the test optional based on is_eth.
                 */
-               if (ifp->if_unit == unit && ifp->if_name[len] == '\0' &&
-                   strncmp(ifp->if_name, lxname, len) == 0)
+               if (strncmp(ifp->if_xname, lxname, LINUX_IFNAMSIZ) == 0)
                        break;
                if (is_eth && IFP_IS_ETH(ifp) && unit == index++)
                        break;
        }
        if (ifp != NULL)
-               snprintf(bsdname, IFNAMSIZ, "%s%d", ifp->if_name, ifp->if_unit);
+               strlcpy(bsdname, ifp->if_xname, IFNAMSIZ);
        return (ifp);
 }
 
@@ -1486,8 +1484,7 @@ linux_ifconf(struct proc *p, struct ifconf *uifc)
                        snprintf(ifr.ifr_name, LINUX_IFNAMSIZ, "eth%d",
                            ethno++);
                else
-                       snprintf(ifr.ifr_name, LINUX_IFNAMSIZ, "%s%d",
-                           ifp->if_name, ifp->if_unit);
+                       strlcpy(ifr.ifr_name, ifp->if_xname, LINUX_IFNAMSIZ);
 
                /* Walk the address list */
                TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
index 580cda4..c90f667 100644 (file)
@@ -35,7 +35,7 @@
  *
  *     from: @(#)autoconf.c    7.1 (Berkeley) 5/9/91
  * $FreeBSD: src/sys/i386/i386/autoconf.c,v 1.146.2.2 2001/06/07 06:05:58 dd Exp $
- * $DragonFly: src/sys/i386/i386/Attic/autoconf.c,v 1.10 2003/08/26 21:42:18 rob Exp $
+ * $DragonFly: src/sys/i386/i386/Attic/autoconf.c,v 1.11 2004/01/06 03:17:24 dillon Exp $
  */
 
 /*
@@ -495,8 +495,7 @@ pxe_setup_nfsdiskless()
        printf("PXE: no interface\n");
        return; /* no matching interface */
 match_done:
-       sprintf(nd->myif.ifra_name, "%s%d", ifp->if_name, ifp->if_unit);
-
+       strlcpy(nd->myif.ifra_name, ifp->if_xname, sizeof(nd->myif.ifra_name));
        
        /* set up gateway */
        inaddr_to_sockaddr("boot.netif.gateway", &nd->mygateway);
index 9b9777c..7032f46 100644 (file)
@@ -38,7 +38,7 @@
  *      @(#)bpf.c      8.2 (Berkeley) 3/28/94
  *
  * $FreeBSD: src/sys/net/bpf.c,v 1.59.2.12 2002/04/14 21:41:48 luigi Exp $
- * $DragonFly: src/sys/net/bpf.c,v 1.8 2003/08/26 20:49:47 rob Exp $
+ * $DragonFly: src/sys/net/bpf.c,v 1.9 2004/01/06 03:17:25 dillon Exp $
  */
 
 #include "use_bpf.h"
@@ -816,8 +816,8 @@ bpfioctl(dev_t dev, u_long cmd, caddr_t addr, int flags, struct thread *td)
                        struct ifnet *const ifp = d->bd_bif->bif_ifp;
                        struct ifreq *const ifr = (struct ifreq *)addr;
 
-                       snprintf(ifr->ifr_name, sizeof(ifr->ifr_name),
-                           "%s%d", ifp->if_name, ifp->if_unit);
+                       strlcpy(ifr->ifr_name, ifp->if_xname,
+                           sizeof(ifr->ifr_name));
                }
                break;
 
@@ -1344,7 +1344,7 @@ bpfattach(ifp, dlt, hdrlen)
        bp->bif_hdrlen = BPF_WORDALIGN(hdrlen + SIZEOF_BPF_HDR) - hdrlen;
 
        if (bootverbose)
-               printf("bpf: %s%d attached\n", ifp->if_name, ifp->if_unit);
+               printf("bpf: %s attached\n", ifp->if_xname);
 }
 
 /*
@@ -1374,8 +1374,7 @@ bpfdetach(ifp)
        /* Interface wasn't attached */
        if (bp->bif_ifp == NULL) {
                splx(s);
-               printf("bpfdetach: %s%d was not attached\n", ifp->if_name,
-                   ifp->if_unit);
+               printf("bpfdetach: %s was not attached\n", ifp->if_xname);
                return;
        }
 
index 717199c..85574ff 100644 (file)
@@ -25,7 +25,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/net/bridge.c,v 1.16.2.25 2003/01/23 21:06:44 sam Exp $
- * $DragonFly: src/sys/net/bridge/Attic/bridge.c,v 1.5 2003/08/07 21:54:30 dillon Exp $
+ * $DragonFly: src/sys/net/bridge/Attic/bridge.c,v 1.6 2004/01/06 03:17:25 dillon Exp $
  */
 
 /*
@@ -318,8 +318,8 @@ bridge_off(void)
            ifpromisc(ifp, 0);
            splx(s);
            b->flags &= ~(IFF_BDG_PROMISC|IFF_MUTE) ;
-           DEB(printf(">> now %s%d promisc OFF if_flags 0x%x bdg_flags 0x%x\n",
-                   ifp->if_name, ifp->if_unit,
+           DEB(printf(">> now %s promisc OFF if_flags 0x%x bdg_flags 0x%x\n",
+                   ifp->if_xname,
                    ifp->if_flags, b->flags);)
        }
        b->flags &= ~(IFF_USED) ;
@@ -365,12 +365,12 @@ bridge_on(void)
            ret = ifpromisc(ifp, 1);
            splx(s);
            b->flags |= IFF_BDG_PROMISC ;
-           DEB(printf(">> now %s%d promisc ON if_flags 0x%x bdg_flags 0x%x\n",
-                   ifp->if_name, ifp->if_unit,
+           DEB(printf(">> now %s promisc ON if_flags 0x%x bdg_flags 0x%x\n",
+                   ifp->if_xname,
                    ifp->if_flags, b->flags);)
        }
        if (b->flags & IFF_MUTE) {
-           DEB(printf(">> unmuting %s%d\n", ifp->if_name, ifp->if_unit);)
+           DEB(printf(">> unmuting %s\n", ifp->if_xname);)
            b->flags &= ~IFF_MUTE;
        }
     }
@@ -442,7 +442,7 @@ parse_bdg_cfg()
        TAILQ_FOREACH(ifp, &ifnet, if_link) {
            char buf[IFNAMSIZ];
 
-           snprintf(buf, sizeof(buf), "%s%d", ifp->if_name, ifp->if_unit);
+           snprintf(buf, sizeof(buf), "%s", ifp->if_xname);
            if (!strncmp(beg, buf, max(l, strlen(buf)))) {
                struct bdg_softc *b = &ifp2sc[ifp->if_index];
                if (ifp->if_type != IFT_ETHER && ifp->if_type != IFT_L2VLAN) {
@@ -456,7 +456,7 @@ parse_bdg_cfg()
                b->cluster = add_cluster(htons(cluster), (struct arpcom *)ifp);
                b->flags |= IFF_USED ;
                sprintf(bdg_stats.s[ifp->if_index].name,
-                       "%s%d:%d", ifp->if_name, ifp->if_unit, cluster);
+                       "%s:%d", ifp->if_xname, cluster);
 
                DEB(printf("--++  found %s next c %d\n",
                    bdg_stats.s[ifp->if_index].name, c);)
@@ -709,10 +709,9 @@ bridge_in(struct ifnet *ifp, struct ether_header *eh)
             * from the old interface.
             */
            bt->name = ifp ; /* relocate address */
-           printf("-- loop (%d) %6D to %s%d from %s%d (%s)\n",
+           printf("-- loop (%d) %6D to %s from %s (%s)\n",
                        bdg_loops, eh->ether_shost, ".",
-                       ifp->if_name, ifp->if_unit,
-                       old->if_name, old->if_unit,
+                       ifp->if_xname, old->if_xname,
                        BDG_MUTED(old) ? "muted":"active");
            dropit = 1 ;
            if ( !BDG_MUTED(old) ) {
@@ -726,8 +725,8 @@ bridge_in(struct ifnet *ifp, struct ether_header *eh)
      * now write the source address into the table
      */
     if (bt->name == NULL) {
-       DEB(printf("new addr %6D at %d for %s%d\n",
-           eh->ether_shost, ".", index, ifp->if_name, ifp->if_unit);)
+       DEB(printf("new addr %6D at %d for %s\n",
+           eh->ether_shost, ".", index, ifp->if_xname);)
        bcopy(eh->ether_shost, bt->etheraddr, 6);
        bt->name = ifp ;
     }
@@ -767,13 +766,12 @@ bridge_in(struct ifnet *ifp, struct ether_header *eh)
        if (dst == ifp)
            dst = BDG_DROP;
     }
-    DEB(printf("bridge_in %6D ->%6D ty 0x%04x dst %s%d\n",
+    DEB(printf("bridge_in %6D ->%6D ty 0x%04x dst %s\n",
        eh->ether_shost, ".",
        eh->ether_dhost, ".",
        ntohs(eh->ether_type),
-       (dst <= BDG_FORWARD) ? bdg_dst_names[(int)dst] :
-               dst->if_name,
-       (dst <= BDG_FORWARD) ? 0 : dst->if_unit); )
+       (dst <= BDG_FORWARD) ? bdg_dst_names[(int)dst]"0" :
+               dst->if_xname); )
 
     return dst ;
 }
index dc2172d..66e9199 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     From: @(#)if_loop.c     8.1 (Berkeley) 6/10/93
  * $FreeBSD: src/sys/net/if_disc.c,v 1.26.2.2 2001/12/20 10:30:16 ru Exp $
- * $DragonFly: src/sys/net/disc/if_disc.c,v 1.4 2003/08/26 20:49:47 rob Exp $
+ * $DragonFly: src/sys/net/disc/if_disc.c,v 1.5 2004/01/06 03:17:25 dillon Exp $
  */
 
 /*
@@ -76,7 +76,7 @@ discattach()
 {
        struct ifnet *ifp = &discif;
 
-       ifp->if_name = "ds";
+       if_initname(ifp, "ds", IF_DUNIT_NONE);
        ifp->if_mtu = DSMTU;
        ifp->if_flags = IFF_LOOPBACK | IFF_MULTICAST;
        ifp->if_ioctl = discioctl;
index 8b043c1..15db410 100644 (file)
@@ -25,7 +25,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/netinet/ip_dummynet.c,v 1.24.2.22 2003/05/13 09:31:06 maxim Exp $
- * $DragonFly: src/sys/net/dummynet/ip_dummynet.c,v 1.3 2003/08/07 21:17:24 dillon Exp $
+ * $DragonFly: src/sys/net/dummynet/ip_dummynet.c,v 1.4 2004/01/06 03:17:25 dillon Exp $
  */
 
 #if !defined(KLD_MODULE)
@@ -772,18 +772,16 @@ if_tx_rdy(struct ifnet *ifp)
        if (p->ifp == ifp)
            break ;
     if (p == NULL) {
-       char buf[32];
-       sprintf(buf, "%s%d",ifp->if_name, ifp->if_unit);
        for (p = all_pipes; p ; p = p->next )
-           if (!strcmp(p->if_name, buf) ) {
+           if (!strcmp(p->if_name, ifp->if_xname) ) {
                p->ifp = ifp ;
-               DEB(printf("++ tx rdy from %s (now found)\n", buf);)
+               DEB(printf("++ tx rdy from %s (now found)\n", ifp->if_xname);)
                break ;
            }
     }
     if (p != NULL) {
-       DEB(printf("++ tx rdy from %s%d - qlen %d\n", ifp->if_name,
-               ifp->if_unit, ifp->if_snd.ifq_len);)
+       DEB(printf("++ tx rdy from %s - qlen %d\n", ifp->if_xname,
+               ifp->if_snd.ifq_len);)
        p->numbytes = 0 ; /* mark ready for I/O */
        ready_event_wfq(p);
     }
index 0dd6244..47db9b9 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/net/if_ef.c,v 1.2.2.4 2001/02/22 09:27:04 bp Exp $
- * $DragonFly: src/sys/net/ef/if_ef.c,v 1.6 2003/09/16 09:14:40 hsu Exp $
+ * $DragonFly: src/sys/net/ef/if_ef.c,v 1.7 2004/01/06 03:17:25 dillon Exp $
  */
 
 #include "opt_inet.h"
@@ -80,6 +80,7 @@
 struct efnet {
        struct arpcom   ef_ac;
        struct ifnet *  ef_ifp;
+       int             ef_frametype;
 };
 
 struct ef_link {
@@ -144,7 +145,7 @@ ef_attach(struct efnet *sc)
        bcopy(LLADDR(sdl2), LLADDR(sdl1), ETHER_ADDR_LEN);
        bcopy(LLADDR(sdl2), sc->ef_ac.ac_enaddr, ETHER_ADDR_LEN);
 
-       EFDEBUG("%s%d: attached\n", ifp->if_name, ifp->if_unit);
+       EFDEBUG("%s: attached\n", ifp->if_xname);
        return 1;
 }
 
@@ -183,16 +184,16 @@ ef_init(void *foo) {
 static int
 ef_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 {
-/*     struct ef_link *sc = (struct ef_link*)ifp->if_softc;*/
+       struct efnet *sc = ifp->if_softc;
        struct ifaddr *ifa = (struct ifaddr*)data;
        int s, error;
 
-       EFDEBUG("IOCTL %ld for %s%d\n", cmd, ifp->if_name, ifp->if_unit);
+       EFDEBUG("IOCTL %ld for %s\n", cmd, ifp->if_xname);
        error = 0;
        s = splimp();
        switch (cmd) {
            case SIOCSIFADDR:
-               if (ifp->if_unit == ETHER_FT_8023 && 
+               if (sc->ef_frametype == ETHER_FT_8023 && 
                    ifa->ifa_addr->sa_family != AF_IPX) {
                        error = EAFNOSUPPORT;
                        break;
@@ -424,13 +425,14 @@ static int
 ef_output(struct ifnet *ifp, struct mbuf **mp, struct sockaddr *dst, short *tp,
        int *hlen)
 {
+       struct efnet *sc = (struct efnet*)ifp->if_softc;
        struct mbuf *m = *mp;
        u_char *cp;
        short type;
 
        if (ifp->if_type != IFT_XETHER)
                return ENETDOWN;
-       switch (ifp->if_unit) {
+       switch (sc->ef_frametype) {
            case ETHER_FT_EII:
 #ifdef IPX
                type = htons(ETHERTYPE_IPX);
@@ -492,20 +494,18 @@ ef_clone(struct ef_link *efl, int ft)
        struct efnet *efp;
        struct ifnet *eifp;
        struct ifnet *ifp = efl->el_ifp;
-       char cbuf[IFNAMSIZ], *ifname;
-       int ifnlen;
 
        efp = (struct efnet*)malloc(sizeof(struct efnet), M_IFADDR,
            M_WAITOK | M_ZERO);
        if (efp == NULL)
                return ENOMEM;
        efp->ef_ifp = ifp;
+       efp->ef_frametype = ft;
        eifp = &efp->ef_ac.ac_if;
-       ifnlen = 1 + snprintf(cbuf, sizeof(cbuf), "%s%df", ifp->if_name,
-           ifp->if_unit);
-       ifname = (char*)malloc(ifnlen, M_IFADDR, M_WAITOK);
-       eifp->if_name = strcpy(ifname, cbuf);
-       eifp->if_unit = ft;
+       snprintf(eifp->if_xname, IFNAMSIZ,
+           "%sf%d", ifp->if_xname, efp->ef_frametype);
+       eifp->if_dname = "ef";
+       eifp->if_dunit = IF_DUNIT_NONE;
        eifp->if_softc = efp;
        if (ifp->if_ioctl)
                eifp->if_ioctl = ef_ioctl;
@@ -523,7 +523,7 @@ ef_load(void)
 
        TAILQ_FOREACH(ifp, &ifnet, if_link) {
                if (ifp->if_type != IFT_ETHER) continue;
-               EFDEBUG("Found interface %s%d\n", ifp->if_name, ifp->if_unit);
+               EFDEBUG("Found interface %s\n", ifp->if_xname);
                efl = (struct ef_link*)malloc(sizeof(struct ef_link), 
                    M_IFADDR, M_WAITOK);
                if (efl == NULL) {
index 51d6546..0a2fbb5 100644 (file)
@@ -33,7 +33,7 @@
  *     $Id: i4b_bsdi_ibc.c,v 1.3 2000/08/21 07:21:07 hm Exp $
  *
  * $FreeBSD: src/sys/i4b/driver/i4b_bsdi_ibc.c,v 1.3.2.1 2001/08/10 14:08:35 obrien Exp $
- * $DragonFly: src/sys/net/i4b/driver/Attic/i4b_bsdi_ibc.c,v 1.4 2003/08/07 21:17:25 dillon Exp $
+ * $DragonFly: src/sys/net/i4b/driver/Attic/i4b_bsdi_ibc.c,v 1.5 2004/01/06 03:17:25 dillon Exp $
  *
  *     last edit-date: [Tue Dec 14 21:55:24 1999]
  *
@@ -72,7 +72,7 @@
 #include "../../include/i4b_l3l4.h"
 #include "../../layer4/i4b_l4.h"
 
-#define IFP2UNIT(ifp)  (ifp)->if_unit
+#define IFP2UNIT(ifp)  (ifp)->if_dunit
 
 #define IOCTL_CMD_T u_long
 
@@ -148,9 +148,8 @@ ibcattach(void *dummy)
                sc->sc_p2pcom.p2p_getmdm = ibc_getmdm;
                sc->sc_state = ST_IDLE;
                ifp = &sc->sc_p2pcom.p2p_if;
-               ifp->if_name = "ibc";
+               if_initname(ifp, "ibc", i);
                ifp->if_next = NULL;
-               ifp->if_unit = i;
                ifp->if_mtu = 1500 /*XXX*/;
                ifp->if_baudrate = 64000;
                ifp->if_flags = IFF_SIMPLEX | IFF_POINTOPOINT;
@@ -530,7 +529,7 @@ ibc_mdmctl(pp, flag)
        int flag;
 {
        struct ifnet *ifp = &pp->p2p_if;
-       struct ibc_softc *sc = (struct ibc_softc *)&ibc_softc[ifp->if_unit];
+       struct ibc_softc *sc = (struct ibc_softc *)&ibc_softc[ifp->if_dunit];
 
        DBG(("ibc%d: ibc_mdmctl called flags=%d\n", IFP2UNIT(ifp), flag));
 
@@ -550,7 +549,7 @@ ibc_getmdm(pp, arg)
        caddr_t arg;
 {
        struct ifnet *ifp = &pp->p2p_if;
-       struct ibc_softc *sc = (struct ibc_softc *)&ibc_softc[ifp->if_unit];
+       struct ibc_softc *sc = (struct ibc_softc *)&ibc_softc[ifp->if_dunit];
 
        if (sc->sc_state == ST_CONNECTED)
                *(int *)arg = TIOCM_CAR;
index bccffb2..8d149b7 100644 (file)
@@ -28,7 +28,7 @@
  *     ---------------------------------------------------------
  *
  * $FreeBSD: src/sys/i4b/driver/i4b_ipr.c,v 1.8.2.3 2001/10/27 15:48:17 hm Exp $
- * $DragonFly: src/sys/net/i4b/driver/i4b_ipr.c,v 1.8 2003/09/15 23:38:13 hsu Exp $
+ * $DragonFly: src/sys/net/i4b/driver/i4b_ipr.c,v 1.9 2004/01/06 03:17:26 dillon Exp $
  *
  *     last edit-date: [Fri Oct 26 19:32:38 2001]
  *
 #include <machine/cpu.h> /* For softnet */
 #endif
 
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) && !defined(__DragonFly__)
 #define IPR_FMT        "ipr%d: "
 #define        IPR_ARG(sc)     ((sc)->sc_if.if_unit)
 #define        PDEVSTATIC      static
@@ -176,7 +176,7 @@ struct ipr_softc {
        struct ifnet    sc_if;          /* network-visible interface    */
        int             sc_state;       /* state of the interface       */
 
-#ifndef __FreeBSD__
+#if !defined(__FreeBSD__) || defined(__DragonFly__)
        int             sc_unit;        /* unit number for Net/OpenBSD  */
 #endif
 
@@ -226,7 +226,7 @@ enum ipr_states {
        ST_CONNECTED_A,                 /* connected to remote          */
 };
 
-#if defined(__FreeBSD__) || defined(__bsdi__)
+#if (defined(__FreeBSD__) && !defined(__DragonFly__)) || (defined(__bsdi__))
 #define        THE_UNIT        sc->sc_if.if_unit
 #else
 #define        THE_UNIT        sc->sc_unit
@@ -288,7 +288,9 @@ i4biprattach()
 
                sc->sc_state = ST_IDLE;
                
-#ifdef __FreeBSD__             
+#ifdef __DragonFly__
+               if_initname(&(sc->sc_if), "ipr", i);
+#elif defined(__FreeBSD__)
                sc->sc_if.if_name = "ipr";
                sc->sc_if.if_unit = i;
 #elif defined(__bsdi__)
@@ -394,7 +396,7 @@ i4biproutput(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
        
        s = SPLI4B();
 
-#if defined(__FreeBSD__) || defined(__bsdi__)
+#if (defined(__FreeBSD__) && !defined(__DragonFly__)) || (defined(__bsdi__))
        unit = ifp->if_unit;
        sc = &ipr_softc[unit];
 #else
@@ -528,7 +530,7 @@ static int
 i4biprioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 #endif
 {
-#if defined(__FreeBSD__) || defined(__bsdi__)
+#if (defined(__FreeBSD__) && !defined(__DragonFly__)) || (defined(__bsdi__))
        struct ipr_softc *sc = &ipr_softc[ifp->if_unit];
 #else
        struct ipr_softc *sc = ifp->if_softc;
@@ -559,7 +561,7 @@ i4biprioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
                                if(sc->sc_if.if_flags & IFF_RUNNING)
                                {
                                        /* disconnect ISDN line */
-#if defined(__FreeBSD__) || defined(__bsdi__)
+#if (defined(__FreeBSD__) && !defined(__DragonFly__)) || (defined(__bsdi__))
                                        i4b_l4_drvrdisc(BDRV_IPR, ifp->if_unit);
 #else
                                        i4b_l4_drvrdisc(BDRV_IPR, sc->sc_unit);
@@ -677,7 +679,7 @@ static void
 iprwatchdog(struct ifnet *ifp)
 {
 #endif
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) && !defined(__DragonFly__)
        int unit = ifp->if_unit;
        struct ipr_softc *sc = &ipr_softc[unit];
 #elif defined(__bsdi__)
index 7a399d7..f36516b 100644 (file)
@@ -37,7 +37,7 @@
  *     $Id: i4b_isppp.c,v 1.44 2000/08/31 07:07:26 hm Exp $
  *
  * $FreeBSD: src/sys/i4b/driver/i4b_isppp.c,v 1.7.2.3 2003/02/06 14:50:53 gj Exp $
- * $DragonFly: src/sys/net/i4b/driver/i4b_isppp.c,v 1.4 2003/08/07 21:54:31 dillon Exp $
+ * $DragonFly: src/sys/net/i4b/driver/i4b_isppp.c,v 1.5 2004/01/06 03:17:26 dillon Exp $
  *
  *     last edit-date: [Thu Aug 31 09:02:27 2000]
  *
 #include "../layer4/i4b_l4.h"
 
 #ifdef __FreeBSD__
+#define        PDEVSTATIC      static
+
+#ifdef __DragonFly__
+#define        ISPPP_FMT       "%s: "
+#define        ISPPP_ARG(sc)   ((sc)->sc_if.if_xname)
+#define IFP2UNIT(ifp)  ((struct i4bisppp_softc *)ifp->if_softc)->sc_unit
+#else
 #define ISPPP_FMT      "isp%d: "
 #define        ISPPP_ARG(sc)   ((sc)->sc_if.if_unit)
-#define        PDEVSTATIC      static
 #define IFP2UNIT(ifp)  (ifp)->if_unit
+#endif
                
 # if __FreeBSD_version >= 300001
 #  define CALLOUT_INIT(chan)           callout_handle_init(chan)
@@ -147,7 +154,7 @@ struct i4bisppp_softc {
 
        int     sc_state;       /* state of the interface       */
 
-#ifndef __FreeBSD__
+#if !defined(__FreeBSD__) || defined(__DragonFly__)
        int     sc_unit;        /* unit number for Net/OpenBSD  */
 #endif
 
@@ -230,7 +237,9 @@ i4bispppattach()
                
                sc->sc_if.if_softc = sc;
 
-#ifdef __FreeBSD__             
+#ifdef __DragonFly__
+               if_initname(&(sc->sc_if), "isp", i);
+#elif defined__FreeBSD__)
                sc->sc_if.if_name = "isp";
 #if defined(__FreeBSD_version) && __FreeBSD_version < 300001
                sc->sc_if.if_next = NULL;
index 4d717e3..c9037d5 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)if.c        8.3 (Berkeley) 1/4/94
  * $FreeBSD: src/sys/net/if.c,v 1.85.2.23 2003/04/15 18:11:19 fjoe Exp $
- * $DragonFly: src/sys/net/if.c,v 1.11 2003/12/30 03:56:00 dillon Exp $
+ * $DragonFly: src/sys/net/if.c,v 1.12 2004/01/06 03:17:25 dillon Exp $
  */
 
 #include "opt_compat.h"
@@ -128,8 +128,7 @@ ifinit(dummy)
        s = splimp();
        TAILQ_FOREACH(ifp, &ifnet, if_link) {
                if (ifp->if_snd.ifq_maxlen == 0) {
-                       printf("%s%d XXX: driver didn't set ifq_maxlen\n",
-                           ifp->if_name, ifp->if_unit);
+                       if_printf(ifp, "XXX: driver didn't set ifq_maxlen\n");
                        ifp->if_snd.ifq_maxlen = ifqmaxlen;
                }
        }
@@ -152,7 +151,6 @@ if_attach(ifp)
 {
        unsigned socksize, ifasize;
        int namelen, masklen;
-       char workbuf[64];
        struct sockaddr_dl *sdl;
        struct ifaddr *ifa;
        static int if_indexlim = 8;
@@ -202,8 +200,7 @@ if_attach(ifp)
        /*
         * create a Link Level name for this device
         */
-       namelen = snprintf(workbuf, sizeof(workbuf),
-           "%s%d", ifp->if_name, ifp->if_unit);
+       namelen = strlen(ifp->if_xname);
 #define _offsetof(t, m) ((int)((caddr_t)&((t *)0)->m))
        masklen = _offsetof(struct sockaddr_dl, sdl_data[0]) + namelen;
        socksize = masklen + ifp->if_addrlen;
@@ -218,7 +215,7 @@ if_attach(ifp)
                sdl = (struct sockaddr_dl *)(ifa + 1);
                sdl->sdl_len = socksize;
                sdl->sdl_family = AF_LINK;
-               bcopy(workbuf, sdl->sdl_data, namelen);
+               bcopy(ifp->if_xname, sdl->sdl_data, namelen);
                sdl->sdl_nlen = namelen;
                sdl->sdl_index = ifp->if_index;
                sdl->sdl_type = ifp->if_type;
@@ -601,8 +598,7 @@ if_clone_list(ifcr)
 
        for (ifc = LIST_FIRST(&if_cloners); ifc != NULL && count != 0;
             ifc = LIST_NEXT(ifc, ifc_list), count--, dst += IFNAMSIZ) {
-               strncpy(outbuf, ifc->ifc_name, IFNAMSIZ);
-               outbuf[IFNAMSIZ - 1] = '\0';    /* sanity */
+               strlcpy(outbuf, ifc->ifc_name, IFNAMSIZ);
                error = copyout(outbuf, dst, IFNAMSIZ);
                if (error)
                        break;
@@ -947,41 +943,14 @@ if_slowtimo(arg)
 struct ifnet *
 ifunit(const char *name)
 {
-       char namebuf[IFNAMSIZ + 1];
-       const char *cp;
        struct ifnet *ifp;
-       int unit;
-       unsigned len, m;
-       char c;
 
-       len = strlen(name);
-       if (len < 2 || len > IFNAMSIZ)
-               return NULL;
-       cp = name + len - 1;
-       c = *cp;
-       if (c < '0' || c > '9')
-               return NULL;            /* trailing garbage */
-       unit = 0;
-       m = 1;
-       do {
-               if (cp == name)
-                       return NULL;    /* no interface name */
-               unit += (c - '0') * m;
-               if (unit > 1000000)
-                       return NULL;    /* number is unreasonable */
-               m *= 10;
-               c = *--cp;
-       } while (c >= '0' && c <= '9');
-       len = cp - name + 1;
-       bcopy(name, namebuf, len);
-       namebuf[len] = '\0';
        /*
-        * Now search all the interfaces for this name/number
+        * Search all the interfaces for this name/number
         */
+
        TAILQ_FOREACH(ifp, &ifnet, if_link) {
-               if (strcmp(ifp->if_name, namebuf))
-                       continue;
-               if (unit == ifp->if_unit)
+               if (strncmp(ifp->if_xname, name, IFNAMSIZ) == 0)
                        break;
        }
        return (ifp);
@@ -1334,14 +1303,14 @@ ifpromisc(ifp, pswitch)
                if (ifp->if_pcount++ != 0)
                        return (0);
                ifp->if_flags |= IFF_PROMISC;
-               log(LOG_INFO, "%s%d: promiscuous mode enabled\n",
-                   ifp->if_name, ifp->if_unit);
+               log(LOG_INFO, "%s: promiscuous mode enabled\n",
+                   ifp->if_xname);
        } else {
                if (--ifp->if_pcount > 0)
                        return (0);
                ifp->if_flags &= ~IFF_PROMISC;
-               log(LOG_INFO, "%s%d: promiscuous mode disabled\n",
-                   ifp->if_name, ifp->if_unit);
+               log(LOG_INFO, "%s: promiscuous mode disabled\n",
+                   ifp->if_xname);
        }
        ifr.ifr_flags = ifp->if_flags;
        ifr.ifr_flagshigh = ifp->if_ipending >> 16;
@@ -1372,18 +1341,14 @@ ifconf(u_long cmd, caddr_t data)
 
        ifrp = ifc->ifc_req;
        TAILQ_FOREACH(ifp, &ifnet, if_link) {
-               char workbuf[64];
-               int ifnlen, addrs;
+               int addrs;
 
                if (space <= sizeof (ifr))
                        break;
-               ifnlen = snprintf(workbuf, sizeof(workbuf),
-                   "%s%d", ifp->if_name, ifp->if_unit);
-               if(ifnlen + 1 > sizeof ifr.ifr_name) {
+               if (strlcpy(ifr.ifr_name, ifp->if_xname, sizeof(ifr.ifr_name))
+                   >= sizeof(ifr.ifr_name)) {
                        error = ENAMETOOLONG;
                        break;
-               } else {
-                       strcpy(ifr.ifr_name, workbuf);
                }
 
                addrs = 0;
@@ -1731,8 +1696,8 @@ ifmaof_ifpforaddr(sa, ifp)
 void
 if_initname(struct ifnet *ifp, const char *name, int unit)
 {
-       ifp->if_name = name;    /* XXX change to dname */
-       ifp->if_unit = unit;    /* XXX change to dunit */
+       ifp->if_dname = name;
+       ifp->if_dunit = unit;
        if (unit != IF_DUNIT_NONE)
                snprintf(ifp->if_xname, IFNAMSIZ, "%s%d", name, unit);
        else
@@ -1745,7 +1710,7 @@ if_printf(struct ifnet *ifp, const char *fmt, ...)
        __va_list ap;
        int retval;
 
-       retval = printf("%s%d: ", ifp->if_name, ifp->if_unit);
+       retval = printf("%s: ", ifp->if_xname);
        __va_start(ap, fmt);
        retval += vprintf(fmt, ap);
        __va_end(ap);
index 34c9a06..bb0f1ab 100644 (file)
@@ -1,6 +1,6 @@
 /*     $NetBSD: if_arcsubr.c,v 1.36 2001/06/14 05:44:23 itojun Exp $   */
 /*     $FreeBSD: src/sys/net/if_arcsubr.c,v 1.1.2.5 2003/02/05 18:42:15 fjoe Exp $ */
-/*     $DragonFly: src/sys/net/Attic/if_arcsubr.c,v 1.5 2003/09/15 23:38:13 hsu Exp $ */
+/*     $DragonFly: src/sys/net/Attic/if_arcsubr.c,v 1.6 2004/01/06 03:17:25 dillon Exp $ */
 
 /*
  * Copyright (c) 1994, 1995 Ignatios Souvatzis
@@ -206,7 +206,7 @@ arc_output(ifp, m, dst, rt0)
                break;
 
        default:
-               printf("%s%d: can't handle af%d\n", ifp->if_name, ifp->if_unit,
+               printf("%s: can't handle af%d\n", ifp->if_xname,
                    dst->sa_family);
                senderr(EAFNOSUPPORT);
        }
@@ -495,8 +495,8 @@ outofseq:
        if (m)
                m_freem(m);
 
-       log(LOG_INFO,"%s%d: got out of seq. packet: %s\n",
-           ifp->if_name, ifp->if_unit, s);
+       log(LOG_INFO,"%s: got out of seq. packet: %s\n",
+           ifp->if_xname, s);
 
        return NULL;
 }
@@ -671,8 +671,8 @@ arc_ifattach(ifp, lla)
        ac->ac_seqid = (time_second) & 0xFFFF; /* try to make seqid unique */
        if (lla == 0) {
                /* XXX this message isn't entirely clear, to me -- cgd */
-               log(LOG_ERR,"%s%d: link address 0 reserved for broadcasts.  Please change it and ifconfig %s%d down up\n",
-                  ifp->if_name, ifp->if_unit, ifp->if_name, ifp->if_unit);
+               log(LOG_ERR,"%s: link address 0 reserved for broadcasts.  Please change it and ifconfig %s down up\n",
+                  ifp->if_xname, ifp->if_xname);
        }
        arc_storelladdr(ifp, lla);
 
index 0db32e1..3ab81fb 100644 (file)
@@ -32,7 +32,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/net/if_atmsubr.c,v 1.10.2.1 2001/03/06 00:29:26 obrien Exp $
- * $DragonFly: src/sys/net/if_atmsubr.c,v 1.6 2003/09/16 05:03:13 hsu Exp $
+ * $DragonFly: src/sys/net/if_atmsubr.c,v 1.7 2004/01/06 03:17:25 dillon Exp $
  */
 
 /*
@@ -170,8 +170,8 @@ atm_output(ifp, m0, dst, rt0)
                        printf("%s: can't handle af%d\n", ifp->if_xname, 
                            dst->sa_family);
 #elif defined(__FreeBSD__) || defined(__bsdi__)
-                       printf("%s%d: can't handle af%d\n", ifp->if_name, 
-                           ifp->if_unit, dst->sa_family);
+                       printf("%s: can't handle af%d\n", ifp->if_xname, 
+                           dst->sa_family);
 #endif
                        senderr(EAFNOSUPPORT);
                }
@@ -272,8 +272,8 @@ atm_input(ifp, ah, m, rxhand)
                                printf("%s: recv'd invalid LLC/SNAP frame [vp=%d,vc=%d]\n",
                                       ifp->if_xname, ATM_PH_VPI(ah), ATM_PH_VCI(ah));
 #elif defined(__FreeBSD__) || defined(__bsdi__)
-                               printf("%s%d: recv'd invalid LLC/SNAP frame [vp=%d,vc=%d]\n",
-                                      ifp->if_name, ifp->if_unit, ATM_PH_VPI(ah), ATM_PH_VCI(ah));
+                               printf("%s: recv'd invalid LLC/SNAP frame [vp=%d,vc=%d]\n",
+                                      ifp->if_xname, ATM_PH_VPI(ah), ATM_PH_VCI(ah));
 #endif
                                m_freem(m);
                                return;
index 2dfc23e..36a2f68 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)if_ethersubr.c      8.1 (Berkeley) 6/10/93
  * $FreeBSD: src/sys/net/if_ethersubr.c,v 1.70.2.33 2003/04/28 15:45:53 archie Exp $
- * $DragonFly: src/sys/net/if_ethersubr.c,v 1.7 2003/09/15 23:38:13 hsu Exp $
+ * $DragonFly: src/sys/net/if_ethersubr.c,v 1.8 2004/01/06 03:17:25 dillon Exp $
  */
 
 #include "opt_atalk.h"
@@ -295,7 +295,7 @@ ether_output(ifp, m, dst, rt0)
                break;
 
        default:
-               printf("%s%d: can't handle af%d\n", ifp->if_name, ifp->if_unit,
+               printf("%s: can't handle af%d\n", ifp->if_xname,
                        dst->sa_family);
                senderr(EAFNOSUPPORT);
        }
index 1dd32c1..dcd1eba 100644 (file)
@@ -34,7 +34,7 @@
  *
  *     from: if_ethersubr.c,v 1.5 1994/12/13 22:31:45 wollman Exp
  * $FreeBSD: src/sys/net/if_fddisubr.c,v 1.41.2.8 2002/02/20 23:34:09 fjoe Exp $
- * $DragonFly: src/sys/net/Attic/if_fddisubr.c,v 1.6 2003/09/15 23:38:13 hsu Exp $
+ * $DragonFly: src/sys/net/Attic/if_fddisubr.c,v 1.7 2004/01/06 03:17:25 dillon Exp $
  */
 
 #include "opt_atalk.h"
@@ -291,7 +291,7 @@ fddi_output(ifp, m, dst, rt0)
                goto queue_it;
        }
        default:
-               printf("%s%d: can't handle af%d\n", ifp->if_name, ifp->if_unit,
+               printf("%s: can't handle af%d\n", ifp->if_xname,
                        dst->sa_family);
                senderr(EAFNOSUPPORT);
        }
index 4ec7ff7..97ea9d5 100644 (file)
@@ -1,6 +1,6 @@
 /*     $NetBSD: if_ieee80211.h,v 1.5 2000/07/21 04:47:40 onoe Exp $    */
 /* $FreeBSD: src/sys/net/if_ieee80211.h,v 1.3.2.5 2002/08/03 07:17:09 imp Exp $ */
-/* $DragonFly: src/sys/net/Attic/if_ieee80211.h,v 1.2 2003/06/17 04:28:48 dillon Exp $ */
+/* $DragonFly: src/sys/net/Attic/if_ieee80211.h,v 1.3 2004/01/06 03:17:25 dillon Exp $ */
 
 #ifndef _NET_IF_IEEE80211_H_
 #define _NET_IF_IEEE80211_H_
@@ -221,7 +221,7 @@ struct ieee80211_nwid {
 
 /* the first member must be matched with struct ifreq */
 struct ieee80211_nwkey {
-       char            i_name[IFNAMSIZ];       /* if_name, e.g. "wi0" */
+       char            i_name[IFNAMSIZ];       /* if_xname, e.g. "wi0" */
        int             i_wepon;                /* wep enabled flag */
        int             i_defkid;               /* default encrypt key id */
        struct {
@@ -250,7 +250,7 @@ struct ieee80211_nwkey {
 
 /* the first member must be matched with struct ifreq */
 struct ieee80211req {
-       char            i_name[IFNAMSIZ];       /* if_name, e.g. "wi0" */
+       char            i_name[IFNAMSIZ];       /* if_xname, e.g. "wi0" */
        u_int16_t       i_type;                 /* req type */
        int16_t         i_val;                  /* Index or simple value */
        int16_t         i_len;                  /* Index or simple value */
index 32b5501..87036c9 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/net/if_iso88025subr.c,v 1.7.2.7 2002/06/18 00:15:31 kbyanc Exp $
- * $DragonFly: src/sys/net/Attic/if_iso88025subr.c,v 1.5 2003/09/15 23:38:13 hsu Exp $
+ * $DragonFly: src/sys/net/Attic/if_iso88025subr.c,v 1.6 2004/01/06 03:17:25 dillon Exp $
  *
  */
 
@@ -258,7 +258,7 @@ iso88025_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst, struct
                break;
 
        default:
-               printf("%s%d: can't handle af%d\n", ifp->if_name, ifp->if_unit,
+               printf("%s: can't handle af%d\n", ifp->if_xname,
                        dst->sa_family);
                senderr(EAFNOSUPPORT);
        }
index 275b7b7..3b4deb7 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)if_loop.c   8.1 (Berkeley) 6/10/93
  * $FreeBSD: src/sys/net/if_loop.c,v 1.47.2.8 2003/06/01 01:46:11 silby Exp $
- * $DragonFly: src/sys/net/if_loop.c,v 1.8 2003/11/06 05:22:17 hsu Exp $
+ * $DragonFly: src/sys/net/if_loop.c,v 1.9 2004/01/06 03:17:25 dillon Exp $
  */
 
 /*
@@ -115,8 +115,7 @@ loopattach(dummy)
        int i = 0;
 
        for (ifp = loif; i < NLOOP; ifp++) {
-           ifp->if_name = "lo";
-           ifp->if_unit = i++;
+           if_initname(ifp, "lo", i++);
            ifp->if_mtu = LOMTU;
            ifp->if_flags = IFF_LOOPBACK | IFF_MULTICAST;
            ifp->if_ioctl = loioctl;
index bd3f1db..a18bab5 100644 (file)
@@ -1,6 +1,6 @@
 /*     $NetBSD: if_media.c,v 1.1 1997/03/17 02:55:15 thorpej Exp $     */
 /* $FreeBSD: src/sys/net/if_media.c,v 1.9.2.4 2001/07/04 00:12:38 brooks Exp $ */
-/* $DragonFly: src/sys/net/if_media.c,v 1.4 2003/08/26 20:49:47 rob Exp $ */
+/* $DragonFly: src/sys/net/if_media.c,v 1.5 2004/01/06 03:17:25 dillon Exp $ */
 
 /*
  * Copyright (c) 1997
@@ -247,8 +247,8 @@ ifmedia_ioctl(ifp, ifr, ifm, cmd)
                 */
 #ifdef IFMEDIA_DEBUG
                if (ifmedia_debug) {
-                       printf("ifmedia_ioctl: switching %s%d to ",
-                           ifp->if_name, ifp->if_unit);
+                       printf("ifmedia_ioctl: switching %s to ",
+                           ifp->if_xname);
                        ifmedia_printword(match->ifm_media);
                }
 #endif
index a3b0d26..ba97f1a 100644 (file)
@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/net/if_mib.c,v 1.8.2.1 2000/08/03 00:09:34 ps Exp $
- * $DragonFly: src/sys/net/if_mib.c,v 1.2 2003/06/17 04:28:48 dillon Exp $
+ * $DragonFly: src/sys/net/if_mib.c,v 1.3 2004/01/06 03:17:25 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -72,10 +72,9 @@ static int
 sysctl_ifdata(SYSCTL_HANDLER_ARGS) /* XXX bad syntax! */
 {
        int *name = (int *)arg1;
-       int error, ifnlen;
+       int error;
        u_int namelen = arg2;
        struct ifnet *ifp;
-       char workbuf[64];
        struct ifmibdata ifmd;
 
        if (namelen != 2)
@@ -91,13 +90,7 @@ sysctl_ifdata(SYSCTL_HANDLER_ARGS) /* XXX bad syntax! */
                return ENOENT;
 
        case IFDATA_GENERAL:
-               ifnlen = snprintf(workbuf, sizeof(workbuf),
-                   "%s%d", ifp->if_name, ifp->if_unit);
-               if(ifnlen + 1 > sizeof ifmd.ifmd_name) {
-                       return ENAMETOOLONG;
-               } else {
-                       strcpy(ifmd.ifmd_name, workbuf);
-               }
+               strlcpy(ifmd.ifmd_name, ifp->if_xname, sizeof(ifmd.ifmd_name));
 
 #define COPY(fld) ifmd.ifmd_##fld = ifp->if_##fld
                COPY(pcount);
index 8f9ae91..d453c90 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     From: @(#)if.h  8.1 (Berkeley) 6/10/93
  * $FreeBSD: src/sys/net/if_var.h,v 1.18.2.16 2003/04/15 18:11:19 fjoe Exp $
- * $DragonFly: src/sys/net/if_var.h,v 1.6 2003/12/30 01:01:48 dillon Exp $
+ * $DragonFly: src/sys/net/if_var.h,v 1.7 2004/01/06 03:17:25 dillon Exp $
  */
 
 #ifndef        _NET_IF_VAR_H_
@@ -134,18 +134,16 @@ struct    ifqueue {
  */
 struct ifnet {
        void    *if_softc;              /* pointer to driver state */
-       /* XXX if_name -> if_dname */
-       const char *if_name;            /* name, e.g. ``en'' or ``lo'' */
        TAILQ_ENTRY(ifnet) if_link;     /* all struct ifnets are chained */
        char    if_xname[IFNAMSIZ];     /* external name (name + unit) */
+       const char *if_dname;           /* driver name */
+       int     if_dunit;               /* unit or IF_DUNIT_NONE */
        struct  ifaddrhead if_addrhead; /* linked list of addresses per if */
        int     if_pcount;              /* number of promiscuous listeners */
        struct  bpf_if *if_bpf;         /* packet filter structure */
        u_short if_index;               /* numeric abbreviation for this if  */
-       /* XXX if_unit -> if_dunit */
-       short   if_unit;                /* sub-unit for lower level driver */
        short   if_timer;               /* time 'til if_watchdog called */
-       short   if_flags;               /* up/down, broadcast, etc. */
+       int     if_flags;               /* up/down, broadcast, etc. */
        int     if_ipending;            /* interrupts pending */
        void    *if_linkmib;            /* link-type-specific MIB data */
        size_t  if_linkmiblen;          /* length of above data */
index 519a3e2..5fbe965 100644 (file)
@@ -1,5 +1,5 @@
 /*     $FreeBSD: src/sys/netinet6/ip6_fw.c,v 1.2.2.9 2002/04/28 05:40:27 suz Exp $     */
-/*     $DragonFly: src/sys/net/ip6fw/ip6_fw.c,v 1.5 2003/08/26 20:49:48 rob Exp $      */
+/*     $DragonFly: src/sys/net/ip6fw/ip6_fw.c,v 1.6 2004/01/06 03:17:26 dillon Exp $   */
 /*     $KAME: ip6_fw.c,v 1.21 2001/01/24 01:25:32 itojun Exp $ */
 
 /*
@@ -325,13 +325,16 @@ iface_match(struct ifnet *ifp, union ip6_fw_if *ifu, int byname)
 {
        /* Check by name or by IP address */
        if (byname) {
-               /* Check unit number (-1 is wildcard) */
-               if (ifu->fu_via_if.unit != -1
-                   && ifp->if_unit != ifu->fu_via_if.unit)
-                       return(0);
                /* Check name */
-               if (strncmp(ifp->if_name, ifu->fu_via_if.name, IP6FW_IFNLEN))
-                       return(0);
+               if (ifu->fu_via_if.glob) {
+                       if (fnmatch(ifu->fu_via_if.name, ifp->if_xname, 0)
+                           == FNM_NOMATCH)
+                               return(0);
+               } else {
+                       if (strncmp(ifp->if_xname, ifu->fu_via_if.name,
+                           IP6FW_IFNLEN) != 0)
+                               return(0);
+               }
                return(1);
        } else if (!IN6_IS_ADDR_UNSPECIFIED(&ifu->fu_via_ip6)) {        /* Zero == wildcard */
                struct ifaddr *ia;
index 7bbd166..a4f521d 100644 (file)
@@ -1,5 +1,5 @@
 /*     $FreeBSD: src/sys/netinet6/ip6_fw.h,v 1.3.2.7 2002/04/28 05:40:27 suz Exp $     */
-/*     $DragonFly: src/sys/net/ip6fw/ip6_fw.h,v 1.3 2003/08/26 20:49:48 rob Exp $      */
+/*     $DragonFly: src/sys/net/ip6fw/ip6_fw.h,v 1.4 2004/01/06 03:17:26 dillon Exp $   */
 /*     $KAME: ip6_fw.h,v 1.9 2001/08/01 04:29:57 sumikawa Exp $        */
 
 /*
@@ -69,7 +69,7 @@ union ip6_fw_if {
     struct {                   /* Specified by interface name */
 #define IP6FW_IFNLEN     IFNAMSIZ
            char  name[IP6FW_IFNLEN];
-           short unit;         /* -1 means match any unit */
+           short glob;
     } fu_via_if;
 };
 
index 178b74c..afc3261 100644 (file)
@@ -18,7 +18,7 @@
  * bandwidth metering and signaling
  *
  * $FreeBSD: src/sys/netinet/ip_mroute.c,v 1.56.2.10 2003/08/24 21:37:34 hsu Exp $
- * $DragonFly: src/sys/net/ip_mroute/ip_mroute.c,v 1.5 2003/09/15 23:38:13 hsu Exp $
+ * $DragonFly: src/sys/net/ip_mroute/ip_mroute.c,v 1.6 2004/01/06 03:17:26 dillon Exp $
  */
 
 #include "opt_mrouting.h"
@@ -773,8 +773,7 @@ add_vif(struct vifctl *vifcp)
            if (have_encap_tunnel == 0) {
                have_encap_tunnel = 1;
                for (s = 0; s < MAXVIFS; ++s) {
-                   multicast_decap_if[s].if_name = "mdecap";
-                   multicast_decap_if[s].if_unit = s;
+                   if_initname(&multicast_decap_if[s], "mdecap", s);
                }
            }
            /*
@@ -796,8 +795,7 @@ add_vif(struct vifctl *vifcp)
            log(LOG_DEBUG, "Adding a register vif, ifp: %p\n",
                    (void *)&multicast_register_if);
        if (reg_vif_num == VIFI_INVALID) {
-           multicast_register_if.if_name = "register_vif";
-           multicast_register_if.if_unit = 0;
+           if_initname(&multicast_register_if, "register_vif", 0);
            multicast_register_if.if_flags = IFF_LOOPBACK;
            bzero(&vifp->v_route, sizeof(vifp->v_route));
            reg_vif_num = vifcp->vifc_vifi;
@@ -1183,11 +1181,11 @@ X_ip_mforward(struct ip *ip, struct ifnet *ifp, struct mbuf *m,
        if (rsvpdebug && ip->ip_p == IPPROTO_RSVP) {
            struct vif *vifp = viftable + vifi;
 
-           printf("Sending IPPROTO_RSVP from %lx to %lx on vif %d (%s%s%d)\n",
+           printf("Sending IPPROTO_RSVP from %lx to %lx on vif %d (%s%s)\n",
                (long)ntohl(ip->ip_src.s_addr), (long)ntohl(ip->ip_dst.s_addr),
                vifi,
                (vifp->v_flags & VIFF_TUNNEL) ? "tunnel on " : "",
-               vifp->v_ifp->if_name, vifp->v_ifp->if_unit);
+               vifp->v_ifp->if_xname);
        }
        return ip_mdq(m, ifp, NULL, vifi);
     }
index b4a6f09..58b23dd 100644 (file)
@@ -14,7 +14,7 @@
  * This software is provided ``AS IS'' without any warranties of any kind.
  *
  * $FreeBSD: src/sys/netinet/ip_fw.c,v 1.131.2.39 2003/01/20 02:23:07 iedowse Exp $
- * $DragonFly: src/sys/net/ipfw/Attic/ip_fw.c,v 1.5 2003/08/07 21:17:29 dillon Exp $
+ * $DragonFly: src/sys/net/ipfw/Attic/ip_fw.c,v 1.6 2004/01/06 03:17:26 dillon Exp $
  */
 
 #define        DEB(x)
@@ -449,13 +449,16 @@ iface_match(struct ifnet *ifp, union ip_fw_if *ifu, int byname)
 {
        /* Check by name or by IP address */
        if (byname) {
-               /* Check unit number (-1 is wildcard) */
-               if (ifu->fu_via_if.unit != -1
-                   && ifp->if_unit != ifu->fu_via_if.unit)
-                       return(0);
                /* Check name */
-               if (strncmp(ifp->if_name, ifu->fu_via_if.name, FW_IFNLEN))
-                       return(0);
+               if (ifu->fu_via_if.glob) {
+                       if (fnmatch(ifu->fu_via_if.name, ifp->if_xname, 0)
+                           == FNM_NOMATCH)
+                               return(0);
+               } else {
+                       if (strncmp(ifp->if_xname, ifu->fu_via_if.name,
+                           FW_IFNLEN) != 0)
+                               return(0);
+               }
                return(1);
        } else if (ifu->fu_via_ip.s_addr != 0) {        /* Zero == wildcard */
                struct ifaddr *ia;
@@ -610,11 +613,11 @@ ipfw_report(struct ip_fw *f, struct ip *ip, int ip_off, int ip_len,
     else
            fragment[0] = '\0';
     if (oif)
-           log(LOG_SECURITY | LOG_INFO, "%s %s %s out via %s%d%s\n",
-               name, action, proto, oif->if_name, oif->if_unit, fragment);
+           log(LOG_SECURITY | LOG_INFO, "%s %s %s out via %s%s\n",
+               name, action, proto, oif->if_xname, fragment);
     else if (rif)
-           log(LOG_SECURITY | LOG_INFO, "%s %s %s in via %s%d%s\n", name,
-               action, proto, rif->if_name, rif->if_unit, fragment);
+           log(LOG_SECURITY | LOG_INFO, "%s %s %s in via %s%s\n", name,
+               action, proto, rif->if_xname, fragment);
     else
            log(LOG_SECURITY | LOG_INFO, "%s %s %s%s\n", name, action,
                proto, fragment);
index 353141c..34c7a3b 100644 (file)
@@ -12,7 +12,7 @@
  * This software is provided ``AS IS'' without any warranties of any kind.
  *
  * $FreeBSD: src/sys/netinet/ip_fw.h,v 1.47.2.11 2002/07/09 09:11:42 luigi Exp $
- * $DragonFly: src/sys/net/ipfw/ip_fw.h,v 1.4 2003/08/26 20:49:48 rob Exp $
+ * $DragonFly: src/sys/net/ipfw/ip_fw.h,v 1.5 2004/01/06 03:17:26 dillon Exp $
  */
 
 #ifndef _IP_FW_H
@@ -40,9 +40,9 @@
 union ip_fw_if {
        struct in_addr  fu_via_ip;      /* Specified by IP address */
        struct {                        /* Specified by interface name */
-#define FW_IFNLEN      10              /* need room ! was IFNAMSIZ */
+#define FW_IFNLEN      IFNAMSIZ
                char    name[FW_IFNLEN];
-               short   unit;           /* -1 means match any unit */
+               short   glob;
        } fu_via_if;
 };
 
index 7fec451..d544496 100644 (file)
@@ -23,7 +23,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.6.2.12 2003/04/08 10:42:32 maxim Exp $
- * $DragonFly: src/sys/net/ipfw/ip_fw2.c,v 1.4 2003/09/20 15:17:45 hmp Exp $
+ * $DragonFly: src/sys/net/ipfw/ip_fw2.c,v 1.5 2004/01/06 03:17:26 dillon Exp $
  */
 
 #define        DEB(x)
@@ -377,12 +377,14 @@ iface_match(struct ifnet *ifp, ipfw_insn_if *cmd)
                return 0;
        /* Check by name or by IP address */
        if (cmd->name[0] != '\0') { /* match by name */
-               /* Check unit number (-1 is wildcard) */
-               if (cmd->p.unit != -1 && cmd->p.unit != ifp->if_unit)
-                       return(0);
                /* Check name */
-               if (!strncmp(ifp->if_name, cmd->name, IFNAMSIZ))
-                       return(1);
+               if (cmd->p.glob) {
+                       if (fnmatch(cmd->name, ifp->if_xname, 0) == 0)
+                               return(1);
+               } else {
+                       if (strncmp(ifp->if_xname, cmd->name, IFNAMSIZ) == 0)
+                               return(1);
+               }
        } else {
                struct ifaddr *ia;
 
@@ -575,11 +577,10 @@ ipfw_log(struct ip_fw *f, u_int hlen, struct ether_header *eh,
        }
        if (oif || m->m_pkthdr.rcvif)
                log(LOG_SECURITY | LOG_INFO,
-                   "ipfw: %d %s %s %s via %s%d%s\n",
+                   "ipfw: %d %s %s %s via %s%s\n",
                    f ? f->rulenum : -1,
                    action, proto, oif ? "out" : "in",
-                   oif ? oif->if_name : m->m_pkthdr.rcvif->if_name,
-                   oif ? oif->if_unit : m->m_pkthdr.rcvif->if_unit,
+                   oif ? oif->if_xname : m->m_pkthdr.rcvif->if_xname,
                    fragment);
        else
                log(LOG_SECURITY | LOG_INFO,
index 06b85e2..1f7cab4 100644 (file)
@@ -23,7 +23,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/netinet/ip_fw2.h,v 1.1.2.2 2002/08/16 11:03:11 luigi Exp $
- * $DragonFly: src/sys/net/ipfw/ip_fw2.h,v 1.2 2003/06/17 04:28:51 dillon Exp $
+ * $DragonFly: src/sys/net/ipfw/ip_fw2.h,v 1.3 2004/01/06 03:17:26 dillon Exp $
  */
 
 #ifndef _IPFW2_H
@@ -210,7 +210,7 @@ typedef struct      _ipfw_insn_if {
        ipfw_insn o;
        union {
                struct in_addr ip;
-               int unit;
+               int glob;
        } p;
        char name[IFNAMSIZ];
 } ipfw_insn_if;
index 41f21f3..0c21fe6 100644 (file)
@@ -1,5 +1,5 @@
 /*     $FreeBSD: src/sys/net/net_osdep.c,v 1.1.2.5 2002/04/28 05:40:25 suz Exp $       */
-/*     $DragonFly: src/sys/net/net_osdep.c,v 1.2 2003/06/17 04:28:48 dillon Exp $      */
+/*     $DragonFly: src/sys/net/net_osdep.c,v 1.3 2004/01/06 03:17:25 dillon Exp $      */
 /*     $KAME: net_osdep.c,v 1.9 2001/04/06 09:22:05 itojun Exp $       */
 
 /*
@@ -54,15 +54,5 @@ const char *
 if_name(ifp)
        struct ifnet *ifp;
 {
-#define MAXNUMBUF      8
-       static char nam[MAXNUMBUF][IFNAMSIZ + 10];      /*enough?*/
-       static int ifbufround = 0;
-       char *cp;
-
-       ifbufround = (ifbufround + 1) % MAXNUMBUF;
-       cp = nam[ifbufround];
-
-       snprintf(cp, IFNAMSIZ + 10, "%s%d", ifp->if_name, ifp->if_unit);
-       return((const char *)cp);
-#undef MAXNUMBUF
+       return ifp->if_xname;
 }
index 232f3c2..ad5491e 100644 (file)
@@ -25,7 +25,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/net/bridge.c,v 1.16.2.25 2003/01/23 21:06:44 sam Exp $
- * $DragonFly: src/sys/net/oldbridge/Attic/bridge.c,v 1.5 2003/08/07 21:54:30 dillon Exp $
+ * $DragonFly: src/sys/net/oldbridge/Attic/bridge.c,v 1.6 2004/01/06 03:17:25 dillon Exp $
  */
 
 /*
@@ -318,8 +318,8 @@ bridge_off(void)
            ifpromisc(ifp, 0);
            splx(s);
            b->flags &= ~(IFF_BDG_PROMISC|IFF_MUTE) ;
-           DEB(printf(">> now %s%d promisc OFF if_flags 0x%x bdg_flags 0x%x\n",
-                   ifp->if_name, ifp->if_unit,
+           DEB(printf(">> now %s promisc OFF if_flags 0x%x bdg_flags 0x%x\n",
+                   ifp->if_xname,
                    ifp->if_flags, b->flags);)
        }
        b->flags &= ~(IFF_USED) ;
@@ -365,12 +365,12 @@ bridge_on(void)
            ret = ifpromisc(ifp, 1);
            splx(s);
            b->flags |= IFF_BDG_PROMISC ;
-           DEB(printf(">> now %s%d promisc ON if_flags 0x%x bdg_flags 0x%x\n",
-                   ifp->if_name, ifp->if_unit,
+           DEB(printf(">> now %s promisc ON if_flags 0x%x bdg_flags 0x%x\n",
+                   ifp->if_xname,
                    ifp->if_flags, b->flags);)
        }
        if (b->flags & IFF_MUTE) {
-           DEB(printf(">> unmuting %s%d\n", ifp->if_name, ifp->if_unit);)
+           DEB(printf(">> unmuting %s\n", ifp->if_xname);)
            b->flags &= ~IFF_MUTE;
        }
     }
@@ -442,7 +442,7 @@ parse_bdg_cfg()
        TAILQ_FOREACH(ifp, &ifnet, if_link) {
            char buf[IFNAMSIZ];
 
-           snprintf(buf, sizeof(buf), "%s%d", ifp->if_name, ifp->if_unit);
+           snprintf(buf, sizeof(buf), "%s", ifp->if_xname);
            if (!strncmp(beg, buf, max(l, strlen(buf)))) {
                struct bdg_softc *b = &ifp2sc[ifp->if_index];
                if (ifp->if_type != IFT_ETHER && ifp->if_type != IFT_L2VLAN) {
@@ -456,7 +456,7 @@ parse_bdg_cfg()
                b->cluster = add_cluster(htons(cluster), (struct arpcom *)ifp);
                b->flags |= IFF_USED ;
                sprintf(bdg_stats.s[ifp->if_index].name,
-                       "%s%d:%d", ifp->if_name, ifp->if_unit, cluster);
+                       "%s:%d", ifp->if_xname, cluster);
 
                DEB(printf("--++  found %s next c %d\n",
                    bdg_stats.s[ifp->if_index].name, c);)
@@ -709,10 +709,9 @@ bridge_in(struct ifnet *ifp, struct ether_header *eh)
             * from the old interface.
             */
            bt->name = ifp ; /* relocate address */
-           printf("-- loop (%d) %6D to %s%d from %s%d (%s)\n",
+           printf("-- loop (%d) %6D to %s from %s (%s)\n",
                        bdg_loops, eh->ether_shost, ".",
-                       ifp->if_name, ifp->if_unit,
-                       old->if_name, old->if_unit,
+                       ifp->if_xname, old->if_xname,
                        BDG_MUTED(old) ? "muted":"active");
            dropit = 1 ;
            if ( !BDG_MUTED(old) ) {
@@ -726,8 +725,8 @@ bridge_in(struct ifnet *ifp, struct ether_header *eh)
      * now write the source address into the table
      */
     if (bt->name == NULL) {
-       DEB(printf("new addr %6D at %d for %s%d\n",
-           eh->ether_shost, ".", index, ifp->if_name, ifp->if_unit);)
+       DEB(printf("new addr %6D at %d for %s\n",
+           eh->ether_shost, ".", index, ifp->if_xname);)
        bcopy(eh->ether_shost, bt->etheraddr, 6);
        bt->name = ifp ;
     }
@@ -767,13 +766,12 @@ bridge_in(struct ifnet *ifp, struct ether_header *eh)
        if (dst == ifp)
            dst = BDG_DROP;
     }
-    DEB(printf("bridge_in %6D ->%6D ty 0x%04x dst %s%d\n",
+    DEB(printf("bridge_in %6D ->%6D ty 0x%04x dst %s\n",
        eh->ether_shost, ".",
        eh->ether_dhost, ".",
        ntohs(eh->ether_type),
-       (dst <= BDG_FORWARD) ? bdg_dst_names[(int)dst] :
-               dst->if_name,
-       (dst <= BDG_FORWARD) ? 0 : dst->if_unit); )
+       (dst <= BDG_FORWARD) ? bdg_dst_names[(int)dst]"0" :
+               dst->if_xname); )
 
     return dst ;
 }
index 1c3b2e1..ca1d937 100644 (file)
@@ -70,7 +70,7 @@
  */
 
 /* $FreeBSD: src/sys/net/if_ppp.c,v 1.67.2.4 2002/04/14 21:41:48 luigi Exp $ */
-/* $DragonFly: src/sys/net/ppp/if_ppp.c,v 1.10 2003/11/08 07:57:46 dillon Exp $ */
+/* $DragonFly: src/sys/net/ppp/if_ppp.c,v 1.11 2004/01/06 03:17:26 dillon Exp $ */
 /* from if_sl.c,v 1.11 84/10/04 12:54:47 rick Exp */
 /* from NetBSD: if_ppp.c,v 1.15.2.2 1994/07/28 05:17:58 cgd Exp */
 
@@ -200,8 +200,7 @@ pppattach(dummy)
     int i = 0;
 
     for (sc = ppp_softc; i < NPPP; sc++) {
-       sc->sc_if.if_name = "ppp";
-       sc->sc_if.if_unit = i++;
+       if_initname(&(sc->sc_if), "ppp", i++);
        sc->sc_if.if_mtu = PPP_MTU;
        sc->sc_if.if_flags = IFF_POINTOPOINT | IFF_MULTICAST;
        sc->sc_if.if_type = IFT_PPP;
@@ -355,7 +354,7 @@ pppioctl(struct ppp_softc *sc, u_long cmd, caddr_t data,
        break;
 
     case PPPIOCGUNIT:
-       *(int *)data = sc->sc_if.if_unit;
+       *(int *)data = sc->sc_if.if_dunit;
        break;
 
     case PPPIOCGFLAGS:
@@ -433,8 +432,8 @@ pppioctl(struct ppp_softc *sc, u_long cmd, caddr_t data,
                    sc->sc_xc_state = (*cp)->comp_alloc(ccp_option, nb);
                    if (sc->sc_xc_state == NULL) {
                        if (sc->sc_flags & SC_DEBUG)
-                           printf("ppp%d: comp_alloc failed\n",
-                              sc->sc_if.if_unit);
+                           printf("%s: comp_alloc failed\n",
+                              sc->sc_if.if_xname);
                        error = ENOBUFS;
                    }
                    splimp();
@@ -448,8 +447,8 @@ pppioctl(struct ppp_softc *sc, u_long cmd, caddr_t data,
                    sc->sc_rc_state = (*cp)->decomp_alloc(ccp_option, nb);
                    if (sc->sc_rc_state == NULL) {
                        if (sc->sc_flags & SC_DEBUG)
-                           printf("ppp%d: decomp_alloc failed\n",
-                              sc->sc_if.if_unit);
+                           printf("%s: decomp_alloc failed\n",
+                              sc->sc_if.if_xname);
                        error = ENOBUFS;
                    }
                    splimp();
@@ -459,8 +458,8 @@ pppioctl(struct ppp_softc *sc, u_long cmd, caddr_t data,
                return (error);
            }
        if (sc->sc_flags & SC_DEBUG)
-           printf("ppp%d: no compressor for [%x %x %x], %x\n",
-                  sc->sc_if.if_unit, ccp_option[0], ccp_option[1],
+           printf("%s: no compressor for [%x %x %x], %x\n",
+                  sc->sc_if.if_xname, ccp_option[0], ccp_option[1],
                   ccp_option[2], nb);
        return (EINVAL);        /* no handler found */
 #endif /* PPP_COMPRESS */
@@ -550,7 +549,7 @@ pppsioctl(ifp, cmd, data)
     caddr_t data;
 {
     struct thread *td = curthread;     /* XXX */
-    struct ppp_softc *sc = &ppp_softc[ifp->if_unit];
+    struct ppp_softc *sc = &ppp_softc[ifp->if_dunit];
     struct ifaddr *ifa = (struct ifaddr *)data;
     struct ifreq *ifr = (struct ifreq *)data;
     struct ppp_stats *psp;
@@ -680,7 +679,7 @@ pppoutput(ifp, m0, dst, rtp)
     struct sockaddr *dst;
     struct rtentry *rtp;
 {
-    struct ppp_softc *sc = &ppp_softc[ifp->if_unit];
+    struct ppp_softc *sc = &ppp_softc[ifp->if_dunit];
     int protocol, address, control;
     u_char *cp;
     int s, error;
@@ -737,7 +736,7 @@ pppoutput(ifp, m0, dst, rtp)
        mode = NPMODE_PASS;
        break;
     default:
-       printf("ppp%d: af%d not supported\n", ifp->if_unit, dst->sa_family);
+       printf("%s: af%d not supported\n", ifp->if_xname, dst->sa_family);
        error = EAFNOSUPPORT;
        goto bad;
     }
@@ -780,7 +779,7 @@ pppoutput(ifp, m0, dst, rtp)
        len += m->m_len;
 
     if (sc->sc_flags & SC_LOG_OUTPKT) {
-       printf("ppp%d output: ", ifp->if_unit);
+       printf("%s output: ", ifp->if_xname);
        pppdumpm(m0);
     }
 
@@ -1144,7 +1143,7 @@ ppp_ccp(sc, m, rcvd)
                if (sc->sc_xc_state != NULL
                    && (*sc->sc_xcomp->comp_init)
                        (sc->sc_xc_state, dp + CCP_HDRLEN, slen - CCP_HDRLEN,
-                        sc->sc_if.if_unit, 0, sc->sc_flags & SC_DEBUG)) {
+                        sc->sc_if.if_dunit, 0, sc->sc_flags & SC_DEBUG)) {
                    s = splimp();
                    sc->sc_flags |= SC_COMP_RUN;
                    splx(s);
@@ -1154,7 +1153,7 @@ ppp_ccp(sc, m, rcvd)
                if (sc->sc_rc_state != NULL
                    && (*sc->sc_rcomp->decomp_init)
                        (sc->sc_rc_state, dp + CCP_HDRLEN, slen - CCP_HDRLEN,
-                        sc->sc_if.if_unit, 0, sc->sc_mru,
+                        sc->sc_if.if_dunit, 0, sc->sc_mru,
                         sc->sc_flags & SC_DEBUG)) {
                    s = splimp();
                    sc->sc_flags |= SC_DECOMP_RUN;
@@ -1248,7 +1247,7 @@ ppp_inproc(sc, m)
        ilen = 0;
        for (mp = m; mp != NULL; mp = mp->m_next)
            ilen += mp->m_len;
-       printf("ppp%d: got %d bytes\n", ifp->if_unit, ilen);
+       printf("%s: got %d bytes\n", ifp->if_xname, ilen);
        pppdumpm(m);
     }
 
@@ -1290,7 +1289,7 @@ ppp_inproc(sc, m)
             * CCP down or issue a Reset-Req.
             */
            if (sc->sc_flags & SC_DEBUG)
-               printf("ppp%d: decompress failed %d\n", ifp->if_unit, rv);
+               printf("%s: decompress failed %d\n", ifp->if_xname, rv);
            s = splimp();
            sc->sc_flags |= SC_VJ_RESET;
            if (rv == DECOMP_ERROR)
@@ -1340,8 +1339,8 @@ ppp_inproc(sc, m)
 
        if (xlen <= 0) {
            if (sc->sc_flags & SC_DEBUG)
-               printf("ppp%d: VJ uncompress failed on type comp\n",
-                       ifp->if_unit);
+               printf("%s: VJ uncompress failed on type comp\n",
+                       ifp->if_xname);
            goto bad;
        }
 
@@ -1393,8 +1392,8 @@ ppp_inproc(sc, m)
 
        if (xlen < 0) {
            if (sc->sc_flags & SC_DEBUG)
-               printf("ppp%d: VJ uncompress failed on type uncomp\n",
-                       ifp->if_unit);
+               printf("%s: VJ uncompress failed on type uncomp\n",
+                       ifp->if_xname);
            goto bad;
        }
 
@@ -1504,7 +1503,7 @@ ppp_inproc(sc, m)
        rv = (netisr_queue(isr, m) == 0);
     if (!rv) {
        if (sc->sc_flags & SC_DEBUG)
-           printf("ppp%d: input queue full\n", ifp->if_unit);
+           printf("%s: input queue full\n", ifp->if_xname);
        ifp->if_iqdrops++;
        goto bad;
     }
index 03ed981..8dd179c 100644 (file)
@@ -71,7 +71,7 @@
  */
 
 /* $FreeBSD: src/sys/net/ppp_tty.c,v 1.43.2.1 2002/02/13 00:43:11 dillon Exp $ */
-/* $DragonFly: src/sys/net/ppp_layer/ppp_tty.c,v 1.8 2003/08/26 20:49:48 rob Exp $ */
+/* $DragonFly: src/sys/net/ppp_layer/ppp_tty.c,v 1.9 2004/01/06 03:17:26 dillon Exp $ */
 
 #include "opt_ppp.h"           /* XXX for ppp_defs.h */
 
@@ -864,14 +864,14 @@ pppinput(c, tp)
 
     if ((tp->t_state & TS_CONNECTED) == 0) {
        if (sc->sc_flags & SC_DEBUG)
-           printf("ppp%d: no carrier\n", sc->sc_if.if_unit);
+           printf("%s: no carrier\n", sc->sc_if.if_xname);
        goto flush;
     }
 
     if (c & TTY_ERRORMASK) {
        /* framing error or overrun on this char - abort packet */
        if (sc->sc_flags & SC_DEBUG)
-           printf("ppp%d: line error %x\n", sc->sc_if.if_unit,
+           printf("%s: line error %x\n", sc->sc_if.if_xname,
                                                c & TTY_ERRORMASK);
        goto flush;
     }
@@ -928,8 +928,8 @@ pppinput(c, tp)
            sc->sc_flags |= SC_PKTLOST; /* note the dropped packet */
            if ((sc->sc_flags & (SC_FLUSH | SC_ESCAPED)) == 0){
                if (sc->sc_flags & SC_DEBUG)
-                   printf("ppp%d: bad fcs %x, pkt len %d\n",
-                          sc->sc_if.if_unit, sc->sc_fcs, ilen);
+                   printf("%s: bad fcs %x, pkt len %d\n",
+                          sc->sc_if.if_xname, sc->sc_fcs, ilen);
                sc->sc_if.if_ierrors++;
                sc->sc_stats.ppp_ierrors++;
            } else
@@ -941,7 +941,7 @@ pppinput(c, tp)
        if (ilen < PPP_HDRLEN + PPP_FCSLEN) {
            if (ilen) {
                if (sc->sc_flags & SC_DEBUG)
-                   printf("ppp%d: too short (%d)\n", sc->sc_if.if_unit, ilen);
+                   printf("%s: too short (%d)\n", sc->sc_if.if_xname, ilen);
                s = spltty();
                sc->sc_if.if_ierrors++;
                sc->sc_stats.ppp_ierrors++;
@@ -1013,7 +1013,7 @@ pppinput(c, tp)
            pppgetm(sc);
            if (sc->sc_m == NULL) {
                if (sc->sc_flags & SC_DEBUG)
-                   printf("ppp%d: no input mbufs!\n", sc->sc_if.if_unit);
+                   printf("%s: no input mbufs!\n", sc->sc_if.if_xname);
                goto flush;
            }
        }
@@ -1026,8 +1026,8 @@ pppinput(c, tp)
        if (c != PPP_ALLSTATIONS) {
            if (sc->sc_flags & SC_REJ_COMP_AC) {
                if (sc->sc_flags & SC_DEBUG)
-                   printf("ppp%d: garbage received: 0x%x (need 0xFF)\n",
-                          sc->sc_if.if_unit, c);
+                   printf("%s: garbage received: 0x%x (need 0xFF)\n",
+                          sc->sc_if.if_xname, c);
                goto flush;
            }
            *sc->sc_mp++ = PPP_ALLSTATIONS;
@@ -1038,8 +1038,8 @@ pppinput(c, tp)
     }
     if (sc->sc_ilen == 1 && c != PPP_UI) {
        if (sc->sc_flags & SC_DEBUG)
-           printf("ppp%d: missing UI (0x3), got 0x%x\n",
-                  sc->sc_if.if_unit, c);
+           printf("%s: missing UI (0x3), got 0x%x\n",
+                  sc->sc_if.if_xname, c);
        goto flush;
     }
     if (sc->sc_ilen == 2 && (c & 1) == 1) {
@@ -1050,7 +1050,7 @@ pppinput(c, tp)
     }
     if (sc->sc_ilen == 3 && (c & 1) == 0) {
        if (sc->sc_flags & SC_DEBUG)
-           printf("ppp%d: bad protocol %x\n", sc->sc_if.if_unit,
+           printf("%s: bad protocol %x\n", sc->sc_if.if_xname,
                   (sc->sc_mp[-1] << 8) + c);
        goto flush;
     }
@@ -1058,7 +1058,7 @@ pppinput(c, tp)
     /* packet beyond configured mru? */
     if (++sc->sc_ilen > sc->sc_mru + PPP_HDRLEN + PPP_FCSLEN) {
        if (sc->sc_flags & SC_DEBUG)
-           printf("ppp%d: packet too big\n", sc->sc_if.if_unit);
+           printf("%s: packet too big\n", sc->sc_if.if_xname);
        goto flush;
     }
 
@@ -1069,7 +1069,7 @@ pppinput(c, tp)
            pppgetm(sc);
            if (m->m_next == NULL) {
                if (sc->sc_flags & SC_DEBUG)
-                   printf("ppp%d: too few input mbufs!\n", sc->sc_if.if_unit);
+                   printf("%s: too few input mbufs!\n", sc->sc_if.if_xname);
                goto flush;
            }
        }
@@ -1108,7 +1108,7 @@ ppplogchar(sc, c)
        sc->sc_rawin[sc->sc_rawin_count++] = c;
     if (sc->sc_rawin_count >= sizeof(sc->sc_rawin)
        || (c < 0 && sc->sc_rawin_count > 0)) {
-       printf("ppp%d input: %*D", sc->sc_if.if_unit,
+       printf("%s input: %*D", sc->sc_if.if_xname,
                sc->sc_rawin_count, sc->sc_rawin, " ");
        sc->sc_rawin_count = 0;
     }
index b444e83..8930322 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)rtsock.c    8.7 (Berkeley) 10/12/95
  * $FreeBSD: src/sys/net/rtsock.c,v 1.44.2.11 2002/12/04 14:05:41 ru Exp $
- * $DragonFly: src/sys/net/rtsock.c,v 1.7 2003/10/06 06:08:23 hsu Exp $
+ * $DragonFly: src/sys/net/rtsock.c,v 1.8 2004/01/06 03:17:25 dillon Exp $
  */
 
 
@@ -901,8 +901,7 @@ rt_ifannouncemsg(ifp, what)
                return;
        ifan = mtod(m, struct if_announcemsghdr *);
        ifan->ifan_index = ifp->if_index;
-       snprintf(ifan->ifan_name, sizeof(ifan->ifan_name),
-           "%s%d", ifp->if_name, ifp->if_unit);
+       strlcpy(ifan->ifan_name, ifp->if_xname, sizeof(ifan->ifan_name));
        ifan->ifan_what = what;
        route_proto.sp_protocol = 0;
        raw_input(m, &route_proto, &route_src, &route_dst);
index 310c59b..2dd81cf 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)if_sl.c     8.6 (Berkeley) 2/1/94
  * $FreeBSD: src/sys/net/if_sl.c,v 1.84.2.2 2002/02/13 00:43:10 dillon Exp $
- * $DragonFly: src/sys/net/sl/if_sl.c,v 1.9 2003/09/15 23:38:14 hsu Exp $
+ * $DragonFly: src/sys/net/sl/if_sl.c,v 1.10 2004/01/06 03:17:26 dillon Exp $
  */
 
 /*
@@ -212,8 +212,7 @@ slattach(dummy)
        linesw[SLIPDISC] = slipdisc;
 
        for (sc = sl_softc; i < NSL; sc++) {
-               sc->sc_if.if_name = "sl";
-               sc->sc_if.if_unit = i++;
+               if_initname(&(sc->sc_if), "sl", i++);
                sc->sc_if.if_mtu = SLMTU;
                sc->sc_if.if_flags =
 #ifdef SLIP_IFF_OPTS
@@ -379,13 +378,13 @@ sltioctl(struct tty *tp, u_long cmd, caddr_t data, int flag, struct thread *p)
        s = splimp();
        switch (cmd) {
        case SLIOCGUNIT:
-               *(int *)data = sc->sc_if.if_unit;
+               *(int *)data = sc->sc_if.if_dunit;
                break;
 
        case SLIOCSUNIT:
-               if (sc->sc_if.if_unit != *(u_int *)data) {
+               if (sc->sc_if.if_dunit != *(u_int *)data) {
                        for (nsl = NSL, nc = sl_softc; --nsl >= 0; nc++) {
-                               if (   nc->sc_if.if_unit == *(u_int *)data
+                               if (   nc->sc_if.if_dunit == *(u_int *)data
                                    && nc->sc_ttyp == NULL
                                   ) {
                                        tmpnc = malloc(sizeof *tmpnc, M_TEMP,
@@ -480,7 +479,7 @@ sloutput(ifp, m, dst, rtp)
        struct sockaddr *dst;
        struct rtentry *rtp;
 {
-       struct sl_softc *sc = &sl_softc[ifp->if_unit];
+       struct sl_softc *sc = &sl_softc[ifp->if_dunit];
        struct ip *ip;
        struct ifqueue *ifq;
        int s;
@@ -490,7 +489,7 @@ sloutput(ifp, m, dst, rtp)
         * the line protocol to support other address families.
         */
        if (dst->sa_family != AF_INET) {
-               printf("sl%d: af%d not supported\n", sc->sc_if.if_unit,
+               printf("%s: af%d not supported\n", sc->sc_if.if_xname,
                        dst->sa_family);
                m_freem(m);
                sc->sc_if.if_noproto++;
@@ -947,7 +946,7 @@ slioctl(ifp, cmd, data)
                 * if.c will set the interface up even if we
                 * don't want it to.
                 */
-               if (sl_softc[ifp->if_unit].sc_ttyp == NULL) {
+               if (sl_softc[ifp->if_dunit].sc_ttyp == NULL) {
                        ifp->if_flags &= ~IFF_UP;
                }
                break;
@@ -957,7 +956,7 @@ slioctl(ifp, cmd, data)
                 * setting the address.
                 */
                if (ifa->ifa_addr->sa_family == AF_INET) {
-                       if (sl_softc[ifp->if_unit].sc_ttyp != NULL)
+                       if (sl_softc[ifp->if_dunit].sc_ttyp != NULL)
                                ifp->if_flags |= IFF_UP;
                } else {
                        error = EAFNOSUPPORT;
@@ -983,7 +982,7 @@ slioctl(ifp, cmd, data)
                        struct tty *tp;
 
                        ifp->if_mtu = ifr->ifr_mtu;
-                       tp = sl_softc[ifp->if_unit].sc_ttyp;
+                       tp = sl_softc[ifp->if_dunit].sc_ttyp;
                        if (tp != NULL)
                                clist_alloc_cblocks(&tp->t_outq,
                                    SLIP_HIWAT + 2 * ifp->if_mtu + 1,
index 34cad55..babea2e 100644 (file)
@@ -18,7 +18,7 @@
  * From: Version 2.4, Thu Apr 30 17:17:21 MSD 1997
  *
  * $FreeBSD: src/sys/net/if_spppsubr.c,v 1.59.2.13 2002/07/03 15:44:41 joerg Exp $
- * $DragonFly: src/sys/net/sppp/if_spppsubr.c,v 1.7 2003/11/12 22:08:08 dillon Exp $
+ * $DragonFly: src/sys/net/sppp/if_spppsubr.c,v 1.8 2004/01/06 03:17:27 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -270,7 +270,7 @@ static struct sppp *spppq;
 static struct callout_handle keepalive_ch;
 #endif
 
-#if defined(__FreeBSD__) && __FreeBSD__ >= 3
+#if defined(__FreeBSD__) && __FreeBSD__ >= 3 && !defined(__DragonFly__)
 #define        SPP_FMT         "%s%d: "
 #define        SPP_ARGS(ifp)   (ifp)->if_name, (ifp)->if_unit
 #else
index 2149bbe..9b13b09 100644 (file)
@@ -32,7 +32,7 @@
 
 /*
  * $FreeBSD: src/sys/net/if_tap.c,v 1.3.2.3 2002/04/14 21:41:48 luigi Exp $
- * $DragonFly: src/sys/net/tap/if_tap.c,v 1.8 2003/08/26 20:49:49 rob Exp $
+ * $DragonFly: src/sys/net/tap/if_tap.c,v 1.9 2004/01/06 03:17:27 dillon Exp $
  * $Id: if_tap.c,v 0.21 2000/07/23 21:46:02 max Exp $
  */
 
@@ -153,22 +153,23 @@ tapmodevent(mod, type, data)
 
                cdevsw_remove(&tap_cdevsw);
 
+               /* XXX: maintain tap ifs in a local list */
                unit = 0;
                while (unit <= taplastunit) {
                        s = splimp();
                        TAILQ_FOREACH(ifp, &ifnet, if_link)
-                               if ((strcmp(ifp->if_name, TAP) == 0) ||
-                                   (strcmp(ifp->if_name, VMNET) == 0))
-                                       if (ifp->if_unit == unit)
+                               if ((strcmp(ifp->if_dname, TAP) == 0) ||
+                                   (strcmp(ifp->if_dname, VMNET) == 0))
+                                       if (ifp->if_dunit == unit)
                                                break;
                        splx(s);
 
                        if (ifp != NULL) {
                                struct tap_softc        *tp = ifp->if_softc;
 
-                               TAPDEBUG("detaching %s%d. minor = %#x, " \
+                               TAPDEBUG("detaching %s. minor = %#x, " \
                                        "taplastunit = %d\n",
-                                       ifp->if_name, unit, minor(tp->tap_dev),
+                                       ifp->if_xname, minor(tp->tap_dev),
                                        taplastunit);
 
                                s = splimp();
@@ -236,11 +237,10 @@ tapcreate(dev)
        ifp = &tp->tap_if;
        ifp->if_softc = tp;
 
-       ifp->if_unit = unit;
+       if_initname(ifp, name, unit);
        if (unit > taplastunit)
                taplastunit = unit;
 
-       ifp->if_name = name;
        ifp->if_init = tapifinit;
        ifp->if_output = ether_output;
        ifp->if_start = tapifstart;
@@ -255,8 +255,8 @@ tapcreate(dev)
 
        tp->tap_flags |= TAP_INITED;
 
-       TAPDEBUG("interface %s%d created. minor = %#x\n",
-                       ifp->if_name, ifp->if_unit, minor(tp->tap_dev));
+       TAPDEBUG("interface %s created. minor = %#x\n",
+                       ifp->if_xname, minor(tp->tap_dev));
 } /* tapcreate */
 
 
@@ -291,8 +291,8 @@ tapopen(dev_t dev, int flag, int mode, d_thread_t *td)
        tp->tap_flags |= TAP_OPEN;
        taprefcnt ++;
 
-       TAPDEBUG("%s%d is open. minor = %#x, refcnt = %d, taplastunit = %d\n",
-               tp->tap_if.if_name, tp->tap_if.if_unit,
+       TAPDEBUG("%s is open. minor = %#x, refcnt = %d, taplastunit = %d\n",
+               tp->tap_if.if_xname,
                minor(tp->tap_dev), taprefcnt, taplastunit);
 
        return (0);
@@ -362,13 +362,13 @@ tapclose(dev_t dev, int foo, int bar, d_thread_t *td)
        taprefcnt --;
        if (taprefcnt < 0) {
                taprefcnt = 0;
-               printf("%s%d minor = %#x, refcnt = %d is out of sync. " \
-                       "set refcnt to 0\n", ifp->if_name, ifp->if_unit, 
+               printf("%s minor = %#x, refcnt = %d is out of sync. " \
+                       "set refcnt to 0\n", ifp->if_xname,
                        minor(tp->tap_dev), taprefcnt);
        }
 
-       TAPDEBUG("%s%d is closed. minor = %#x, refcnt = %d, taplastunit = %d\n",
-                       ifp->if_name, ifp->if_unit, minor(tp->tap_dev),
+       TAPDEBUG("%s is closed. minor = %#x, refcnt = %d, taplastunit = %d\n",
+                       ifp->if_xname, minor(tp->tap_dev),
                        taprefcnt, taplastunit);
 
        return (0);
@@ -387,8 +387,8 @@ tapifinit(xtp)
        struct tap_softc        *tp = (struct tap_softc *)xtp;
        struct ifnet            *ifp = &tp->tap_if;
 
-       TAPDEBUG("initializing %s%d, minor = %#x\n",
-                       ifp->if_name, ifp->if_unit, minor(tp->tap_dev));
+       TAPDEBUG("initializing %s, minor = %#x\n",
+                       ifp->if_xname, minor(tp->tap_dev));
 
        ifp->if_flags |= IFF_RUNNING;
        ifp->if_flags &= ~IFF_OACTIVE;
@@ -466,8 +466,8 @@ tapifstart(ifp)
        struct tap_softc        *tp = ifp->if_softc;
        int                      s;
 
-       TAPDEBUG("%s%d starting, minor = %#x\n", 
-                       ifp->if_name, ifp->if_unit, minor(tp->tap_dev));
+       TAPDEBUG("%s starting, minor = %#x\n", 
+                       ifp->if_xname, minor(tp->tap_dev));
 
        /*
         * do not junk pending output if we are in VMnet mode.
@@ -478,8 +478,8 @@ tapifstart(ifp)
            ((tp->tap_flags & TAP_READY) != TAP_READY)) {
                struct mbuf     *m = NULL;
 
-               TAPDEBUG("%s%d not ready. minor = %#x, tap_flags = 0x%x\n",
-                       ifp->if_name, ifp->if_unit,
+               TAPDEBUG("%s not ready. minor = %#x, tap_flags = 0x%x\n",
+                       ifp->if_xname,
                        minor(tp->tap_dev), tp->tap_flags);
 
                s = splimp();
@@ -645,12 +645,12 @@ tapread(dev, uio, flag)
        struct mbuf             *m0 = NULL;
        int                      error = 0, len, s;
 
-       TAPDEBUG("%s%d reading, minor = %#x\n",
-                       ifp->if_name, ifp->if_unit, minor(tp->tap_dev));
+       TAPDEBUG("%s reading, minor = %#x\n",
+                       ifp->if_xname, minor(tp->tap_dev));
 
        if ((tp->tap_flags & TAP_READY) != TAP_READY) {
-               TAPDEBUG("%s%d not ready. minor = %#x, tap_flags = 0x%x\n",
-                               ifp->if_name, ifp->if_unit, 
+               TAPDEBUG("%s not ready. minor = %#x, tap_flags = 0x%x\n",
+                               ifp->if_xname,
                                minor(tp->tap_dev), tp->tap_flags);
 
                return (EHOSTDOWN);
@@ -690,8 +690,8 @@ tapread(dev, uio, flag)
        }
 
        if (m0 != NULL) {
-               TAPDEBUG("%s%d dropping mbuf, minor = %#x\n",
-                               ifp->if_name, ifp->if_unit, minor(tp->tap_dev));
+               TAPDEBUG("%s dropping mbuf, minor = %#x\n",
+                               ifp->if_xname, minor(tp->tap_dev));
                m_freem(m0);
        }
 
@@ -716,15 +716,15 @@ tapwrite(dev, uio, flag)
        struct ether_header     *eh = NULL;
        int                      error = 0, tlen, mlen;
 
-       TAPDEBUG("%s%d writting, minor = %#x\n",
-                               ifp->if_name, ifp->if_unit, minor(tp->tap_dev));
+       TAPDEBUG("%s writting, minor = %#x\n",
+                               ifp->if_xname, minor(tp->tap_dev));
 
        if (uio->uio_resid == 0)
                return (0);
 
        if ((uio->uio_resid < 0) || (uio->uio_resid > TAPMRU)) {
-               TAPDEBUG("%s%d invalid packet len = %d, minor = %#x\n",
-                               ifp->if_name, ifp->if_unit, 
+               TAPDEBUG("%s invalid packet len = %d, minor = %#x\n",
+                               ifp->if_xname,
                                uio->uio_resid, minor(tp->tap_dev));
 
                return (EIO);
@@ -792,21 +792,21 @@ tappoll(dev_t dev, int events, d_thread_t *td)
        struct ifnet            *ifp = &tp->tap_if;
        int                      s, revents = 0;
 
-       TAPDEBUG("%s%d polling, minor = %#x\n",
-                               ifp->if_name, ifp->if_unit, minor(tp->tap_dev));
+       TAPDEBUG("%s polling, minor = %#x\n",
+                               ifp->if_xname, minor(tp->tap_dev));
 
        s = splimp();
        if (events & (POLLIN | POLLRDNORM)) {
                if (ifp->if_snd.ifq_len > 0) {
-                       TAPDEBUG("%s%d have data in queue. len = %d, " \
-                               "minor = %#x\n", ifp->if_name, ifp->if_unit,
+                       TAPDEBUG("%s have data in queue. len = %d, " \
+                               "minor = %#x\n", ifp->if_xname,
                                ifp->if_snd.ifq_len, minor(tp->tap_dev));
 
                        revents |= (events & (POLLIN | POLLRDNORM));
                } 
                else {
-                       TAPDEBUG("%s%d waiting for data, minor = %#x\n",
-                               ifp->if_name, ifp->if_unit, minor(tp->tap_dev));
+                       TAPDEBUG("%s waiting for data, minor = %#x\n",
+                               ifp->if_xname, minor(tp->tap_dev));
 
                        selrecord(td, &tp->tap_rsel);
                }
index 4d60265..43ba3a7 100644 (file)
@@ -37,7 +37,7 @@
  * Author: Archie Cobbs <archie@freebsd.org>
  *
  * $FreeBSD: src/sys/netgraph/ng_bridge.c,v 1.1.2.5 2002/07/02 23:44:02 archie Exp $
- * $DragonFly: src/sys/netgraph/bridge/ng_bridge.c,v 1.5 2003/08/14 23:26:38 dillon Exp $
+ * $DragonFly: src/sys/netgraph/bridge/ng_bridge.c,v 1.6 2004/01/06 03:17:27 dillon Exp $
  */
 
 /*
@@ -591,8 +591,7 @@ ng_bridge_rcvdata(hook_p hook, struct mbuf *m, meta_p meta)
 
                                        if (ifp != NULL)
                                                snprintf(suffix, sizeof(suffix),
-                                                   " (%s%d)", ifp->if_name,
-                                                   ifp->if_unit);
+                                                   " (%s)", ifp->if_xname);
                                        else
                                                *suffix = '\0';
                                        log(LOG_WARNING, "ng_bridge: %s:"
index 03d05b1..9bbb627 100644 (file)
@@ -28,7 +28,7 @@
  *
  *     $Id: ng_eiface.c,v 1.14 2000/03/15 12:28:44 vitaly Exp $
  * $FreeBSD: src/sys/netgraph/ng_eiface.c,v 1.4.2.5 2002/12/17 21:47:48 julian Exp $
- * $DragonFly: src/sys/netgraph/eiface/ng_eiface.c,v 1.3 2003/08/07 21:17:31 dillon Exp $
+ * $DragonFly: src/sys/netgraph/eiface/ng_eiface.c,v 1.4 2004/01/06 03:17:27 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -294,8 +294,8 @@ ng_eiface_print_ioctl(struct ifnet *ifp, int command, caddr_t data)
        default:
                str = "IO??";
        }
-       log(LOG_DEBUG, "%s%d: %s('%c', %d, char[%d])\n",
-              ifp->if_name, ifp->if_unit,
+       log(LOG_DEBUG, "%s: %s('%c', %d, char[%d])\n",
+              ifp->if_xname,
               str,
               IOCGROUP(command),
               command & 0xff,
@@ -342,8 +342,7 @@ ng_eiface_constructor(node_p *nodep)
        priv->node = node;
 
        /* Initialize interface structure */
-       ifp->if_name = ng_eiface_ifname;
-       ifp->if_unit = ng_eiface_next_unit++;
+       if_initname(ifp, ng_eiface_ifname, ng_eiface_next_unit++);
        ifp->if_init = ng_eiface_init;
        ifp->if_output = ether_output;
        ifp->if_start = ng_eiface_start;
@@ -356,7 +355,7 @@ ng_eiface_constructor(node_p *nodep)
 
        /* Give this node name *
        bzero(ifname, sizeof(ifname));
-       sprintf(ifname, "if%s%d", ifp->if_name, ifp->if_unit);
+       sprintf(ifname, "if%s", ifp->if_xname);
        (void) ng_name_node(node, ifname);
        */
 
@@ -433,7 +432,7 @@ ng_eiface_rcvmsg(node_p node, struct ng_mesg *msg,
                        }
                        arg = (struct ng_eiface_ifname *) resp->data;
                        sprintf(arg->ngif_name,
-                           "%s%d", ifp->if_name, ifp->if_unit);
+                           "%s", ifp->if_xname); /* XXX: strings */
                        break;
                    }
 
@@ -461,8 +460,8 @@ ng_eiface_rcvmsg(node_p node, struct ng_mesg *msg,
                                const int len = SA_SIZE(ifa->ifa_addr);
 
                                if (buflen < len) {
-                                       log(LOG_ERR, "%s%d: len changed?\n",
-                                           ifp->if_name, ifp->if_unit);
+                                       log(LOG_ERR, "%s: len changed?\n",
+                                           ifp->if_xname);
                                        break;
                                }
                                bcopy(ifa->ifa_addr, ptr, len);
index 2220f23..f418418 100644 (file)
@@ -38,7 +38,7 @@
  *         Julian Elischer <julian@freebsd.org>
  *
  * $FreeBSD: src/sys/netgraph/ng_ether.c,v 1.2.2.13 2002/07/02 20:10:25 archie Exp $
- * $DragonFly: src/sys/netgraph/ether/ng_ether.c,v 1.3 2003/08/07 21:17:31 dillon Exp $
+ * $DragonFly: src/sys/netgraph/ether/ng_ether.c,v 1.4 2004/01/06 03:17:27 dillon Exp $
  */
 
 /*
@@ -301,7 +301,7 @@ ng_ether_attach(struct ifnet *ifp)
 
        /* Create node */
        KASSERT(!IFP2NG(ifp), ("%s: node already exists?", __FUNCTION__));
-       snprintf(name, sizeof(name), "%s%d", ifp->if_name, ifp->if_unit);
+       strlcpy(name, ifp->if_xname, sizeof(name));
        if (ng_make_node_common(&ng_ether_typestruct, &node) != 0) {
                log(LOG_ERR, "%s: can't %s for %s\n",
                    __FUNCTION__, "create node", name);
@@ -466,8 +466,7 @@ ng_ether_rcvmsg(node_p node, struct ng_mesg *msg,
                                error = ENOMEM;
                                break;
                        }
-                       snprintf(resp->data, IFNAMSIZ + 1,
-                           "%s%d", priv->ifp->if_name, priv->ifp->if_unit);
+                       strlcpy(resp->data, priv->ifp->if_xname, IFNAMSIZ);
                        break;
                case NGM_ETHER_GET_IFINDEX:
                        NG_MKRESPONSE(resp, msg, sizeof(u_int32_t), M_NOWAIT);
index 3de14a4..9094c65 100644 (file)
@@ -33,7 +33,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/netgraph/ng_fec.c,v 1.1.2.1 2002/11/01 21:39:31 julian Exp $
- * $DragonFly: src/sys/netgraph/fec/ng_fec.c,v 1.3 2003/08/07 21:17:31 dillon Exp $
+ * $DragonFly: src/sys/netgraph/fec/ng_fec.c,v 1.4 2004/01/06 03:17:27 dillon Exp $
  */
 /*
  * Copyright (c) 1996-1999 Whistle Communications, Inc.
@@ -561,8 +561,7 @@ ng_fec_tick(void *arg)
                error = (*ifp->if_ioctl)(ifp, SIOCGIFMEDIA, (caddr_t)&ifmr);
                if (error) {
                        printf("fec%d: failed to check status "
-                           "of link %s%d\n", priv->unit, ifp->if_name,
-                           ifp->if_unit);
+                           "of link %s\n", priv->unit, ifp->if_xname);
                        continue;
                }
 
@@ -572,17 +571,17 @@ ng_fec_tick(void *arg)
                                if (p->fec_ifstat == -1 ||
                                    p->fec_ifstat == 0) {
                                        p->fec_ifstat = 1;
-                                       printf("fec%d: port %s%d in bundle "
+                                       printf("fec%d: port %s in bundle "
                                            "is up\n", priv->unit,
-                                           ifp->if_name, ifp->if_unit);
+                                           ifp->if_xname);
                                }
                        } else {
                                if (p->fec_ifstat == -1 ||
                                    p->fec_ifstat == 1) {
                                        p->fec_ifstat = 0;
-                                       printf("fec%d: port %s%d in bundle "
+                                       printf("fec%d: port %s in bundle "
                                            "is down\n", priv->unit,
-                                           ifp->if_name, ifp->if_unit);
+                                           ifp->if_xname);
                                }
                        }
                }
@@ -810,15 +809,15 @@ ng_fec_output(struct ifnet *ifp, struct mbuf *m,
 #endif
                else {
 #ifdef DEBUG
-                       printf("fec%d: can't do inet aggregation of non "
-                           "inet packet\n", ifp->if_unit);
+                       printf("%s: can't do inet aggregation of non "
+                           "inet packet\n", ifp->if_xname);
 #endif
                        m->m_flags |= M_FEC_MAC;
                }
                break;
 #endif
        default:
-               printf("fec%d: bogus hash type: %d\n", ifp->if_unit,
+               printf("%s: bogus hash type: %d\n", ifp->if_xname,
                    b->fec_btype);
                m_freem(m);
                return(EINVAL);
@@ -1022,8 +1021,8 @@ ng_fec_print_ioctl(struct ifnet *ifp, int command, caddr_t data)
        default:
                str = "IO??";
        }
-       log(LOG_DEBUG, "%s%d: %s('%c', %d, char[%d])\n",
-              ifp->if_name, ifp->if_unit,
+       log(LOG_DEBUG, "%s: %s('%c', %d, char[%d])\n",
+              ifp->if_xname,
               str,
               IOCGROUP(command),
               command & 0xff,
@@ -1082,8 +1081,7 @@ ng_fec_constructor(node_p *nodep)
        priv->arpcom.ac_netgraph = node;
 
        /* Initialize interface structure */
-       ifp->if_name = NG_FEC_FEC_NAME;
-       ifp->if_unit = priv->unit;
+       if_initname(ifp, NG_FEC_FEC_NAME, priv->unit);
        ifp->if_output = ng_fec_output;
        ifp->if_start = ng_fec_start;
        ifp->if_ioctl = ng_fec_ioctl;
@@ -1100,7 +1098,7 @@ ng_fec_constructor(node_p *nodep)
 
        /* Give this node the same name as the interface (if possible) */
        bzero(ifname, sizeof(ifname));
-       snprintf(ifname, sizeof(ifname), "%s%d", ifp->if_name, ifp->if_unit);
+       strlcpy(ifname, ifp->if_xname, sizeof(ifname));
        if (ng_name_node(node, ifname) != 0)
                log(LOG_WARNING, "%s: can't acquire netgraph name\n", ifname);
 
@@ -1196,9 +1194,8 @@ ng_fec_rmnode(node_p node)
 
        while (!TAILQ_EMPTY(&b->ng_fec_ports)) {
                p = TAILQ_FIRST(&b->ng_fec_ports);
-               sprintf(ifname, "%s%d",
-                   p->fec_if->if_name,
-                   p->fec_if->if_unit);
+               sprintf(ifname, "%s",
+                   p->fec_if->if_xname); /* XXX: strings */
                ng_fec_delport(priv, ifname);
        }
 
index d6db3e0..342e4de 100644 (file)
@@ -37,7 +37,7 @@
  * Author: Archie Cobbs <archie@freebsd.org>
  *
  * $FreeBSD: src/sys/netgraph/ng_iface.c,v 1.7.2.5 2002/07/02 23:44:02 archie Exp $
- * $DragonFly: src/sys/netgraph/iface/ng_iface.c,v 1.5 2003/09/16 06:25:35 hsu Exp $
+ * $DragonFly: src/sys/netgraph/iface/ng_iface.c,v 1.6 2004/01/06 03:17:27 dillon Exp $
  * $Whistle: ng_iface.c,v 1.33 1999/11/01 09:24:51 julian Exp $
  */
 
@@ -436,8 +436,8 @@ ng_iface_output(struct ifnet *ifp, struct mbuf *m,
        /* Check address family to determine hook (if known) */
        if (iffam == NULL) {
                m_freem(m);
-               log(LOG_WARNING, "%s%d: can't handle af%d\n",
-                      ifp->if_name, ifp->if_unit, (int)dst->sa_family);
+               log(LOG_WARNING, "%s: can't handle af%d\n",
+                      ifp->if_xname, (int)dst->sa_family);
                return (EAFNOSUPPORT);
        }
 
@@ -462,7 +462,7 @@ ng_iface_output(struct ifnet *ifp, struct mbuf *m,
 static void
 ng_iface_start(struct ifnet *ifp)
 {
-       printf("%s%d: %s called?", ifp->if_name, ifp->if_unit, __FUNCTION__);
+       printf("%s: %s called?", ifp->if_xname, __FUNCTION__);
 }
 
 /*
@@ -511,8 +511,8 @@ ng_iface_print_ioctl(struct ifnet *ifp, int command, caddr_t data)
        default:
                str = "IO??";
        }
-       log(LOG_DEBUG, "%s%d: %s('%c', %d, char[%d])\n",
-              ifp->if_name, ifp->if_unit,
+       log(LOG_DEBUG, "%s: %s('%c', %d, char[%d])\n",
+              ifp->if_xname,
               str,
               IOCGROUP(command),
               command & 0xff,
@@ -573,8 +573,7 @@ ng_iface_constructor(node_p *nodep)
        priv->node = node;
 
        /* Initialize interface structure */
-       ifp->if_name = NG_IFACE_IFACE_NAME;
-       ifp->if_unit = priv->unit;
+       if_initname(ifp, NG_IFACE_IFACE_NAME, priv->unit);
        ifp->if_output = ng_iface_output;
        ifp->if_start = ng_iface_start;
        ifp->if_ioctl = ng_iface_ioctl;
@@ -590,7 +589,7 @@ ng_iface_constructor(node_p *nodep)
 
        /* Give this node the same name as the interface (if possible) */
        bzero(ifname, sizeof(ifname));
-       snprintf(ifname, sizeof(ifname), "%s%d", ifp->if_name, ifp->if_unit);
+       strlcpy(ifname, ifp->if_xname, sizeof(ifname));
        if (ng_name_node(node, ifname) != 0)
                log(LOG_WARNING, "%s: can't acquire netgraph name\n", ifname);
 
@@ -645,8 +644,8 @@ ng_iface_rcvmsg(node_p node, struct ng_mesg *msg,
                                break;
                        }
                        arg = (struct ng_iface_ifname *)resp->data;
-                       snprintf(arg->ngif_name, sizeof(arg->ngif_name),
-                           "%s%d", ifp->if_name, ifp->if_unit);
+                       strlcpy(arg->ngif_name, ifp->if_xname,
+                           sizeof(arg->ngif_name));
                        break;
                    }
 
index 1bb91b9..7e38b57 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)if_ether.c  8.1 (Berkeley) 6/10/93
  * $FreeBSD: src/sys/netinet/if_ether.c,v 1.64.2.23 2003/04/11 07:23:15 fjoe Exp $
- * $DragonFly: src/sys/netinet/if_ether.c,v 1.8 2003/11/08 07:57:51 dillon Exp $
+ * $DragonFly: src/sys/netinet/if_ether.c,v 1.9 2004/01/06 03:17:27 dillon Exp $
  */
 
 /*
@@ -647,26 +647,26 @@ match:
                /* the following is not an error when doing bridging */
                if (!BRIDGE_TEST && rt->rt_ifp != ifp) {
                    if (log_arp_wrong_iface)
-                       log(LOG_ERR, "arp: %s is on %s%d but got reply from %*D on %s%d\n",
+                       log(LOG_ERR, "arp: %s is on %s but got reply from %*D on %s\n",
                            inet_ntoa(isaddr),
-                           rt->rt_ifp->if_name, rt->rt_ifp->if_unit,
+                           rt->rt_ifp->if_xname,
                            ifp->if_addrlen, (u_char *)ar_sha(ah), ":",
-                           ifp->if_name, ifp->if_unit);
+                           ifp->if_xname);
                    goto reply;
                }
                if (sdl->sdl_alen &&
                    bcmp(ar_sha(ah), LLADDR(sdl), sdl->sdl_alen)) {
                        if (rt->rt_expire)
-                           log(LOG_INFO, "arp: %s moved from %*D to %*D on %s%d\n",
+                           log(LOG_INFO, "arp: %s moved from %*D to %*D on %s\n",
                                inet_ntoa(isaddr),
                                ifp->if_addrlen, (u_char *)LLADDR(sdl), ":",
                                ifp->if_addrlen, (u_char *)ar_sha(ah), ":",
-                               ifp->if_name, ifp->if_unit);
+                               ifp->if_xname);
                        else {
                            log(LOG_ERR,
-                               "arp: %*D attempts to modify permanent entry for %s on %s%d\n",
+                               "arp: %*D attempts to modify permanent entry for %s on %s\n",
                                ifp->if_addrlen, (u_char *)ar_sha(ah), ":",
-                               inet_ntoa(isaddr), ifp->if_name, ifp->if_unit);
+                               inet_ntoa(isaddr), ifp->if_xname);
                            goto reply;
                        }
                }
index ad7c92f..49048dd 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/netinet/ip_divert.c,v 1.42.2.6 2003/01/23 21:06:45 sam Exp $
- * $DragonFly: src/sys/netinet/ip_divert.c,v 1.4 2003/06/25 03:56:04 dillon Exp $
+ * $DragonFly: src/sys/netinet/ip_divert.c,v 1.5 2004/01/06 03:17:27 dillon Exp $
  */
 
 #include "opt_inet.h"
@@ -210,9 +210,8 @@ divert_packet(struct mbuf *m, int incoming, int port, int rule)
                 * this iface name will come along for the ride.
                 * (see div_output for the other half of this.)
                 */ 
-               snprintf(divsrc.sin_zero, sizeof(divsrc.sin_zero),
-                       "%s%d", m->m_pkthdr.rcvif->if_name,
-                       m->m_pkthdr.rcvif->if_unit);
+               snprintf(divsrc.sin_zero, m->m_pkthdr.rcvif->if_xname,
+                       sizeof(divsrc.sin_zero));
        }
 
        /* Put packet on socket queue, if any */
index bcd41c9..ed8f7d5 100644 (file)
@@ -1,5 +1,5 @@
 /*     $FreeBSD: src/sys/netinet6/ip6_mroute.c,v 1.2.2.9 2003/01/23 21:06:47 sam Exp $ */
-/*     $DragonFly: src/sys/netinet6/ip6_mroute.c,v 1.3 2003/08/23 11:02:45 rob Exp $   */
+/*     $DragonFly: src/sys/netinet6/ip6_mroute.c,v 1.4 2004/01/06 03:17:27 dillon Exp $        */
 /*     $KAME: ip6_mroute.c,v 1.58 2001/12/18 02:36:31 itojun Exp $     */
 
 /*
@@ -546,7 +546,8 @@ add_m6if(mifcp)
 
        if (mifcp->mif6c_flags & MIFF_REGISTER) {
                if (reg_mif_num == (mifi_t)-1) {
-                       multicast_register_if.if_name = "register_mif";
+                       strlcpy(multicast_register_if.if_xname, "register_mif",
+                           IFNAMSIZ);
                        multicast_register_if.if_flags |= IFF_LOOPBACK;
                        multicast_register_if.if_index = mifcp->mif6c_mifi;
                        reg_mif_num = mifcp->mif6c_mifi;
@@ -588,9 +589,9 @@ add_m6if(mifcp)
 #ifdef MRT6DEBUG
        if (mrt6debug)
                log(LOG_DEBUG,
-                   "add_mif #%d, phyint %s%d\n",
+                   "add_mif #%d, phyint %s\n",
                    mifcp->mif6c_mifi,
-                   ifp->if_name, ifp->if_unit);
+                   ifp->if_xname);
 #endif
 
        return 0;
index f49b941..d647ea1 100644 (file)
@@ -22,7 +22,7 @@
  */
 
 /* $FreeBSD: src/sys/netatalk/ddp_output.c,v 1.13.6.1 2000/06/02 22:39:07 archie Exp $ */
-/* $DragonFly: src/sys/netproto/atalk/ddp_output.c,v 1.4 2003/09/03 14:30:57 hmp Exp $ */
+/* $DragonFly: src/sys/netproto/atalk/ddp_output.c,v 1.5 2004/01/06 03:17:28 dillon Exp $ */
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -165,8 +165,8 @@ ddp_route( struct mbuf *m, struct route *ro)
 
     if ( aa == NULL ) {
 #ifdef NETATALK_DEBUG
-       printf( "ddp_route: no atalk address found for %s%d\n", 
-           ifp->if_name, ifp->if_unit);
+       printf( "ddp_route: no atalk address found for %s\n", 
+           ifp->if_xname);
 #endif
        m_freem( m );
        return( ENETUNREACH );
@@ -211,14 +211,14 @@ ddp_route( struct mbuf *m, struct route *ro)
     ro->ro_rt->rt_use++;
 
 #ifdef NETATALK_DEBUG
-    printf ("ddp_route: from %d.%d to %d.%d, via %d.%d (%s%d)\n",
+    printf ("ddp_route: from %d.%d to %d.%d, via %d.%d (%s)\n",
        ntohs(satosat(&aa->aa_addr)->sat_addr.s_net),
        satosat(&aa->aa_addr)->sat_addr.s_node,
        ntohs(satosat(&ro->ro_dst)->sat_addr.s_net),
        satosat(&ro->ro_dst)->sat_addr.s_node,
        ntohs(gate.sat_addr.s_net),
        gate.sat_addr.s_node,
-       ifp->if_name, ifp->if_unit);
+       ifp->if_xname);
 #endif
 
     /* short-circuit the output if we're sending this to ourself */
index 08e51fa..517cf2b 100644 (file)
@@ -24,7 +24,7 @@
  * notice must be reproduced on all copies.
  *
  *     @(#) $FreeBSD: src/sys/netatm/atm_if.c,v 1.5 1999/08/28 00:48:35 peter Exp $
- *     @(#) $DragonFly: src/sys/netproto/atm/atm_if.c,v 1.5 2003/08/23 10:06:21 rob Exp $
+ *     @(#) $DragonFly: src/sys/netproto/atm/atm_if.c,v 1.6 2004/01/06 03:17:28 dillon Exp $
  */
 
 /*
@@ -325,7 +325,8 @@ atm_physif_ioctl(code, data, arg)
                        "%s%d", pip->pif_name, pip->pif_unit );
                if ( pip->pif_nif )
                {
-                       strcpy(apr.anp_nif_pref, pip->pif_nif->nif_if.if_name);
+                       strcpy(apr.anp_nif_pref,        /* XXX: strings */
+                            pip->pif_nif->nif_if.if_dname);
 
                        nip = pip->pif_nif;
                        while ( nip ) {
@@ -376,7 +377,7 @@ atm_physif_ioctl(code, data, arg)
                 */
                KM_ZERO((caddr_t)&anr, sizeof(anr));
                (void) snprintf(anr.anp_intf, sizeof(anr.anp_intf),
-                   "%s%d", ifp->if_name, ifp->if_unit);
+                   "%s", ifp->if_xname);
                IFP_TO_IA(ifp, ia);
                if (ia) {
                        anr.anp_proto_addr = *ia->ia_ifa.ifa_addr;
@@ -492,8 +493,7 @@ atm_physif_ioctl(code, data, arg)
                        strcpy ( nip->nif_name, asr->asr_nif_pref );
                        nip->nif_sel = count;
 
-                       ifp->if_name = nip->nif_name;
-                       ifp->if_unit = count;
+                       if_initname(ifp, nip->nif_name, count);
                        ifp->if_mtu = ATM_NIF_MTU;
                        ifp->if_flags = IFF_UP | IFF_BROADCAST | IFF_RUNNING;
                        ifp->if_output = atm_ifoutput;
@@ -1189,8 +1189,8 @@ atm_nifname(name)
                 */
                for (nip = pip->pif_nif; nip; nip = nip->nif_pnext) {
                        struct ifnet    *ifp = (struct ifnet *)nip;
-                       if ((ifp->if_unit == unit) && 
-                           (strcmp(ifp->if_name, n) == 0))
+                       if ((ifp->if_dunit == unit) && 
+                           (strcmp(ifp->if_dname, n) == 0))
                                return (nip);
                }
        }
index 6e7f8d7..39772e9 100644 (file)
@@ -24,7 +24,7 @@
  * notice must be reproduced on all copies.
  *
  *     @(#) $FreeBSD: src/sys/netatm/atm_socket.c,v 1.4 1999/08/28 00:48:37 peter Exp $
- *     @(#) $DragonFly: src/sys/netproto/atm/atm_socket.c,v 1.3 2003/08/07 21:17:34 dillon Exp $
+ *     @(#) $DragonFly: src/sys/netproto/atm/atm_socket.c,v 1.4 2004/01/06 03:17:28 dillon Exp $
  */
 
 /*
@@ -1203,7 +1203,7 @@ atm_sock_getopt(so, sopt, atp)
 
                        ifp = &ap->nif->nif_if;
                        (void) snprintf(netif.net_intf, sizeof(netif.net_intf),
-                           "%s%d", ifp->if_name, ifp->if_unit);
+                           "%s", if_name(ifp));
                        return (sooptcopyout(sopt, &netif,
                                        sizeof netif));
                } else {
index d95cc84..f96f5ee 100644 (file)
@@ -24,7 +24,7 @@
  * notice must be reproduced on all copies.
  *
  *     @(#) $FreeBSD: src/sys/netatm/atm_usrreq.c,v 1.6 1999/08/28 00:48:39 peter Exp $
- *     @(#) $DragonFly: src/sys/netproto/atm/atm_usrreq.c,v 1.5 2003/08/23 10:06:21 rob Exp $
+ *     @(#) $DragonFly: src/sys/netproto/atm/atm_usrreq.c,v 1.6 2004/01/06 03:17:28 dillon Exp $
  */
 
 /*
@@ -375,7 +375,7 @@ atm_dgram_control(so, cmd, data, ifp, td)
                         * Make sure prefix name is unique
                         */
                        TAILQ_FOREACH(ifp2, &ifnet, if_link) {
-                               if (!strcmp(ifp2->if_name, asp->asr_nif_pref)) {
+                               if (!strcmp(ifp2->if_dname, asp->asr_nif_pref)) {
                                        /*
                                         * If this is for the interface we're
                                         * (re-)defining, let it through
index 830e22c..d325f9d 100644 (file)
@@ -24,7 +24,7 @@
  * notice must be reproduced on all copies.
  *
  *     @(#) $FreeBSD: src/sys/netatm/ipatm/ipatm_usrreq.c,v 1.5.2.1 2003/02/15 09:25:13 phk Exp $
- *     @(#) $DragonFly: src/sys/netproto/atm/ipatm/ipatm_usrreq.c,v 1.4 2003/08/07 21:54:33 dillon Exp $
+ *     @(#) $DragonFly: src/sys/netproto/atm/ipatm/ipatm_usrreq.c,v 1.5 2004/01/06 03:17:28 dillon Exp $
  */
 
 /*
@@ -334,10 +334,9 @@ ipatm_ioctl(code, data, arg1)
                                        AF_INET;
                                SATOSIN(&aivr.aip_dst_addr)->sin_addr.s_addr = 
                                        ivp->iv_dst.s_addr;
-                               (void) snprintf(aivr.aip_intf,
-                                   sizeof(aivr.aip_intf), "%s%d",
-                                       inp->inf_nif->nif_if.if_name,
-                                       inp->inf_nif->nif_if.if_unit);
+                               (void) strlcpy(aivr.aip_intf,
+                                   inp->inf_nif->nif_if.if_xname,
+                                   sizeof(aivr.aip_intf));
                                if ((ivp->iv_conn) &&
                                    (ivp->iv_conn->co_connvc) &&
                                    (vcp = ivp->iv_conn->co_connvc->cvc_vcc)) {
index 0d84c6f..4692479 100644 (file)
@@ -24,7 +24,7 @@
  * notice must be reproduced on all copies.
  *
  *     @(#) $FreeBSD: src/sys/netatm/spans/spans_arp.c,v 1.7 2000/01/15 20:34:55 mks Exp $
- *     @(#) $DragonFly: src/sys/netproto/atm/spans/spans_arp.c,v 1.5 2003/08/23 10:06:22 rob Exp $
+ *     @(#) $DragonFly: src/sys/netproto/atm/spans/spans_arp.c,v 1.6 2004/01/06 03:17:28 dillon Exp $
  */
 
 /*
@@ -1089,11 +1089,9 @@ spansarp_ioctl(code, data, arg1)
                                        AF_INET;
                                SATOSIN(&aar.aap_arp_addr)->sin_addr.s_addr =
                                        sap->sa_dstip.s_addr;
-                               (void) snprintf(aar.aap_intf,
-                                   sizeof(aar.aap_intf), "%s%d",
-                                       clp->cls_ipnif->inf_nif->nif_if.if_name,
-                                       clp->cls_ipnif->inf_nif->nif_if.if_unit
-                                       );
+                               (void) strlcpy(aar.aap_intf,
+                                   clp->cls_ipnif->inf_nif->nif_if.if_xname,
+                                   sizeof(aar.aap_intf));
                                aar.aap_flags = sap->sa_flags;
                                aar.aap_origin = sap->sa_origin;
                                if (sap->sa_flags & SAF_VALID)
index 4339b3d..4518d74 100644 (file)
@@ -24,7 +24,7 @@
  * notice must be reproduced on all copies.
  *
  *     @(#) $FreeBSD: src/sys/netatm/uni/uniarp.c,v 1.8 2000/01/15 20:46:07 mks Exp $
- *     @(#) $DragonFly: src/sys/netproto/atm/uni/uniarp.c,v 1.5 2003/08/23 10:06:22 rob Exp $
+ *     @(#) $DragonFly: src/sys/netproto/atm/uni/uniarp.c,v 1.6 2004/01/06 03:17:28 dillon Exp $
  */
 
 /*
@@ -1023,10 +1023,9 @@ uniarp_ioctl(code, data, arg1)
                                        AF_INET;
                                SATOSIN(&aar.aap_arp_addr)->sin_addr.s_addr =
                                        uap->ua_dstip.s_addr;
-                               (void) snprintf(aar.aap_intf,
-                                   sizeof(aar.aap_intf), "%s%d",
-                                       nip->nif_if.if_name,
-                                       nip->nif_if.if_unit);
+                               (void) strlcpy(aar.aap_intf,
+                                   nip->nif_if.if_xname,
+                                   sizeof(aar.aap_intf));
                                aar.aap_flags = uap->ua_flags;
                                aar.aap_origin = uap->ua_origin;
                                if (uap->ua_flags & UAF_VALID)
@@ -1078,9 +1077,9 @@ uniarp_ioctl(code, data, arg1)
                         */
                        SATOSIN(&aar.aap_arp_addr)->sin_family = AF_INET;
                        SATOSIN(&aar.aap_arp_addr)->sin_addr.s_addr = 0;
-                       (void) snprintf(aar.aap_intf,
-                           sizeof(aar.aap_intf), "%s%d",
-                               nip->nif_if.if_name, nip->nif_if.if_unit);
+                       (void) strlcpy(aar.aap_intf,
+                           nip->nif_if.if_xname,
+                           sizeof(aar.aap_intf));
                        aar.aap_flags = 0;
                        aar.aap_origin = uap->ua_origin;
                        aar.aap_age = 0;
@@ -1159,9 +1158,9 @@ updbuf:
                        /*
                         * Fill in info to be returned
                         */
-                       (void) snprintf(asr.asp_intf,
-                           sizeof(asr.asp_intf), "%s%d",
-                               nip->nif_if.if_name, nip->nif_if.if_unit);
+                       (void) strlcpy(asr.asp_intf,
+                           nip->nif_if.if_xname,
+                           sizeof(asr.asp_intf));
                        asr.asp_state = uip->uip_arpstate;
                        if (uip->uip_arpstate == UIAS_SERVER_ACTIVE) {
                                asr.asp_addr.address_format = T_ATM_ABSENT;
index c1e53d9..b047d23 100644 (file)
@@ -34,7 +34,7 @@
  *     @(#)ipx_ip.c
  *
  * $FreeBSD: src/sys/netipx/ipx_ip.c,v 1.24.2.2 2003/01/23 21:06:48 sam Exp $
- * $DragonFly: src/sys/netproto/ipx/ipx_ip.c,v 1.7 2003/09/15 23:38:15 hsu Exp $
+ * $DragonFly: src/sys/netproto/ipx/ipx_ip.c,v 1.8 2004/01/06 03:17:28 dillon Exp $
  */
 
 /*
@@ -74,6 +74,7 @@
 #include "ipx_var.h"
 
 static struct  ifnet ipxipif;
+static int     ipxipif_units;
 
 /* list of all hosts and gateways or broadcast addrs */
 static struct  ifnet_en *ipxip_list;
@@ -94,7 +95,7 @@ ipxipattach()
 
        if (ipxipif.if_mtu == 0) {
                ifp = &ipxipif;
-               ifp->if_name = "ipxip";
+               if_initname(ifp, "ipxip", ipxipif_units);
                ifp->if_mtu = LOMTU;
                ifp->if_ioctl = ipxipioctl;
                ifp->if_output = ipxipoutput;
@@ -109,13 +110,12 @@ ipxipattach()
        ipxip_list = m;
        ifp = &m->ifen_ifnet;
 
-       ifp->if_name = "ipxip";
+       if_initname(ifp, "ipxip", ipxipif_units++);
        ifp->if_mtu = LOMTU;
        ifp->if_ioctl = ipxipioctl;
        ifp->if_output = ipxipoutput;
        ifp->if_start = ipxipstart;
        ifp->if_flags = IFF_POINTOPOINT;
-       ifp->if_unit = ipxipif.if_unit++;
        if_attach(ifp);
 
        return (m);
@@ -380,7 +380,7 @@ ipxip_route(so, sopt)
        /*
         * now configure this as a point to point link
         */
-       ifr_ipxip.ifr_name[4] = '0' + ipxipif.if_unit - 1;
+       ifr_ipxip.ifr_name[4] = '0' + ipxipif_units - 1;
        ifr_ipxip.ifr_dstaddr = *(struct sockaddr *)ipx_dst;
        ipx_control(so, (int)SIOCSIFDSTADDR, (caddr_t)&ifr_ipxip,
                        (struct ifnet *)ifn, sopt->sopt_td);
index fbbe38b..d9ec47a 100644 (file)
@@ -1,6 +1,6 @@
 /*     $NetBSD: natm.c,v 1.5 1996/11/09 03:26:26 chuck Exp $   */
 /* $FreeBSD: src/sys/netnatm/natm.c,v 1.12 2000/02/13 03:32:03 peter Exp $ */
-/* $DragonFly: src/sys/netproto/natm/natm.c,v 1.7 2003/11/08 07:57:52 dillon Exp $ */
+/* $DragonFly: src/sys/netproto/natm/natm.c,v 1.8 2004/01/06 03:17:28 dillon Exp $ */
 
 /*
  *
@@ -335,8 +335,8 @@ natm_usr_peeraddr(struct socket *so, struct sockaddr **nam)
     bzero(snatm, sizeof(*snatm));
     snatm->snatm_len = sizeof(*snatm);
     snatm->snatm_family = AF_NATM;
-    snprintf(snatm->snatm_if, sizeof(snatm->snatm_if),
-       "%s%d", npcb->npcb_ifp->if_name, npcb->npcb_ifp->if_unit);
+    strlcpy(snatm->snatm_if, npcb->npcb_ifp->if_xname,
+        sizeof(snatm->snatm_if));
     snatm->snatm_vci = npcb->npcb_vci;
     snatm->snatm_vpi = npcb->npcb_vpi;
     *nam = dup_sockaddr((struct sockaddr *)snatm, 0);
@@ -622,7 +622,7 @@ struct proc *p;
       bzero(snatm, sizeof(*snatm));
       nam->m_len = snatm->snatm_len = sizeof(*snatm);
       snatm->snatm_family = AF_NATM;
-#if defined(__NetBSD__) || defined(__OpenBSD__)
+#if defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
       bcopy(npcb->npcb_ifp->if_xname, snatm->snatm_if, sizeof(snatm->snatm_if));
 #elif defined(__FreeBSD__)
       snprintf(snatm->snatm_if, sizeof(snatm->snatm_if),
index 53eb367..eca97e0 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)ns_ip.c     8.1 (Berkeley) 6/10/93
  * $FreeBSD: src/sys/netns/ns_ip.c,v 1.9 1999/08/28 00:49:50 peter Exp $
- * $DragonFly: src/sys/netproto/ns/ns_ip.c,v 1.5 2003/09/15 23:38:15 hsu Exp $
+ * $DragonFly: src/sys/netproto/ns/ns_ip.c,v 1.6 2004/01/06 03:17:28 dillon Exp $
  */
 
 /*
@@ -78,6 +78,7 @@ int   nsipoutput(), nsipioctl(), nsipstart();
 #define LOMTU  (1024+512);
 
 struct ifnet nsipif;
+static int nsipif_units;
 struct ifnet_en *nsip_list;            /* list of all hosts and gateways or
                                        broadcast addrs */
 
@@ -89,7 +90,7 @@ nsipattach()
 
        if (nsipif.if_mtu == 0) {
                ifp = &nsipif;
-               ifp->if_name = "nsip";
+               if_initname(ifp, "nsip", nsipif_units);
                ifp->if_mtu = LOMTU;
                ifp->if_ioctl = nsipioctl;
                ifp->if_output = nsipoutput;
@@ -103,13 +104,13 @@ nsipattach()
        nsip_list = m;
        ifp = &m->ifen_ifnet;
 
+       if_initname(ifp, "nsip", nsipif_units++);
        ifp->if_name = "nsip";
        ifp->if_mtu = LOMTU;
        ifp->if_ioctl = nsipioctl;
        ifp->if_output = nsipoutput;
        ifp->if_start = nsipstart;
        ifp->if_flags = IFF_POINTOPOINT;
-       ifp->if_unit = nsipif.if_unit++;
        if_attach(ifp);
 
        return (m);
@@ -364,7 +365,7 @@ nsip_route(m)
        /*
         * now configure this as a point to point link
         */
-       ifr.ifr_name[4] = '0' + nsipif.if_unit - 1;
+       ifr.ifr_name[4] = '0' + nsipif_units - 1;
        ifr.ifr_dstaddr = * (struct sockaddr *) ns_dst;
        (void)ns_control((struct socket *)0, (int)SIOCSIFDSTADDR, (caddr_t)&ifr,
                        (struct ifnet *)ifn);
index 4c124b7..ae4c5b9 100644 (file)
@@ -35,7 +35,7 @@
  *
  *     from: @(#)autoconf.c    7.1 (Berkeley) 5/9/91
  * $FreeBSD: src/sys/i386/i386/autoconf.c,v 1.146.2.2 2001/06/07 06:05:58 dd Exp $
- * $DragonFly: src/sys/platform/pc32/i386/autoconf.c,v 1.10 2003/08/26 21:42:18 rob Exp $
+ * $DragonFly: src/sys/platform/pc32/i386/autoconf.c,v 1.11 2004/01/06 03:17:24 dillon Exp $
  */
 
 /*
@@ -495,8 +495,7 @@ pxe_setup_nfsdiskless()
        printf("PXE: no interface\n");
        return; /* no matching interface */
 match_done:
-       sprintf(nd->myif.ifra_name, "%s%d", ifp->if_name, ifp->if_unit);
-
+       strlcpy(nd->myif.ifra_name, ifp->if_xname, sizeof(nd->myif.ifra_name));
        
        /* set up gateway */
        inaddr_to_sockaddr("boot.netif.gateway", &nd->mygateway);
index e8eb781..6ccb42a 100644 (file)
@@ -32,7 +32,7 @@
  *
  * @(#)if.c    8.3 (Berkeley) 4/28/95
  * $FreeBSD: src/usr.bin/netstat/if.c,v 1.32.2.9 2001/09/17 14:35:46 ru Exp $
- * $DragonFly: src/usr.bin/netstat/if.c,v 1.4 2003/11/14 09:56:03 hmp Exp $
+ * $DragonFly: src/usr.bin/netstat/if.c,v 1.5 2004/01/06 03:17:21 dillon Exp $
  */
 
 #include <sys/types.h>
@@ -180,7 +180,7 @@ intpr(int interval, u_long ifnetaddr, void (*pfunc)(char *))
        short timer;
        int drops;
        struct sockaddr *sa = NULL;
-       char name[32], tname[16];
+       char name[IFNAMSIZ];
        short network_layer;
        short link_layer;
 
@@ -227,12 +227,10 @@ intpr(int interval, u_long ifnetaddr, void (*pfunc)(char *))
 
                if (ifaddraddr == 0) {
                        ifnetfound = ifnetaddr;
-                       if (kread(ifnetaddr, (char *)&ifnet, sizeof ifnet) ||
-                           kread((u_long)ifnet.if_name, tname, 16))
+                       if (kread(ifnetaddr, (char *)&ifnet, sizeof ifnet))
                                return;
-                       tname[15] = '\0';
+                       strlcpy(name, ifnet.if_xname, sizeof(name));
                        ifnetaddr = (u_long)TAILQ_NEXT(&ifnet, if_link);
-                       snprintf(name, 32, "%s%d", tname, ifnet.if_unit);
                        if (interface != 0 && (strcmp(name, interface) != 0))
                                continue;
                        cp = index(name, '\0');
@@ -490,7 +488,7 @@ intpr(int interval, u_long ifnetaddr, void (*pfunc)(char *))
 
 struct iftot {
        SLIST_ENTRY(iftot) chain;
-       char    ift_name[16];           /* interface name */
+       char    ift_name[IFNAMSIZ];     /* interface name */
        u_long  ift_ip;                 /* input packets */
        u_long  ift_ie;                 /* input errors */
        u_long  ift_op;                 /* output packets */
@@ -534,14 +532,11 @@ sidewaysintpr(unsigned interval, u_long off)
        interesting = NULL;
        interesting_off = 0;
        for (off = firstifnet, ip = iftot; off;) {
-               char name[16], tname[16];
+               char name[IFNAMSIZ];
 
                if (kread(off, (char *)&ifnet, sizeof ifnet))
                        break;
-               if (kread((u_long)ifnet.if_name, tname, 16))
-                       break;
-               tname[15] = '\0';
-               snprintf(name, 16, "%s%d", tname, ifnet.if_unit);
+               strlcpy(name, ifnet.if_xname, sizeof(name));
                if (interface && strcmp(name, interface) == 0) {
                        interesting = ip;
                        interesting_off = off;
index fd76aeb..3ba2c5c 100644 (file)
@@ -32,7 +32,7 @@
  *
  * @(#)route.c 8.6 (Berkeley) 4/28/95
  * $FreeBSD: src/usr.bin/netstat/route.c,v 1.41.2.14 2002/07/17 02:22:22 kbyanc Exp $
- * $DragonFly: src/usr.bin/netstat/route.c,v 1.4 2003/11/14 09:56:03 hmp Exp $
+ * $DragonFly: src/usr.bin/netstat/route.c,v 1.5 2004/01/06 03:17:21 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -333,12 +333,9 @@ size_cols_rtentry(struct rtentry *rt)
        }
        if (rt->rt_ifp) {
                if (rt->rt_ifp != lastif) {
-                       len = snprintf(buffer, sizeof(buffer), "%d",
-                                      ifnet.if_unit);
                        kget(rt->rt_ifp, ifnet);
-                       kread((u_long)ifnet.if_name, buffer, sizeof(buffer));
                        lastif = rt->rt_ifp;
-                       len += strlen(buffer);
+                       len = strlen(ifnet.if_xname);
                        wid_if = MAX(len, wid_if);
                }
                if (rt->rt_rmx.rmx_expire) {
@@ -757,10 +754,8 @@ p_rtentry(struct rtentry *rt)
        if (rt->rt_ifp) {
                if (rt->rt_ifp != lastif) {
                        kget(rt->rt_ifp, ifnet);
-                       kread((u_long)ifnet.if_name, buffer, sizeof(buffer));
                        lastif = rt->rt_ifp;
-                       snprintf(prettyname, sizeof(prettyname),
-                                "%s%d", buffer, ifnet.if_unit);
+                       strlcpy(prettyname, ifnet.if_xname, sizeof(prettyname));
                }
                printf("%*.*s", wid_if, wid_if, prettyname);
                if (rt->rt_rmx.rmx_expire) {
index f41a3c9..bdf174c 100644 (file)
@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/usr.sbin/ifmcstat/ifmcstat.c,v 1.3.2.2 2001/07/03 11:02:06 ume Exp $
- * $DragonFly: src/usr.sbin/ifmcstat/ifmcstat.c,v 1.5 2003/11/16 15:17:36 eirikn Exp $
+ * $DragonFly: src/usr.sbin/ifmcstat/ifmcstat.c,v 1.6 2004/01/06 03:17:22 dillon Exp $
  */
 
 #define _KERNEL_STRUCTURES
@@ -154,12 +154,9 @@ char
 {
        static char buf[BUFSIZ];
        struct ifnet ifnet;
-       char ifnamebuf[IFNAMSIZ];
 
        KREAD(ifp, &ifnet, struct ifnet);
-       KREAD(ifnet.if_name, ifnamebuf, sizeof(ifnamebuf));
-       snprintf(buf, sizeof(buf), "%s%d", ifnamebuf,
-                ifnet.if_unit); /* does snprintf allow overlap copy?? */
+       strlcpy(buf, ifnet.if_xname, sizeof(buf));
        return buf;
 }