MCPcopy Create free account
hub / github.com/F-Stack/f-stack / ieee80211_ht_updateparams

Function ieee80211_ht_updateparams

freebsd/net80211/ieee80211_ht.c:1902–1930  ·  view source on GitHub ↗

* Parse and update HT-related state extracted from * the HT cap and info ie's. * * This is called from the STA management path and * the ieee80211_node_join() path. It will take into * account the IEs discovered during scanning and * adjust things accordingly. */

Source from the content-addressed store, hash-verified

1900 * adjust things accordingly.
1901 */
1902void
1903ieee80211_ht_updateparams(struct ieee80211_node *ni,
1904 const uint8_t *htcapie, const uint8_t *htinfoie)
1905{
1906 struct ieee80211vap *vap = ni->ni_vap;
1907 const struct ieee80211_ie_htinfo *htinfo;
1908
1909 ieee80211_parse_htcap(ni, htcapie);
1910 if (vap->iv_htcaps & IEEE80211_HTC_SMPS)
1911 htcap_update_mimo_ps(ni);
1912 htcap_update_shortgi(ni);
1913 htcap_update_ldpc(ni);
1914
1915 if (htinfoie[0] == IEEE80211_ELEMID_VENDOR)
1916 htinfoie += 4;
1917 htinfo = (const struct ieee80211_ie_htinfo *) htinfoie;
1918 htinfo_parse(ni, htinfo);
1919
1920 /*
1921 * Defer the node channel change; we need to now
1922 * update VHT parameters before we do it.
1923 */
1924
1925 if ((htinfo->hi_byte1 & IEEE80211_HTINFO_RIFSMODE_PERM) &&
1926 (vap->iv_flags_ht & IEEE80211_FHT_RIFS))
1927 ni->ni_flags |= IEEE80211_NODE_RIFS;
1928 else
1929 ni->ni_flags &= ~IEEE80211_NODE_RIFS;
1930}
1931
1932static uint32_t
1933ieee80211_vht_get_vhtflags(struct ieee80211_node *ni, uint32_t htflags)

Callers 4

sta_recv_mgmtFunction · 0.85
adhoc_recv_mgmtFunction · 0.85
ieee80211_sta_joinFunction · 0.85
ieee80211_init_neighborFunction · 0.85

Calls 5

ieee80211_parse_htcapFunction · 0.85
htcap_update_mimo_psFunction · 0.85
htcap_update_shortgiFunction · 0.85
htcap_update_ldpcFunction · 0.85
htinfo_parseFunction · 0.85

Tested by

no test coverage detected