Index: ieee80211_output.c =================================================================== RCS file: /cvs/src/sys/net80211/ieee80211_output.c,v retrieving revision 1.122 diff -u -p -r1.122 ieee80211_output.c --- ieee80211_output.c 14 Dec 2017 18:52:17 -0000 1.122 +++ ieee80211_output.c 19 Dec 2017 02:48:47 -0000 @@ -607,9 +607,10 @@ ieee80211_encap(struct ifnet *ifp, struc goto bad; } - if ((ic->ic_flags & IEEE80211_F_WEPON) || + if (!ISSET(m->m_flags, M_LINK0) && + ((ic->ic_flags & IEEE80211_F_WEPON) || ((ic->ic_flags & IEEE80211_F_RSNON) && - (ni->ni_flags & IEEE80211_NODE_TXPROT))) + (ni->ni_flags & IEEE80211_NODE_TXPROT)))) wh->i_fc[1] |= IEEE80211_FC1_PROTECTED; #ifndef IEEE80211_STA_ONLY Index: ieee80211_pae_output.c =================================================================== RCS file: /cvs/src/sys/net80211/ieee80211_pae_output.c,v retrieving revision 1.29 diff -u -p -r1.29 ieee80211_pae_output.c --- ieee80211_pae_output.c 1 Mar 2017 19:28:48 -0000 1.29 +++ ieee80211_pae_output.c 19 Dec 2017 02:48:47 -0000 @@ -123,6 +123,7 @@ ieee80211_send_eapol_key(struct ieee8021 if (info & EAPOL_KEY_KEYACK) timeout_add_msec(&ni->ni_eapol_to, 100); #endif + SET(m->m_flags, M_LINK0); return if_enqueue(ifp, m); }