Author: brooks
Date: Fri Apr 13 21:18:04 2018
New Revision: 332490
URL: https://svnweb.freebsd.org/changeset/base/332490

Log:
  Remove support for the Arcnet protocol.
  
  While Arcnet has some continued deployment in industrial controls, the
  lack of drivers for any of the PCI, USB, or PCIe NICs on the market
  suggests such users aren't running FreeBSD.
  
  Evidence in the PR database suggests that the cm(4) driver (our sole
  Arcnet NIC) was broken in 5.0 and has not worked since.
  
  PR:           182297
  Reviewed by:  jhibbits, vangyzen
  Relnotes:     yes
  Sponsored by: DARPA, AFRL
  Differential Revision:        https://reviews.freebsd.org/D15057

Deleted:
  head/share/man/man4/cm.4
  head/sys/dev/cm/if_cm_isa.c
  head/sys/dev/cm/smc90cx6.c
  head/sys/dev/cm/smc90cx6reg.h
  head/sys/dev/cm/smc90cx6var.h
  head/sys/modules/arcnet/Makefile
  head/sys/modules/cm/Makefile
  head/sys/net/if_arc.h
  head/sys/net/if_arcsubr.c
Modified:
  head/ObsoleteFiles.inc
  head/UPDATING
  head/contrib/bsnmp/snmp_mibII/mibII.c
  head/lib/libc/net/getnameinfo.c
  head/share/man/man4/Makefile
  head/stand/i386/libi386/pxe.h
  head/sys/conf/NOTES
  head/sys/conf/files
  head/sys/conf/files.i386
  head/sys/modules/Makefile
  head/sys/net/if.c
  head/sys/net/if_arp.h
  head/sys/netinet/if_ether.c
  head/sys/netinet6/in6.c
  head/sys/netinet6/in6_ifattach.c
  head/sys/netinet6/nd6.c
  head/sys/netinet6/nd6_nbr.c

Modified: head/ObsoleteFiles.inc
==============================================================================
--- head/ObsoleteFiles.inc      Fri Apr 13 20:30:49 2018        (r332489)
+++ head/ObsoleteFiles.inc      Fri Apr 13 21:18:04 2018        (r332490)
@@ -38,6 +38,9 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20180413: remove Arcnet support
+OLD_FILES+=usr/include/net/if_arc.h
+OLD_FILES+=usr/share/man/man4/cm.4
 # 20180409: remove FDDI support
 OLD_FILES+=usr/include/net/fddi.h
 OLD_FILES+=usr/share/man/man4/fpa.4.gz

Modified: head/UPDATING
==============================================================================
--- head/UPDATING       Fri Apr 13 20:30:49 2018        (r332489)
+++ head/UPDATING       Fri Apr 13 21:18:04 2018        (r332490)
@@ -51,6 +51,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
 
 ****************************** SPECIAL WARNING: ******************************
 
+20180413:
+       Support for Arcnet networks has been removed.  If you have device
+       arcnet or device cm in your kernel config file they must be
+       removed.
+
 20180411:
        Support for FDDI networks has been removed.  If you have device
        fddi or device fpa in your kernel config file they must be

Modified: head/contrib/bsnmp/snmp_mibII/mibII.c
==============================================================================
--- head/contrib/bsnmp/snmp_mibII/mibII.c       Fri Apr 13 20:30:49 2018        
(r332489)
+++ head/contrib/bsnmp/snmp_mibII/mibII.c       Fri Apr 13 21:18:04 2018        
(r332490)
@@ -846,7 +846,6 @@ static void
 check_llbcast(struct mibif *ifp)
 {
        static u_char ether_bcast[6] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
-       static u_char arcnet_bcast = 0;
        struct mibrcvaddr *rcv;
 
        if (!(ifp->mib.ifmd_flags & IFF_BROADCAST))
@@ -860,12 +859,6 @@ check_llbcast(struct mibif *ifp)
          case IFT_L2VLAN:
                if (mib_find_rcvaddr(ifp->index, ether_bcast, 6) == NULL &&
                    (rcv = mib_rcvaddr_create(ifp, ether_bcast, 6)) != NULL)
-                       rcv->flags |= MIBRCVADDR_BCAST;
-               break;
-
-         case IFT_ARCNET:
-               if (mib_find_rcvaddr(ifp->index, &arcnet_bcast, 1) == NULL &&
-                   (rcv = mib_rcvaddr_create(ifp, &arcnet_bcast, 1)) != NULL)
                        rcv->flags |= MIBRCVADDR_BCAST;
                break;
        }

