Index: net/ethertypes.h =================================================================== RCS file: /cvs/src/sys/net/ethertypes.h,v retrieving revision 1.14 diff -u -p -r1.14 ethertypes.h --- net/ethertypes.h 10 Mar 2021 10:21:47 -0000 1.14 +++ net/ethertypes.h 4 Jan 2022 03:42:23 -0000 @@ -96,6 +96,7 @@ #define ETHERTYPE_VALID 0x1600 /* VALID system protocol */ #define ETHERTYPE_DOGFIGHT 0x1989 /* Artificial Horizons ("Aviator" dogfight simulator [on Sun]) */ #define ETHERTYPE_RCL 0x1995 /* Datapoint Corporation (RCL lan protocol) */ +#define ETHERTYPE_NHRP 0x2001 /* NBMA Next Hop Resolution Protocol (RFC2332) */ /* The following 3C0x types are unregistered: */ @@ -298,12 +299,13 @@ #define ETHERTYPE_PPPOEDISC 0x8863 /* PPP Over Ethernet Discovery Stage */ #define ETHERTYPE_PPPOE 0x8864 /* PPP Over Ethernet Session Stage */ #define ETHERTYPE_LANPROBE 0x8888 /* HP LanProbe test? */ -#define ETHERTYPE_PAE 0x888E /* 802.1X Port Access Entity */ +#define ETHERTYPE_EAPOL 0x888E /* 802.1X EAP over LAN */ #define ETHERTYPE_AOE 0x88A2 /* ATA over Ethernet */ #define ETHERTYPE_QINQ 0x88A8 /* 802.1ad VLAN stacking */ #define ETHERTYPE_LLDP 0x88CC /* Link Layer Discovery Protocol */ #define ETHERTYPE_MACSEC 0x88e5 /* 802.1AE MACsec */ #define ETHERTYPE_PBB 0x88e7 /* 802.1Q Provider Backbone Bridging */ +#define ETHERTYPE_NSH 0x984F /* Network Service Header */ #define ETHERTYPE_LOOPBACK 0x9000 /* Loopback */ #define ETHERTYPE_LBACK ETHERTYPE_LOOPBACK /* DEC MOP loopback */ #define ETHERTYPE_XNSSM 0x9001 /* 3Com (Formerly Bridge Communications), XNS Systems Management */ Index: dev/ic/bwfm.c =================================================================== RCS file: /cvs/src/sys/dev/ic/bwfm.c,v retrieving revision 1.92 diff -u -p -r1.92 bwfm.c --- dev/ic/bwfm.c 22 Dec 2021 19:37:33 -0000 1.92 +++ dev/ic/bwfm.c 4 Jan 2022 03:42:23 -0000 @@ -2241,7 +2241,7 @@ bwfm_rx(struct bwfm_softc *sc, struct mb if ((ic->ic_flags & IEEE80211_F_RSNON) && m->m_len >= sizeof(e->ehdr) && - ntohs(e->ehdr.ether_type) == ETHERTYPE_PAE) { + ntohs(e->ehdr.ether_type) == ETHERTYPE_EAPOL) { ifp->if_ipackets++; #if NBPFILTER > 0 if (ifp->if_bpf) Index: net80211/ieee80211_input.c =================================================================== RCS file: /cvs/src/sys/net80211/ieee80211_input.c,v retrieving revision 1.240 diff -u -p -r1.240 ieee80211_input.c --- net80211/ieee80211_input.c 3 Dec 2021 12:40:15 -0000 1.240 +++ net80211/ieee80211_input.c 4 Jan 2022 03:42:23 -0000 @@ -1053,7 +1053,7 @@ ieee80211_enqueue_data(struct ieee80211c eh = mtod(m, struct ether_header *); if ((ic->ic_flags & IEEE80211_F_RSNON) && !ni->ni_port_valid && - eh->ether_type != htons(ETHERTYPE_PAE)) { + eh->ether_type != htons(ETHERTYPE_EAPOL)) { DPRINTF(("port not valid: %s\n", ether_sprintf(eh->ether_dhost))); ic->ic_stats.is_rx_unauth++; @@ -1070,7 +1070,7 @@ ieee80211_enqueue_data(struct ieee80211c #ifndef IEEE80211_STA_ONLY if (ic->ic_opmode == IEEE80211_M_HOSTAP && !(ic->ic_userflags & IEEE80211_F_NOBRIDGE) && - eh->ether_type != htons(ETHERTYPE_PAE)) { + eh->ether_type != htons(ETHERTYPE_EAPOL)) { struct ieee80211_node *ni1; if (ETHER_IS_MULTICAST(eh->ether_dhost)) { @@ -1095,7 +1095,7 @@ ieee80211_enqueue_data(struct ieee80211c #endif if (m != NULL) { if ((ic->ic_flags & IEEE80211_F_RSNON) && - eh->ether_type == htons(ETHERTYPE_PAE)) { + eh->ether_type == htons(ETHERTYPE_EAPOL)) { ifp->if_ipackets++; #if NBPFILTER > 0 /* Index: net80211/ieee80211_output.c =================================================================== RCS file: /cvs/src/sys/net80211/ieee80211_output.c,v retrieving revision 1.135 diff -u -p -r1.135 ieee80211_output.c --- net80211/ieee80211_output.c 8 Sep 2021 11:40:30 -0000 1.135 +++ net80211/ieee80211_output.c 4 Jan 2022 03:42:23 -0000 @@ -584,7 +584,7 @@ ieee80211_encap(struct ifnet *ifp, struc if ((ic->ic_flags & IEEE80211_F_RSNON) && !ni->ni_port_valid && - eh.ether_type != htons(ETHERTYPE_PAE)) { + eh.ether_type != htons(ETHERTYPE_EAPOL)) { DPRINTF(("port not valid: %s\n", ether_sprintf(eh.ether_dhost))); ic->ic_stats.is_tx_noauth++; @@ -600,7 +600,7 @@ ieee80211_encap(struct ifnet *ifp, struc if ((ic->ic_flags & IEEE80211_F_QOS) && (ni->ni_flags & IEEE80211_NODE_QOS) && /* do not QoS-encapsulate EAPOL frames */ - eh.ether_type != htons(ETHERTYPE_PAE)) { + eh.ether_type != htons(ETHERTYPE_EAPOL)) { struct ieee80211_tx_ba *ba; tid = ieee80211_classify(ic, m); ba = &ni->ni_tx_ba[tid]; Index: net80211/ieee80211_pae_output.c =================================================================== RCS file: /cvs/src/sys/net80211/ieee80211_pae_output.c,v retrieving revision 1.32 diff -u -p -r1.32 ieee80211_pae_output.c --- net80211/ieee80211_pae_output.c 10 Jul 2020 13:22:22 -0000 1.32 +++ net80211/ieee80211_pae_output.c 4 Jan 2022 03:42:23 -0000 @@ -73,7 +73,7 @@ ieee80211_send_eapol_key(struct ieee8021 return ENOMEM; /* no need to m_pullup here (ok by construction) */ eh = mtod(m, struct ether_header *); - eh->ether_type = htons(ETHERTYPE_PAE); + eh->ether_type = htons(ETHERTYPE_EAPOL); IEEE80211_ADDR_COPY(eh->ether_shost, ic->ic_myaddr); IEEE80211_ADDR_COPY(eh->ether_dhost, ni->ni_macaddr);