From 3e4a09e71e628ef90f06defa19a42cbcf75e84e5 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 6 Jan 2004 03:17:28 +0000 Subject: [PATCH] if_xname support Part 2/2: Convert remaining netif devices and implement full 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 --- contrib/ipfilter/ip_fil.c | 10 +- contrib/ipfilter/ip_log.c | 2 +- contrib/ipfilter/ipt.c | 2 +- contrib/ipfilter/kmem.c | 2 +- sbin/ip6fw/ip6fw.c | 39 ++--- sbin/ipfw/ipfw.c | 41 ++--- sbin/ipfw/ipfw2.c | 22 +-- sys/contrib/ipfilter/netinet/ip_compat.h | 5 +- sys/contrib/ipfilter/netinet/ip_fil.c | 17 ++- sys/contrib/ipfilter/netinet/ip_log.c | 5 +- sys/dev/netif/cm/if_cm_isa.c | 4 +- sys/dev/netif/cm/smc90cx6.c | 125 ++++++++------- sys/dev/netif/cm/smc90cx6var.h | 4 +- sys/dev/netif/cs/if_cs.c | 185 +++++++++++------------ sys/dev/netif/cs/if_cs_isa.c | 5 +- sys/dev/netif/cs/if_cs_pccard.c | 5 +- sys/dev/netif/cs/if_csvar.h | 4 +- sys/dev/netif/cx/cx.c | 11 +- sys/dev/netif/de/if_devar.h | 6 +- sys/dev/netif/ed/if_ed.c | 104 +++++++------ sys/dev/netif/fe/if_fevar.h | 4 +- sys/dev/netif/fea/if_fea.c | 7 +- sys/dev/netif/fpa/if_fpa.c | 14 +- sys/dev/netif/fxp/if_fxpvar.h | 4 +- sys/dev/netif/ic/if_ic.c | 9 +- sys/dev/netif/ie/if_ie.c | 17 +-- sys/dev/netif/le/if_le.c | 45 +++--- sys/dev/netif/lnc/if_lnc.c | 39 +++-- sys/dev/netif/plip/if_plip.c | 9 +- sys/dev/netif/rdp/if_rdp.c | 53 +++---- sys/dev/netif/sbni/if_sbni.c | 48 +++--- sys/dev/netif/ti/if_ti.c | 7 +- sys/dev/netif/wl/if_wl.c | 14 +- sys/dev/netif/xe/if_xe.c | 33 ++-- sys/emulation/linux/linux_ioctl.c | 13 +- sys/i386/i386/autoconf.c | 5 +- sys/net/bpf.c | 11 +- sys/net/bridge/bridge.c | 32 ++-- sys/net/disc/if_disc.c | 4 +- sys/net/dummynet/ip_dummynet.c | 12 +- sys/net/ef/if_ef.c | 28 ++-- sys/net/i4b/driver/i4b_bsdi_ibc.c | 11 +- sys/net/i4b/driver/i4b_ipr.c | 20 +-- sys/net/i4b/driver/i4b_isppp.c | 17 ++- sys/net/if.c | 71 +++------ sys/net/if_arcsubr.c | 12 +- sys/net/if_atmsubr.c | 10 +- sys/net/if_ethersubr.c | 4 +- sys/net/if_fddisubr.c | 4 +- sys/net/if_ieee80211.h | 6 +- sys/net/if_iso88025subr.c | 4 +- sys/net/if_loop.c | 5 +- sys/net/if_media.c | 6 +- sys/net/if_mib.c | 13 +- sys/net/if_var.h | 10 +- sys/net/ip6fw/ip6_fw.c | 17 ++- sys/net/ip6fw/ip6_fw.h | 4 +- sys/net/ip_mroute/ip_mroute.c | 12 +- sys/net/ipfw/ip_fw.c | 25 +-- sys/net/ipfw/ip_fw.h | 6 +- sys/net/ipfw/ip_fw2.c | 19 +-- sys/net/ipfw/ip_fw2.h | 4 +- sys/net/net_osdep.c | 14 +- sys/net/oldbridge/bridge.c | 32 ++-- sys/net/ppp/if_ppp.c | 45 +++--- sys/net/ppp_layer/ppp_tty.c | 30 ++-- sys/net/rtsock.c | 5 +- sys/net/sl/if_sl.c | 21 ++- sys/net/sppp/if_spppsubr.c | 4 +- sys/net/tap/if_tap.c | 76 +++++----- sys/netgraph/bridge/ng_bridge.c | 5 +- sys/netgraph/eiface/ng_eiface.c | 17 +-- sys/netgraph/ether/ng_ether.c | 7 +- sys/netgraph/fec/ng_fec.c | 33 ++-- sys/netgraph/iface/ng_iface.c | 21 ++- sys/netinet/if_ether.c | 16 +- sys/netinet/ip_divert.c | 7 +- sys/netinet6/ip6_mroute.c | 9 +- sys/netproto/atalk/ddp_output.c | 10 +- sys/netproto/atm/atm_if.c | 14 +- sys/netproto/atm/atm_socket.c | 4 +- sys/netproto/atm/atm_usrreq.c | 4 +- sys/netproto/atm/ipatm/ipatm_usrreq.c | 9 +- sys/netproto/atm/spans/spans_arp.c | 10 +- sys/netproto/atm/uni/uniarp.c | 21 ++- sys/netproto/ipx/ipx_ip.c | 10 +- sys/netproto/natm/natm.c | 8 +- sys/netproto/ns/ns_ip.c | 9 +- sys/platform/pc32/i386/autoconf.c | 5 +- usr.bin/netstat/if.c | 19 +-- usr.bin/netstat/route.c | 11 +- usr.sbin/ifmcstat/ifmcstat.c | 7 +- 92 files changed, 817 insertions(+), 952 deletions(-) diff --git a/contrib/ipfilter/ip_fil.c b/contrib/ipfilter/ip_fil.c index 8fcd05db7b..4d743560df 100644 --- a/contrib/ipfilter/ip_fil.c +++ b/contrib/ipfilter/ip_fil.c @@ -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); diff --git a/contrib/ipfilter/ip_log.c b/contrib/ipfilter/ip_log.c index e57bd69096..27fb1bbf22 100644 --- a/contrib/ipfilter/ip_log.c +++ b/contrib/ipfilter/ip_log.c @@ -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; diff --git a/contrib/ipfilter/ipt.c b/contrib/ipfilter/ipt.c index 48f35cf89e..679f8761d1 100644 --- a/contrib/ipfilter/ipt.c +++ b/contrib/ipfilter/ipt.c @@ -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) diff --git a/contrib/ipfilter/kmem.c b/contrib/ipfilter/kmem.c index 17622cdb79..e7bbcb9d36 100644 --- a/contrib/ipfilter/kmem.c +++ b/contrib/ipfilter/kmem.c @@ -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) diff --git a/sbin/ip6fw/ip6fw.c b/sbin/ip6fw/ip6fw.c index 5ab4ba646a..48bf891062 100644 --- a/sbin/ip6fw/ip6fw.c +++ b/sbin/ip6fw/ip6fw.c @@ -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 @@ -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 diff --git a/sbin/ipfw/ipfw.c b/sbin/ipfw/ipfw.c index 90464db97e..11aa7a2cb1 100644 --- a/sbin/ipfw/ipfw.c +++ b/sbin/ipfw/ipfw.c @@ -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 @@ -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 diff --git a/sbin/ipfw/ipfw2.c b/sbin/ipfw/ipfw2.c index 15583baf29..d708cff987 100644 --- a/sbin/ipfw/ipfw2.c +++ b/sbin/ipfw/ipfw2.c @@ -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 @@ -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); } diff --git a/sys/contrib/ipfilter/netinet/ip_compat.h b/sys/contrib/ipfilter/netinet/ip_compat.h index 02a08e2ee8..cb9bf30caa 100644 --- a/sys/contrib/ipfilter/netinet/ip_compat.h +++ b/sys/contrib/ipfilter/netinet/ip_compat.h @@ -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 diff --git a/sys/contrib/ipfilter/netinet/ip_fil.c b/sys/contrib/ipfilter/netinet/ip_fil.c index deee3c3aba..d68ac00f06 100644 --- a/sys/contrib/ipfilter/netinet/ip_fil.c +++ b/sys/contrib/ipfilter/netinet/ip_fil.c @@ -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); diff --git a/sys/contrib/ipfilter/netinet/ip_log.c b/sys/contrib/ipfilter/netinet/ip_log.c index b53770fc76..fca1d8934a 100644 --- a/sys/contrib/ipfilter/netinet/ip_log.c +++ b/sys/contrib/ipfilter/netinet/ip_log.c @@ -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 #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; diff --git a/sys/dev/netif/cm/if_cm_isa.c b/sys/dev/netif/cm/if_cm_isa.c index 86003b041b..be83db4fab 100644 --- a/sys/dev/netif/cm/if_cm_isa.c +++ b/sys/dev/netif/cm/if_cm_isa.c @@ -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 diff --git a/sys/dev/netif/cm/smc90cx6.c b/sys/dev/netif/cm/smc90cx6.c index 2cc2a883f3..ff58bbda6e 100644 --- a/sys/dev/netif/cm/smc90cx6.c +++ b/sys/dev/netif/cm/smc90cx6.c @@ -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) { diff --git a/sys/dev/netif/cm/smc90cx6var.h b/sys/dev/netif/cm/smc90cx6var.h index 1c17ebedfb..c053d94f3e 100644 --- a/sys/dev/netif/cm/smc90cx6var.h +++ b/sys/dev/netif/cm/smc90cx6var.h @@ -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); diff --git a/sys/dev/netif/cs/if_cs.c b/sys/dev/netif/cs/if_cs.c index 506cbc47cf..4fc8f45650 100644 --- a/sys/dev/netif/cs/if_cs.c +++ b/sys/dev/netif/cs/if_cs.c @@ -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)) { diff --git a/sys/dev/netif/cs/if_cs_isa.c b/sys/dev/netif/cs/if_cs_isa.c index ccfad73425..ede3fbf705 100644 --- a/sys/dev/netif/cs/if_cs_isa.c +++ b/sys/dev/netif/cs/if_cs_isa.c @@ -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 @@ -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[] = { diff --git a/sys/dev/netif/cs/if_cs_pccard.c b/sys/dev/netif/cs/if_cs_pccard.c index dece6a7a72..f08b4a63d9 100644 --- a/sys/dev/netif/cs/if_cs_pccard.c +++ b/sys/dev/netif/cs/if_cs_pccard.c @@ -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 @@ -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); diff --git a/sys/dev/netif/cs/if_csvar.h b/sys/dev/netif/cs/if_csvar.h index 442a5ba822..75121e9fca 100644 --- a/sys/dev/netif/cs/if_csvar.h +++ b/sys/dev/netif/cs/if_csvar.h @@ -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; diff --git a/sys/dev/netif/cx/cx.c b/sys/dev/netif/cx/cx.c index 0a8dcb4599..1a836f851a 100644 --- a/sys/dev/netif/cx/cx.c +++ b/sys/dev/netif/cx/cx.c @@ -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; diff --git a/sys/dev/netif/de/if_devar.h b/sys/dev/netif/de/if_devar.h index da69ad6232..e9b9f5272e 100644 --- a/sys/dev/netif/de/if_devar.h +++ b/sys/dev/netif/de/if_devar.h @@ -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 diff --git a/sys/dev/netif/ed/if_ed.c b/sys/dev/netif/ed/if_ed.c index 60ef0579a4..c89bc30e06 100644 --- a/sys/dev/netif/ed/if_ed.c +++ b/sys/dev/netif/ed/if_ed.c @@ -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); } diff --git a/sys/dev/netif/fe/if_fevar.h b/sys/dev/netif/fe/if_fevar.h index cc141d4052..3766b55fd3 100644 --- a/sys/dev/netif/fe/if_fevar.h +++ b/sys/dev/netif/fe/if_fevar.h @@ -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 diff --git a/sys/dev/netif/fea/if_fea.c b/sys/dev/netif/fea/if_fea.c index 52be71f51c..712c79df3f 100644 --- a/sys/dev/netif/fea/if_fea.c +++ b/sys/dev/netif/fea/if_fea.c @@ -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"); diff --git a/sys/dev/netif/fpa/if_fpa.c b/sys/dev/netif/fpa/if_fpa.c index bfbf493eb1..8b9aa16d9a 100644 --- a/sys/dev/netif/fpa/if_fpa.c +++ b/sys/dev/netif/fpa/if_fpa.c @@ -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; } diff --git a/sys/dev/netif/fxp/if_fxpvar.h b/sys/dev/netif/fxp/if_fxpvar.h index 754252f98b..4bb6282911 100644 --- a/sys/dev/netif/fxp/if_fxpvar.h +++ b/sys/dev/netif/fxp/if_fxpvar.h @@ -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 diff --git a/sys/dev/netif/ic/if_ic.c b/sys/dev/netif/ic/if_ic.c index b7fc47609d..4c6eeb1e49 100644 --- a/sys/dev/netif/ic/if_ic.c +++ b/sys/dev/netif/ic/if_ic.c @@ -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); diff --git a/sys/dev/netif/ie/if_ie.c b/sys/dev/netif/ie/if_ie.c index 3e33cda282..96fb57235d 100644 --- a/sys/dev/netif/ie/if_ie.c +++ b/sys/dev/netif/ie/if_ie.c @@ -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; diff --git a/sys/dev/netif/le/if_le.c b/sys/dev/netif/le/if_le.c index 46269bbc31..500e3fb269 100644 --- a/sys/dev/netif/le/if_le.c +++ b/sys/dev/netif/le/if_le.c @@ -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; } @@ -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); } 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); } } diff --git a/sys/dev/netif/lnc/if_lnc.c b/sys/dev/netif/lnc/if_lnc.c index 22900a392e..8198740645 100644 --- a/sys/dev/netif/lnc/if_lnc.c +++ b/sys/dev/netif/lnc/if_lnc.c @@ -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"); diff --git a/sys/dev/netif/plip/if_plip.c b/sys/dev/netif/plip/if_plip.c index 86849e6223..425684ea1b 100644 --- a/sys/dev/netif/plip/if_plip.c +++ b/sys/dev/netif/plip/if_plip.c @@ -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; diff --git a/sys/dev/netif/rdp/if_rdp.c b/sys/dev/netif/rdp/if_rdp.c index 1e24537784..9b3858f10d 100644 --- a/sys/dev/netif/rdp/if_rdp.c +++ b/sys/dev/netif/rdp/if_rdp.c @@ -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; diff --git a/sys/dev/netif/sbni/if_sbni.c b/sys/dev/netif/sbni/if_sbni.c index 042517f7d1..ff011d88f4 100644 --- a/sys/dev/netif/sbni/if_sbni.c +++ b/sys/dev/netif/sbni/if_sbni.c @@ -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++; } diff --git a/sys/dev/netif/ti/if_ti.c b/sys/dev/netif/ti/if_ti.c index 23d6bdf4a4..3f87a166c0 100644 --- a/sys/dev/netif/ti/if_ti.c +++ b/sys/dev/netif/ti/if_ti.c @@ -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); diff --git a/sys/dev/netif/wl/if_wl.c b/sys/dev/netif/wl/if_wl.c index 1152494a09..105cdf5506 100644 --- a/sys/dev/netif/wl/if_wl.c +++ b/sys/dev/netif/wl/if_wl.c @@ -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; diff --git a/sys/dev/netif/xe/if_xe.c b/sys/dev/netif/xe/if_xe.c index 13e2d1d570..95caebe8b5 100644 --- a/sys/dev/netif/xe/if_xe.c +++ b/sys/dev/netif/xe/if_xe.c @@ -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; diff --git a/sys/emulation/linux/linux_ioctl.c b/sys/emulation/linux/linux_ioctl.c index 7eaffc37f7..896d153e32 100644 --- a/sys/emulation/linux/linux_ioctl.c +++ b/sys/emulation/linux/linux_ioctl.c @@ -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 @@ -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) { diff --git a/sys/i386/i386/autoconf.c b/sys/i386/i386/autoconf.c index 580cda4c92..c90f667ddd 100644 --- a/sys/i386/i386/autoconf.c +++ b/sys/i386/i386/autoconf.c @@ -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); diff --git a/sys/net/bpf.c b/sys/net/bpf.c index 9b9777c468..7032f46ae8 100644 --- a/sys/net/bpf.c +++ b/sys/net/bpf.c @@ -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; } diff --git a/sys/net/bridge/bridge.c b/sys/net/bridge/bridge.c index 717199ca2d..85574ffd68 100644 --- a/sys/net/bridge/bridge.c +++ b/sys/net/bridge/bridge.c @@ -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 ; } diff --git a/sys/net/disc/if_disc.c b/sys/net/disc/if_disc.c index dc2172dfba..66e9199acc 100644 --- a/sys/net/disc/if_disc.c +++ b/sys/net/disc/if_disc.c @@ -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; diff --git a/sys/net/dummynet/ip_dummynet.c b/sys/net/dummynet/ip_dummynet.c index 8b043c17c0..15db41058f 100644 --- a/sys/net/dummynet/ip_dummynet.c +++ b/sys/net/dummynet/ip_dummynet.c @@ -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); } diff --git a/sys/net/ef/if_ef.c b/sys/net/ef/if_ef.c index 0dd6244afa..47db9b9fb4 100644 --- a/sys/net/ef/if_ef.c +++ b/sys/net/ef/if_ef.c @@ -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) { diff --git a/sys/net/i4b/driver/i4b_bsdi_ibc.c b/sys/net/i4b/driver/i4b_bsdi_ibc.c index 51d65464b0..0a2fbb57e0 100644 --- a/sys/net/i4b/driver/i4b_bsdi_ibc.c +++ b/sys/net/i4b/driver/i4b_bsdi_ibc.c @@ -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; diff --git a/sys/net/i4b/driver/i4b_ipr.c b/sys/net/i4b/driver/i4b_ipr.c index bccffb2c8f..8d149b7efe 100644 --- a/sys/net/i4b/driver/i4b_ipr.c +++ b/sys/net/i4b/driver/i4b_ipr.c @@ -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] * @@ -143,7 +143,7 @@ #include /* 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__) diff --git a/sys/net/i4b/driver/i4b_isppp.c b/sys/net/i4b/driver/i4b_isppp.c index 7a399d7932..f36516bf30 100644 --- a/sys/net/i4b/driver/i4b_isppp.c +++ b/sys/net/i4b/driver/i4b_isppp.c @@ -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] * @@ -92,10 +92,17 @@ #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; diff --git a/sys/net/if.c b/sys/net/if.c index 4d717e3f3f..c9037d51b7 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -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); diff --git a/sys/net/if_arcsubr.c b/sys/net/if_arcsubr.c index 34c9a06f7e..bb0f1ab8d1 100644 --- a/sys/net/if_arcsubr.c +++ b/sys/net/if_arcsubr.c @@ -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); diff --git a/sys/net/if_atmsubr.c b/sys/net/if_atmsubr.c index 0db32e12d6..3ab81fb058 100644 --- a/sys/net/if_atmsubr.c +++ b/sys/net/if_atmsubr.c @@ -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; diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 2dfc23ea35..36a2f68185 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -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); } diff --git a/sys/net/if_fddisubr.c b/sys/net/if_fddisubr.c index 1dd32c119d..dcd1eba9c6 100644 --- a/sys/net/if_fddisubr.c +++ b/sys/net/if_fddisubr.c @@ -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); } diff --git a/sys/net/if_ieee80211.h b/sys/net/if_ieee80211.h index 4ec7ff77c3..97ea9d54dc 100644 --- a/sys/net/if_ieee80211.h +++ b/sys/net/if_ieee80211.h @@ -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 */ diff --git a/sys/net/if_iso88025subr.c b/sys/net/if_iso88025subr.c index 32b55011f5..87036c998c 100644 --- a/sys/net/if_iso88025subr.c +++ b/sys/net/if_iso88025subr.c @@ -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); } diff --git a/sys/net/if_loop.c b/sys/net/if_loop.c index 275b7b718b..3b4deb7e08 100644 --- a/sys/net/if_loop.c +++ b/sys/net/if_loop.c @@ -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; diff --git a/sys/net/if_media.c b/sys/net/if_media.c index bd3f1dbd01..a18bab5b00 100644 --- a/sys/net/if_media.c +++ b/sys/net/if_media.c @@ -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 diff --git a/sys/net/if_mib.c b/sys/net/if_mib.c index a3b0d26461..ba97f1ab68 100644 --- a/sys/net/if_mib.c +++ b/sys/net/if_mib.c @@ -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 @@ -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); diff --git a/sys/net/if_var.h b/sys/net/if_var.h index 8f9ae91b1e..d453c90f8e 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -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 */ diff --git a/sys/net/ip6fw/ip6_fw.c b/sys/net/ip6fw/ip6_fw.c index 519a3e246a..5fbe9655f4 100644 --- a/sys/net/ip6fw/ip6_fw.c +++ b/sys/net/ip6fw/ip6_fw.c @@ -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; diff --git a/sys/net/ip6fw/ip6_fw.h b/sys/net/ip6fw/ip6_fw.h index 7bbd166743..a4f521d5f3 100644 --- a/sys/net/ip6fw/ip6_fw.h +++ b/sys/net/ip6fw/ip6_fw.h @@ -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; }; diff --git a/sys/net/ip_mroute/ip_mroute.c b/sys/net/ip_mroute/ip_mroute.c index 178b74c418..afc3261fd3 100644 --- a/sys/net/ip_mroute/ip_mroute.c +++ b/sys/net/ip_mroute/ip_mroute.c @@ -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); } diff --git a/sys/net/ipfw/ip_fw.c b/sys/net/ipfw/ip_fw.c index b4a6f09302..58b23dd911 100644 --- a/sys/net/ipfw/ip_fw.c +++ b/sys/net/ipfw/ip_fw.c @@ -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); diff --git a/sys/net/ipfw/ip_fw.h b/sys/net/ipfw/ip_fw.h index 353141cd84..34c7a3bb60 100644 --- a/sys/net/ipfw/ip_fw.h +++ b/sys/net/ipfw/ip_fw.h @@ -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; }; diff --git a/sys/net/ipfw/ip_fw2.c b/sys/net/ipfw/ip_fw2.c index 7fec451663..d544496b2a 100644 --- a/sys/net/ipfw/ip_fw2.c +++ b/sys/net/ipfw/ip_fw2.c @@ -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, diff --git a/sys/net/ipfw/ip_fw2.h b/sys/net/ipfw/ip_fw2.h index 06b85e2c71..1f7cab4cff 100644 --- a/sys/net/ipfw/ip_fw2.h +++ b/sys/net/ipfw/ip_fw2.h @@ -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; diff --git a/sys/net/net_osdep.c b/sys/net/net_osdep.c index 41f21f321b..0c21fe693f 100644 --- a/sys/net/net_osdep.c +++ b/sys/net/net_osdep.c @@ -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; } diff --git a/sys/net/oldbridge/bridge.c b/sys/net/oldbridge/bridge.c index 232f3c2dfc..ad5491e8c5 100644 --- a/sys/net/oldbridge/bridge.c +++ b/sys/net/oldbridge/bridge.c @@ -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 ; } diff --git a/sys/net/ppp/if_ppp.c b/sys/net/ppp/if_ppp.c index 1c3b2e1ed1..ca1d93702b 100644 --- a/sys/net/ppp/if_ppp.c +++ b/sys/net/ppp/if_ppp.c @@ -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; } diff --git a/sys/net/ppp_layer/ppp_tty.c b/sys/net/ppp_layer/ppp_tty.c index 03ed9817f7..8dd179c199 100644 --- a/sys/net/ppp_layer/ppp_tty.c +++ b/sys/net/ppp_layer/ppp_tty.c @@ -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; } diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c index b444e83fc1..89303229c4 100644 --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -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); diff --git a/sys/net/sl/if_sl.c b/sys/net/sl/if_sl.c index 310c59b94a..2dd81cfe59 100644 --- a/sys/net/sl/if_sl.c +++ b/sys/net/sl/if_sl.c @@ -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, diff --git a/sys/net/sppp/if_spppsubr.c b/sys/net/sppp/if_spppsubr.c index 34cad55907..babea2ea15 100644 --- a/sys/net/sppp/if_spppsubr.c +++ b/sys/net/sppp/if_spppsubr.c @@ -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 @@ -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 diff --git a/sys/net/tap/if_tap.c b/sys/net/tap/if_tap.c index 2149bbe63e..9b13b09e5b 100644 --- a/sys/net/tap/if_tap.c +++ b/sys/net/tap/if_tap.c @@ -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); } diff --git a/sys/netgraph/bridge/ng_bridge.c b/sys/netgraph/bridge/ng_bridge.c index 4d60265973..43ba3a75fb 100644 --- a/sys/netgraph/bridge/ng_bridge.c +++ b/sys/netgraph/bridge/ng_bridge.c @@ -37,7 +37,7 @@ * Author: Archie Cobbs * * $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:" diff --git a/sys/netgraph/eiface/ng_eiface.c b/sys/netgraph/eiface/ng_eiface.c index 03d05b11b2..9bbb627824 100644 --- a/sys/netgraph/eiface/ng_eiface.c +++ b/sys/netgraph/eiface/ng_eiface.c @@ -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 @@ -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); diff --git a/sys/netgraph/ether/ng_ether.c b/sys/netgraph/ether/ng_ether.c index 2220f23382..f418418ba3 100644 --- a/sys/netgraph/ether/ng_ether.c +++ b/sys/netgraph/ether/ng_ether.c @@ -38,7 +38,7 @@ * Julian Elischer * * $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); diff --git a/sys/netgraph/fec/ng_fec.c b/sys/netgraph/fec/ng_fec.c index 3de14a4a97..9094c65d6c 100644 --- a/sys/netgraph/fec/ng_fec.c +++ b/sys/netgraph/fec/ng_fec.c @@ -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); } diff --git a/sys/netgraph/iface/ng_iface.c b/sys/netgraph/iface/ng_iface.c index d6db3e0939..342e4de114 100644 --- a/sys/netgraph/iface/ng_iface.c +++ b/sys/netgraph/iface/ng_iface.c @@ -37,7 +37,7 @@ * Author: Archie Cobbs * * $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; } diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c index 1bb91b95cd..7e38b57936 100644 --- a/sys/netinet/if_ether.c +++ b/sys/netinet/if_ether.c @@ -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; } } diff --git a/sys/netinet/ip_divert.c b/sys/netinet/ip_divert.c index ad7c92fc97..49048ddec2 100644 --- a/sys/netinet/ip_divert.c +++ b/sys/netinet/ip_divert.c @@ -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 */ diff --git a/sys/netinet6/ip6_mroute.c b/sys/netinet6/ip6_mroute.c index bcd41c9bb6..ed8f7d5b5e 100644 --- a/sys/netinet6/ip6_mroute.c +++ b/sys/netinet6/ip6_mroute.c @@ -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; diff --git a/sys/netproto/atalk/ddp_output.c b/sys/netproto/atalk/ddp_output.c index f49b941fc7..d647ea1519 100644 --- a/sys/netproto/atalk/ddp_output.c +++ b/sys/netproto/atalk/ddp_output.c @@ -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 #include @@ -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 */ diff --git a/sys/netproto/atm/atm_if.c b/sys/netproto/atm/atm_if.c index 08e51fa071..517cf2b00e 100644 --- a/sys/netproto/atm/atm_if.c +++ b/sys/netproto/atm/atm_if.c @@ -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); } } diff --git a/sys/netproto/atm/atm_socket.c b/sys/netproto/atm/atm_socket.c index 6e7f8d7597..39772e9218 100644 --- a/sys/netproto/atm/atm_socket.c +++ b/sys/netproto/atm/atm_socket.c @@ -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 { diff --git a/sys/netproto/atm/atm_usrreq.c b/sys/netproto/atm/atm_usrreq.c index d95cc84676..f96f5ee48c 100644 --- a/sys/netproto/atm/atm_usrreq.c +++ b/sys/netproto/atm/atm_usrreq.c @@ -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 diff --git a/sys/netproto/atm/ipatm/ipatm_usrreq.c b/sys/netproto/atm/ipatm/ipatm_usrreq.c index 830e22c6e9..d325f9db4c 100644 --- a/sys/netproto/atm/ipatm/ipatm_usrreq.c +++ b/sys/netproto/atm/ipatm/ipatm_usrreq.c @@ -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)) { diff --git a/sys/netproto/atm/spans/spans_arp.c b/sys/netproto/atm/spans/spans_arp.c index 0d84c6fbe4..469247987d 100644 --- a/sys/netproto/atm/spans/spans_arp.c +++ b/sys/netproto/atm/spans/spans_arp.c @@ -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) diff --git a/sys/netproto/atm/uni/uniarp.c b/sys/netproto/atm/uni/uniarp.c index 4339b3deca..4518d74559 100644 --- a/sys/netproto/atm/uni/uniarp.c +++ b/sys/netproto/atm/uni/uniarp.c @@ -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; diff --git a/sys/netproto/ipx/ipx_ip.c b/sys/netproto/ipx/ipx_ip.c index c1e53d9576..b047d2342a 100644 --- a/sys/netproto/ipx/ipx_ip.c +++ b/sys/netproto/ipx/ipx_ip.c @@ -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); diff --git a/sys/netproto/natm/natm.c b/sys/netproto/natm/natm.c index fbbe38be3d..d9ec47a858 100644 --- a/sys/netproto/natm/natm.c +++ b/sys/netproto/natm/natm.c @@ -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), diff --git a/sys/netproto/ns/ns_ip.c b/sys/netproto/ns/ns_ip.c index 53eb36706c..eca97e09e9 100644 --- a/sys/netproto/ns/ns_ip.c +++ b/sys/netproto/ns/ns_ip.c @@ -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); diff --git a/sys/platform/pc32/i386/autoconf.c b/sys/platform/pc32/i386/autoconf.c index 4c124b7984..ae4c5b96cf 100644 --- a/sys/platform/pc32/i386/autoconf.c +++ b/sys/platform/pc32/i386/autoconf.c @@ -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); diff --git a/usr.bin/netstat/if.c b/usr.bin/netstat/if.c index e8eb78148b..6ccb42a6bc 100644 --- a/usr.bin/netstat/if.c +++ b/usr.bin/netstat/if.c @@ -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 @@ -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; diff --git a/usr.bin/netstat/route.c b/usr.bin/netstat/route.c index fd76aeb856..3ba2c5c08c 100644 --- a/usr.bin/netstat/route.c +++ b/usr.bin/netstat/route.c @@ -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 @@ -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) { diff --git a/usr.sbin/ifmcstat/ifmcstat.c b/usr.sbin/ifmcstat/ifmcstat.c index f41a3c9b61..bdf174c346 100644 --- a/usr.sbin/ifmcstat/ifmcstat.c +++ b/usr.sbin/ifmcstat/ifmcstat.c @@ -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; } -- 2.41.0