Modified: head/lib/libc/net/getnameinfo.c
==============================================================================
--- head/lib/libc/net/getnameinfo.c     Fri Apr 13 20:30:49 2018        
(r332489)
+++ head/lib/libc/net/getnameinfo.c     Fri Apr 13 21:18:04 2018        
(r332490)
@@ -481,7 +481,6 @@ getnameinfo_link(const struct afd *afd,
         * IFT_OTHER    (netinet/ip_ipip.c)
         */
        /* default below is believed correct for all these. */
-       case IFT_ARCNET:
        case IFT_ETHER:
        case IFT_FDDI:
        case IFT_HIPPI:

Modified: head/share/man/man4/Makefile
==============================================================================
--- head/share/man/man4/Makefile        Fri Apr 13 20:30:49 2018        
(r332489)
+++ head/share/man/man4/Makefile        Fri Apr 13 21:18:04 2018        
(r332490)
@@ -120,7 +120,6 @@ MAN=        aac.4 \
        chromebook_platform.4 \
        ciss.4 \
        cloudabi.4 \
-       cm.4 \
        cmx.4 \
        ${_coretemp.4} \
        ${_cpuctl.4} \

Modified: head/stand/i386/libi386/pxe.h
==============================================================================
--- head/stand/i386/libi386/pxe.h       Fri Apr 13 20:30:49 2018        
(r332489)
+++ head/stand/i386/libi386/pxe.h       Fri Apr 13 21:18:04 2018        
(r332490)
@@ -245,7 +245,6 @@ typedef struct {
 #      define ETHER_TYPE       1
 #      define EXP_ETHER_TYPE   2
 #      define IEEE_TYPE        6
-#      define ARCNET_TYPE      7
 
        uint16_t        HwAddrLen;              /* Length of hardware address */
        MAC_ADDR        CurrentNodeAddress;     /* Current hardware address */

Modified: head/sys/conf/NOTES
==============================================================================
--- head/sys/conf/NOTES Fri Apr 13 20:30:49 2018        (r332489)
+++ head/sys/conf/NOTES Fri Apr 13 21:18:04 2018        (r332490)
@@ -845,9 +845,6 @@ device              wlan_xauth
 device         wlan_acl
 device         wlan_amrr
 
-#  The `arcnet' device provides generic code to support Arcnet.
-device         arcnet
-
 #  The `sppp' device serves a similar role for certain types
 #  of synchronous PPP links (like `cx', `ar').
 device         sppp

Modified: head/sys/conf/files
==============================================================================
--- head/sys/conf/files Fri Apr 13 20:30:49 2018        (r332489)
+++ head/sys/conf/files Fri Apr 13 21:18:04 2018        (r332490)
@@ -1362,7 +1362,6 @@ dev/cfi/cfi_dev.c         optional cfi
 dev/cfi/cfi_disk.c             optional cfid
 dev/chromebook_platform/chromebook_platform.c  optional chromebook_platform
 dev/ciss/ciss.c                        optional ciss
-dev/cm/smc90cx6.c              optional cm
 dev/cmx/cmx.c                  optional cmx
 dev/cmx/cmx_pccard.c           optional cmx pccard
 dev/cpufreq/ichss.c            optional cpufreq pci
@@ -4127,7 +4126,6 @@ net/bridgestp.c                   optional bridge | 
if_bridge
 net/flowtable.c                        optional flowtable inet | flowtable 
inet6
 net/ieee8023ad_lacp.c          optional lagg
 net/if.c                       standard
-net/if_arcsubr.c               optional arcnet
 net/if_bridge.c                        optional bridge inet | if_bridge inet
 net/if_clone.c                 standard
 net/if_dead.c                  standard

Modified: head/sys/conf/files.i386
==============================================================================
--- head/sys/conf/files.i386    Fri Apr 13 20:30:49 2018        (r332489)
+++ head/sys/conf/files.i386    Fri Apr 13 21:18:04 2018        (r332490)
@@ -185,7 +185,6 @@ dev/ce/ceddk.c                      optional ce
 dev/ce/if_ce.c                 optional ce
 dev/ce/tau32-ddk.c             optional ce \
        compile-with "${NORMAL_C} ${NO_WCONSTANT_CONVERSION}"
-dev/cm/if_cm_isa.c             optional cm isa
 dev/coretemp/coretemp.c                optional coretemp
 dev/cp/cpddk.c                 optional cp
 dev/cp/if_cp.c                 optional cp

Modified: head/sys/modules/Makefile
==============================================================================
--- head/sys/modules/Makefile   Fri Apr 13 20:30:49 2018        (r332489)
+++ head/sys/modules/Makefile   Fri Apr 13 21:18:04 2018        (r332490)
@@ -42,7 +42,6 @@ SUBDIR=       \
        ${_aout} \
        ${_apm} \
        ${_arcmsr} \
-       ${_arcnet} \
        ${_armv8crypto} \
        ${_asmc} \
        ata \
@@ -92,7 +91,6 @@ SUBDIR=       \
        cloudabi \
        ${_cloudabi32} \
        ${_cloudabi64} \
-       ${_cm} \
        ${_cmx} \
        ${_coff} \
        ${_coretemp} \
@@ -744,7 +742,6 @@ _3dfx=              3dfx
 _3dfx_linux=   3dfx_linux
 _aic=          aic
 _apm=          apm
-_arcnet=       arcnet
 .if ${MK_SOURCELESS_UCODE} != "no"
 _ce=           ce
 .endif
@@ -763,7 +760,6 @@ _pcfclock=  pcfclock
 _pst=          pst
 _sbni=         sbni
 _stg=          stg
-_cm=           cm
 .if ${MK_SOURCELESS_UCODE} != "no"
 _ctau=         ctau
 .endif

Modified: head/sys/net/if.c
==============================================================================
--- head/sys/net/if.c   Fri Apr 13 20:30:49 2018        (r332489)
+++ head/sys/net/if.c   Fri Apr 13 21:18:04 2018        (r332490)
@@ -3695,7 +3695,6 @@ if_setlladdr(struct ifnet *ifp, const u_char *lladdr, 
        case IFT_XETHER:
        case IFT_L2VLAN:
        case IFT_BRIDGE:
-       case IFT_ARCNET:
        case IFT_IEEE8023ADLAG:
                bcopy(lladdr, LLADDR(sdl), len);
                ifa_free(ifa);

Modified: head/sys/net/if_arp.h
==============================================================================
--- head/sys/net/if_arp.h       Fri Apr 13 20:30:49 2018        (r332489)
+++ head/sys/net/if_arp.h       Fri Apr 13 21:18:04 2018        (r332490)
@@ -49,7 +49,6 @@ struct        arphdr {
        u_short ar_hrd;         /* format of hardware address */
 #define ARPHRD_ETHER   1       /* ethernet hardware format */
 #define ARPHRD_IEEE802 6       /* token-ring hardware format */
-#define ARPHRD_ARCNET  7       /* arcnet hardware format */
 #define ARPHRD_FRELAY  15      /* frame relay hardware format */
 #define ARPHRD_IEEE1394        24      /* firewire hardware format */
 #define ARPHRD_INFINIBAND 32   /* infiniband hardware format */

Modified: head/sys/netinet/if_ether.c
==============================================================================
--- head/sys/netinet/if_ether.c Fri Apr 13 20:30:49 2018        (r332489)
+++ head/sys/netinet/if_ether.c Fri Apr 13 21:18:04 2018        (r332490)
@@ -694,10 +694,6 @@ arpintr(struct mbuf *m)
                hlen = ETHER_ADDR_LEN; /* RFC 826 */
                layer = "ethernet";
                break;
-       case ARPHRD_ARCNET:
-               hlen = 1; /* RFC 1201, ARC_ADDR_LEN */
-               layer = "arcnet";
-               break;
        case ARPHRD_INFINIBAND:
                hlen = 20;      /* RFC 4391, INFINIBAND_ALEN */ 
                layer = "infiniband";

Modified: head/sys/netinet6/in6.c
==============================================================================
--- head/sys/netinet6/in6.c     Fri Apr 13 20:30:49 2018        (r332489)
+++ head/sys/netinet6/in6.c     Fri Apr 13 21:18:04 2018        (r332490)
@@ -1974,8 +1974,6 @@ in6_if2idlen(struct ifnet *ifp)
                return (64);
        case IFT_PPP:           /* RFC2472 */
                return (64);
-       case IFT_ARCNET:        /* RFC2497 */
-               return (64);
        case IFT_FRELAY:        /* RFC2590 */
                return (64);
        case IFT_IEEE1394:      /* RFC3146 */

Modified: head/sys/netinet6/in6_ifattach.c
==============================================================================
--- head/sys/netinet6/in6_ifattach.c    Fri Apr 13 20:30:49 2018        
(r332489)
+++ head/sys/netinet6/in6_ifattach.c    Fri Apr 13 21:18:04 2018        
(r332490)
@@ -316,26 +316,6 @@ found:
                }
                break;
 
-       case IFT_ARCNET:
-               if (addrlen != 1) {
-                       IF_ADDR_RUNLOCK(ifp);
-                       return -1;
-               }
-               if (!addr[0]) {
-                       IF_ADDR_RUNLOCK(ifp);
-                       return -1;
-               }
-
-               bzero(&in6->s6_addr[8], 8);
-               in6->s6_addr[15] = addr[0];
-
-               /*
-                * due to insufficient bitwidth, we mark it local.
-                */
-               in6->s6_addr[8] &= ~EUI64_GBIT; /* g bit to "individual" */
-               in6->s6_addr[8] |= EUI64_UBIT;  /* u bit to "local" */
-               break;
-
        case IFT_GIF:
        case IFT_STF:
                /*

Modified: head/sys/netinet6/nd6.c
==============================================================================
--- head/sys/netinet6/nd6.c     Fri Apr 13 20:30:49 2018        (r332489)
+++ head/sys/netinet6/nd6.c     Fri Apr 13 21:18:04 2018        (r332490)
@@ -58,7 +58,6 @@ __FBSDID("$FreeBSD$");
 
 #include <net/if.h>
 #include <net/if_var.h>
-#include <net/if_arc.h>
 #include <net/if_dl.h>
 #include <net/if_types.h>
 #include <net/route.h>
@@ -334,16 +333,8 @@ nd6_setmtu0(struct ifnet *ifp, struct nd_ifinfo *ndi)
        u_int32_t omaxmtu;
 
        omaxmtu = ndi->maxmtu;
+       ndi->maxmtu = ifp->if_mtu;
 
-       switch (ifp->if_type) {
-       case IFT_ARCNET:
-               ndi->maxmtu = MIN(ARC_PHDS_MAXMTU, ifp->if_mtu); /* RFC2497 */
-               break;
-       default:
-               ndi->maxmtu = ifp->if_mtu;
-               break;
-       }
-
        /*
         * Decreasing the interface MTU under IPV6 minimum MTU may cause
         * undesirable situation.  We thus notify the operator of the change
@@ -2519,13 +2510,12 @@ nd6_need_cache(struct ifnet *ifp)
 {
        /*
         * XXX: we currently do not make neighbor cache on any interface
-        * other than ARCnet, Ethernet and GIF.
+        * other than Ethernet and GIF.
         *
         * RFC2893 says:
         * - unidirectional tunnels needs no ND
         */
        switch (ifp->if_type) {
-       case IFT_ARCNET:
        case IFT_ETHER:
        case IFT_IEEE1394:
        case IFT_L2VLAN:

Modified: head/sys/netinet6/nd6_nbr.c
==============================================================================
--- head/sys/netinet6/nd6_nbr.c Fri Apr 13 20:30:49 2018        (r332489)
+++ head/sys/netinet6/nd6_nbr.c Fri Apr 13 21:18:04 2018        (r332490)
@@ -1090,7 +1090,6 @@ caddr_t
 nd6_ifptomac(struct ifnet *ifp)
 {
        switch (ifp->if_type) {
-       case IFT_ARCNET:
        case IFT_ETHER:
        case IFT_IEEE1394:
        case IFT_L2VLAN:
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to