Scroll to navigation

STRUCT IEEE80211_RX_(9) The basic mac80211 driver inte STRUCT IEEE80211_RX_(9)

NAME

struct_ieee80211_rx_status - receive status

SYNOPSIS

struct ieee80211_rx_status {

u64 mactime;
u64 boottime_ns;
u32 device_timestamp;
u32 ampdu_reference;
u32 flag;
u16 freq;
u8 enc_flags;
u8 encoding:2;
u8 bw:3;
u8 he_ru:3;
u8 he_gi:2;
u8 he_dcm:1;
u8 rate_idx;
u8 nss;
u8 rx_flags;
u8 band;
u8 antenna;
s8 signal;
u8 chains;
s8 chain_signal[IEEE80211_MAX_CHAINS];
u8 ampdu_delimiter_crc;
u8 zero_length_psdu_type; };

MEMBERS

mactime

value in microseconds of the 64-bit Time Synchronization Function (TSF) timer when the first data symbol (MPDU) arrived at the hardware.

boottime_ns

CLOCK_BOOTTIME timestamp the frame was received at, this is needed only for beacons and probe responses that update the scan cache.

device_timestamp

arbitrary timestamp for the device, mac80211 doesn't use it but can store it and pass it back to the driver for synchronisation

ampdu_reference

A-MPDU reference number, must be a different value for each A-MPDU but the same for each subframe within one A-MPDU

flag

RX_FLAG_\*

freq

frequency the radio was tuned to when receiving this frame, in MHz This field must be set for management frames, but isn't strictly needed for data (other) frames - for those it only affects radiotap reporting.

enc_flags

uses bits from enum mac80211_rx_encoding_flags

encoding

enum mac80211_rx_encoding

bw

enum rate_info_bw

he_ru

HE RU, from enum nl80211_he_ru_alloc

he_gi

HE GI, from enum nl80211_he_gi

he_dcm

HE DCM value

rate_idx

index of data rate into band's supported rates or MCS index if HT or VHT is used (RX_FLAG_HT/RX_FLAG_VHT)

nss

number of streams (VHT and HE only)

rx_flags

internal RX flags for mac80211

band

the active band when this frame was received

antenna

antenna used

signal

signal strength when receiving this frame, either in dBm, in dB or unspecified depending on the hardware capabilities flags IEEE80211_HW_SIGNAL_*

chains

bitmask of receive chains for which separate signal strength values were filled.

chain_signal[IEEE80211_MAX_CHAINS]

per-chain signal strength, in dBm (unlike signal, doesn't support dB or unspecified units)

ampdu_delimiter_crc

A-MPDU delimiter CRC

zero_length_psdu_type

radiotap type of the 0-length PSDU

DESCRIPTION

The low-level driver should provide this information (the subset supported by hardware) to the 802.11 code with each received frame, in the skb's control buffer (cb).

AUTHOR

Johannes Berg <johannes@sipsolutions.net>

Author.

COPYRIGHT

June 2023 Kernel Hackers Manual 3.10