---
name: "enum_mac80211_rx_flags"
section: "9"
platform: "linux"
package: "linux-manual-3.16"
version: "3.16.56-1+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/enum_mac80211_rx_flags"
---

# enum\_mac80211\_rx\_flags(9)

receive flags

## NAME

enum\_mac80211\_rx\_flags - receive flags

## SYNOPSIS

```
enum mac80211_rx_flags {
  RX_FLAG_MMIC_ERROR,
  RX_FLAG_DECRYPTED,
  RX_FLAG_MMIC_STRIPPED,
  RX_FLAG_IV_STRIPPED,
  RX_FLAG_FAILED_FCS_CRC,
  RX_FLAG_FAILED_PLCP_CRC,
  RX_FLAG_MACTIME_START,
  RX_FLAG_SHORTPRE,
  RX_FLAG_HT,
  RX_FLAG_40MHZ,
  RX_FLAG_SHORT_GI,
  RX_FLAG_NO_SIGNAL_VAL,
  RX_FLAG_HT_GF,
  RX_FLAG_AMPDU_DETAILS,
  RX_FLAG_AMPDU_REPORT_ZEROLEN,
  RX_FLAG_AMPDU_IS_ZEROLEN,
  RX_FLAG_AMPDU_LAST_KNOWN,
  RX_FLAG_AMPDU_IS_LAST,
  RX_FLAG_AMPDU_DELIM_CRC_ERROR,
  RX_FLAG_AMPDU_DELIM_CRC_KNOWN,
  RX_FLAG_MACTIME_END,
  RX_FLAG_VHT,
  RX_FLAG_LDPC,
  RX_FLAG_STBC_MASK,
  RX_FLAG_10MHZ,
  RX_FLAG_5MHZ,
  RX_FLAG_AMSDU_MORE
};
```

## CONSTANTS

RX\_FLAG\_MMIC\_ERROR

Michael MIC error was reported on this frame. Use together with **RX\_FLAG\_MMIC\_STRIPPED**.

RX\_FLAG\_DECRYPTED

This frame was decrypted in hardware.

RX\_FLAG\_MMIC\_STRIPPED

the Michael MIC is stripped off this frame, verification has been done by the hardware.

RX\_FLAG\_IV\_STRIPPED

The IV/ICV are stripped from this frame. If this flag is set, the stack cannot do any replay detection hence the driver or hardware will have to do that.

RX\_FLAG\_FAILED\_FCS\_CRC

Set this flag if the FCS check failed on the frame.

RX\_FLAG\_FAILED\_PLCP\_CRC

Set this flag if the PCLP check failed on the frame.

RX\_FLAG\_MACTIME\_START

The timestamp passed in the RX status (*mactime* field) is valid and contains the time the first symbol of the MPDU was received. This is useful in monitor mode and for proper IBSS merging.

RX\_FLAG\_SHORTPRE

Short preamble was used for this frame

RX\_FLAG\_HT

HT MCS was used and rate\_idx is MCS index

RX\_FLAG\_40MHZ

HT40 (40 MHz) was used

RX\_FLAG\_SHORT\_GI

Short guard interval was used

RX\_FLAG\_NO\_SIGNAL\_VAL

The signal strength value is not present. Valid only for data frames (mainly A-MPDU)

RX\_FLAG\_HT\_GF

This frame was received in a HT-greenfield transmission, if the driver fills this value it should add **IEEE80211\_RADIOTAP\_MCS\_HAVE\_FMT** to hw.radiotap\_mcs\_details to advertise that fact

RX\_FLAG\_AMPDU\_DETAILS

A-MPDU details are known, in particular the reference number (*ampdu\_reference*) must be populated and be a distinct number for each A-MPDU

RX\_FLAG\_AMPDU\_REPORT\_ZEROLEN

driver reports 0-length subframes

RX\_FLAG\_AMPDU\_IS\_ZEROLEN

This is a zero-length subframe, for monitoring purposes only

RX\_FLAG\_AMPDU\_LAST\_KNOWN

last subframe is known, should be set on all subframes of a single A-MPDU

RX\_FLAG\_AMPDU\_IS\_LAST

this subframe is the last subframe of the A-MPDU

RX\_FLAG\_AMPDU\_DELIM\_CRC\_ERROR

A delimiter CRC error has been detected on this subframe

RX\_FLAG\_AMPDU\_DELIM\_CRC\_KNOWN

The delimiter CRC field is known (the CRC is stored in the *ampdu\_delimiter\_crc* field)

RX\_FLAG\_MACTIME\_END

The timestamp passed in the RX status (*mactime* field) is valid and contains the time the last symbol of the MPDU (including FCS) was received.

RX\_FLAG\_VHT

VHT MCS was used and rate\_index is MCS index

RX\_FLAG\_LDPC

LDPC was used

RX\_FLAG\_STBC\_MASK

STBC 2 bit bitmask. 1 - Nss=1, 2 - Nss=2, 3 - Nss=3

RX\_FLAG\_10MHZ

10 MHz (half channel) was used

RX\_FLAG\_5MHZ

5 MHz (quarter channel) was used

RX\_FLAG\_AMSDU\_MORE

Some drivers may prefer to report separate A-MSDU subframes instead of a one huge frame for performance reasons. All, but the last MSDU from an A-MSDU should have this flag set. E.g. if an A-MSDU has 3 frames, the first 2 must have the flag set, while the 3rd (last) one must not have this flag set. The flag is used to deal with retransmission/duplication recovery properly since A-MSDU subframes share the same sequence number. Reported subframes can be either regular MSDU or singly A-MSDUs. Subframes must not be interleaved with other frames.

## DESCRIPTION

These flags are used with the *flag* member of struct ieee80211\_rx\_status.

## AUTHOR

**Johannes Berg** \<johannes@sipsolutions.net\>

Author.

## COPYRIGHT
