Packet Ieee80211CompressedBlockAckReq

File: src/inet/linklayer/ieee80211/mac/Ieee80211Frame.msg

C++ definition

(no description)

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Extends:

Name Type Description
Ieee80211BlockAckReq packet

8.3.1.8 BlockAckReq frame format

Fields:

Name Type Description
tidInfo int

The TID_INFO subfield of the BAR Control field of the Compressed BlockAckReq frame contains the TID for which a BlockAck frame is requested.

type short

type and subtype

fragmentNumber int
startingSequenceNumber int
multiTid bool
compressedBitmap bool
barAckPolicy bool

0-Normal Acknowledgment, 1-No Acknowledgment.

byteLength
transmitterAddress MACAddress

aka address2

toDS bool
fromDS bool
retry bool
moreFragments bool
duration simtime_t

TODO: rename to durationField (levy)

AID short

"id" (Association ID) in the Duration/ID field (-1=no ID)

receiverAddress MACAddress

aka address1

MACArrive simtime_t

FIXME remove it, technical data, used inside of MAC module

Source code:

packet Ieee80211CompressedBlockAckReq extends Ieee80211BlockAckReq
{
    int tidInfo; // The TID_INFO subfield of the BAR Control field of the Compressed BlockAckReq frame contains the TID for which a BlockAck frame is requested.

    // The RA field of the BlockAck frame is the address of the recipient STA that requested the Block Ack.
    // The TA field is the address of the STA transmitting the BlockAck frame.
    type = ST_BLOCKACK_REQ;
    // The BAR Information field of the Compressed BlockAckReq frame contains the Block Ack Starting
    // Sequence Control subfield, as shown in Figure 8-21. The Starting Sequence Number subfield of the Block
    // Ack Starting Sequence Control subfield contains the sequence number of the first MSDU or A-MSDU for
    // which this BlockAckReq frame is sent. The Fragment Number subfield of the Block Ack Starting Sequence
    // Control subfield is set to 0.

    int fragmentNumber = 0;
    int startingSequenceNumber;

    multiTid = 0;
    compressedBitmap = 1;
}