1STRUCT IEEE80211_RX_(9) The basic mac80211 driver inte STRUCT IEEE80211_RX_(9)
2
3
4
6 struct_ieee80211_rx_status - receive status
7
9 struct ieee80211_rx_status {
10 u64 mactime;
11 u64 boottime_ns;
12 u32 device_timestamp;
13 u32 ampdu_reference;
14 u32 flag;
15 u16 freq;
16 u8 enc_flags;
17 u8 encoding:2;
18 u8 bw:3;
19 u8 rate_idx;
20 u8 nss;
21 u8 rx_flags;
22 u8 band;
23 u8 antenna;
24 s8 signal;
25 u8 chains;
26 s8 chain_signal[IEEE80211_MAX_CHAINS];
27 u8 ampdu_delimiter_crc;
28 };
29
31 mactime
32 value in microseconds of the 64-bit Time Synchronization Function
33 (TSF) timer when the first data symbol (MPDU) arrived at the
34 hardware.
35
36 boottime_ns
37 CLOCK_BOOTTIME timestamp the frame was received at, this is needed
38 only for beacons and probe responses that update the scan cache.
39
40 device_timestamp
41 arbitrary timestamp for the device, mac80211 doesn't use it but can
42 store it and pass it back to the driver for synchronisation
43
44 ampdu_reference
45 A-MPDU reference number, must be a different value for each A-MPDU
46 but the same for each subframe within one A-MPDU
47
48 flag
49 RX_FLAG_\*
50
51 freq
52 frequency the radio was tuned to when receiving this frame, in MHz
53 This field must be set for management frames, but isn't strictly
54 needed for data (other) frames - for those it only affects radiotap
55 reporting.
56
57 enc_flags
58 uses bits from enum mac80211_rx_encoding_flags
59
60 encoding
61 enum mac80211_rx_encoding
62
63 bw
64 enum rate_info_bw
65
66 rate_idx
67 index of data rate into band's supported rates or MCS index if HT
68 or VHT is used (RX_FLAG_HT/RX_FLAG_VHT)
69
70 nss
71 number of streams (VHT and HE only)
72
73 rx_flags
74 internal RX flags for mac80211
75
76 band
77 the active band when this frame was received
78
79 antenna
80 antenna used
81
82 signal
83 signal strength when receiving this frame, either in dBm, in dB or
84 unspecified depending on the hardware capabilities flags
85 IEEE80211_HW_SIGNAL_*
86
87 chains
88 bitmask of receive chains for which separate signal strength values
89 were filled.
90
91 chain_signal[IEEE80211_MAX_CHAINS]
92 per-chain signal strength, in dBm (unlike signal, doesn't support
93 dB or unspecified units)
94
95 ampdu_delimiter_crc
96 A-MPDU delimiter CRC
97
99 The low-level driver should provide this information (the subset
100 supported by hardware) to the 802.11 code with each received frame, in
101 the skb's control buffer (cb).
102
104 Johannes Berg <johannes@sipsolutions.net>
105 Author.
106
108Kernel Hackers Manual 3.10 June 2019 STRUCT IEEE80211_RX_(9)