Ticket #1032: shpreamble-r1823.2.diff
| File shpreamble-r1823.2.diff, 3.8 kB (added by jirif, 2 years ago) |
|---|
-
net80211/ieee80211_ioctl.h
old new 598 598 IEEE80211_PARAM_MARKDFS = 58, /* mark a dfs interference channel when found */ 599 599 IEEE80211_PARAM_REGCLASS = 59, /* enable regclass ids in country IE */ 600 600 IEEE80211_PARAM_DROPUNENC_EAPOL = 60, /* drop unencrypted eapol frames */ 601 IEEE80211_PARAM_SHPREAMBLE = 61, /* Short Preamble */ 601 602 }; 602 603 603 604 #define SIOCG80211STATS (SIOCDEVPRIVATE+2) -
net80211/ieee80211_node.c
old new 1845 1845 "%s%s%s%s%s%s%s", 1846 1846 newassoc ? "" : "re", 1847 1847 IEEE80211_NODE_AID(ni), 1848 ic->ic_flags & IEEE80211_F_SHPREAMBLE ? "short" : "long", 1848 (ic->ic_flags & IEEE80211_F_SHPREAMBLE) && 1849 (ni->ni_capinfo & IEEE80211_CAPINFO_SHORT_PREAMBLE) ? "short" : "long", 1849 1850 ic->ic_flags & IEEE80211_F_SHSLOT ? "short" : "long", 1850 1851 ic->ic_flags & IEEE80211_F_USEPROT ? ", protection" : "", 1851 1852 ni->ni_flags & IEEE80211_NODE_QOS ? ", QoS" : "", -
net80211/ieee80211_wireless.c
old new 2369 2369 ic->ic_flags &= ~IEEE80211_F_DOTH; 2370 2370 retv = ENETRESET; /* XXX: need something this drastic? */ 2371 2371 break; 2372 case IEEE80211_PARAM_SHPREAMBLE: 2373 if (value) { 2374 ic->ic_caps |= IEEE80211_C_SHPREAMBLE; 2375 ic->ic_flags |= IEEE80211_F_SHPREAMBLE; 2376 ic->ic_flags &= ~IEEE80211_F_USEBARKER; 2377 } else { 2378 ic->ic_caps &= ~IEEE80211_C_SHPREAMBLE; 2379 ic->ic_flags &= ~IEEE80211_F_SHPREAMBLE; 2380 ic->ic_flags |= IEEE80211_F_USEBARKER; 2381 } 2382 retv = ENETRESET; /* requires restart */ 2383 break; 2372 2384 case IEEE80211_PARAM_PWRTARGET: 2373 2385 ic->ic_curchanmaxpwr = value; 2374 2386 break; … … 2765 2777 case IEEE80211_PARAM_DOTH: 2766 2778 param[0] = (ic->ic_flags & IEEE80211_F_DOTH) != 0; 2767 2779 break; 2780 case IEEE80211_PARAM_SHPREAMBLE: 2781 param[0] = (ic->ic_caps & IEEE80211_C_SHPREAMBLE) != 0; 2782 break; 2768 2783 case IEEE80211_PARAM_PWRTARGET: 2769 2784 param[0] = ic->ic_curchanmaxpwr; 2770 2785 break; … … 5079 5094 IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "dropunenceapol" }, 5080 5095 { IEEE80211_PARAM_DROPUNENC_EAPOL, 5081 5096 0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "get_dropunencea" }, 5097 { IEEE80211_PARAM_SHPREAMBLE, 5098 IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "shpreamble" }, 5099 { IEEE80211_PARAM_SHPREAMBLE, 5100 0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "get_shpreamble" }, 5082 5101 /* 5083 5102 * NB: these should be roamrssi* etc, but iwpriv usurps all 5084 5103 * strings that start with roam! -
net80211/ieee80211_input.c
old new 3469 3469 * XXX may need different/additional driver callbacks? 3470 3470 */ 3471 3471 if (IEEE80211_IS_CHAN_A(ic->ic_curchan) || 3472 (ni->ni_capinfo & IEEE80211_CAPINFO_SHORT_PREAMBLE)) { 3472 ((ni->ni_capinfo & IEEE80211_CAPINFO_SHORT_PREAMBLE) && 3473 (ic->ic_caps & IEEE80211_C_SHPREAMBLE))) { 3473 3474 ic->ic_flags |= IEEE80211_F_SHPREAMBLE; 3474 3475 ic->ic_flags &= ~IEEE80211_F_USEBARKER; 3475 3476 } else { … … 3494 3495 IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_ASSOC, wh->i_addr2, 3495 3496 "%sassoc success: %s preamble, %s slot time%s%s%s%s%s%s%s", 3496 3497 ISREASSOC(subtype) ? "re" : "", 3497 ic->ic_flags&IEEE80211_F_SHPREAMBLE ? "short" : "long", 3498 (ic->ic_flags&IEEE80211_F_SHPREAMBLE) && 3499 (ni->ni_capinfo & IEEE80211_CAPINFO_SHORT_PREAMBLE) ? "short" : "long", 3498 3500 ic->ic_flags&IEEE80211_F_SHSLOT ? "short" : "long", 3499 3501 ic->ic_flags&IEEE80211_F_USEPROT ? ", protection" : "", 3500 3502 ni->ni_flags & IEEE80211_NODE_QOS ? ", QoS" : "",
