Namespace inet::ieee80211
Ieee80211AddbaRequest
class8.5.5.2 ADDBA Request frame format
Extends
Name | Type | Description |
---|---|---|
Ieee80211ActionFrame | (unknown -- not in documented files) |
Fields
Name | Type | Description |
---|---|---|
chunkLength | ||
category |
category field set to 3 (representing Block Ack). (1 byte) |
|
blockAckAction |
Block Ack Action field is set to 0 (representing ADDBA request). (1 byte) |
|
dialogToken | uint8_t |
Dialog Token field is set to a nonzero value chosen by the STA. (1 byte) |
aMsduSupported | bool |
Block Ack Parameter Set field (2 bytes) |
blockAckPolicy | bool |
The Block Ack Policy subfield is set to 1 for immediate Block Ack and 0 for delayed Block Ack. (1 bit) |
tid | uint8_t |
The TID subfield contains the value of the TC or TS for which the BlockAck is being requested. (4 bits) |
bufferSize | uint16_t |
The Buffer Size subfield indicates the number of buffers available for this particular TID. (10 bits) |
blockAckTimeoutValue | simtime_t |
Block Ack Timeout Value field (2 bytes) The Block Ack Timeout Value field contains the duration, in TUs, after which the Block Ack setup is terminated, if there are no frame exchanges (see 10.5.4) within this duration using this Block Ack agreement. A value of 0 disables the timeout. |
_fragmentNumber | uint8_t |
Block Ack Starting Sequence Control (2 bytes) The Starting Sequence Number subfield of the Block Ack Starting Sequence Control subfield contains the sequence number of the first MSDU for which this Basic BlockAckReq frame is sent. The Fragment Number subfield is set to 0. |
startingSequenceNumber | SequenceNumberCyclic |
the sequence number of the first MSDU (12 bits) |
Packet operations (observed)
action | module |
---|---|
Packet | Hcf |
insertAtFront | Tx, Hcf, OriginatorQosMacDataService |
Source code
// // 8.5.5.2 ADDBA Request frame format // class Ieee80211AddbaRequest extends Ieee80211ActionFrame { chunkLength = LENGTH_ADDBAREQ - B(4); category = 3; // category field set to 3 (representing Block Ack). (1 byte) blockAckAction = 0; // Block Ack Action field is set to 0 (representing ADDBA request). (1 byte) uint8_t dialogToken = 1; // Dialog Token field is set to a nonzero value chosen by the STA. (1 byte) // Block Ack Parameter Set field (2 bytes) bool aMsduSupported; // The A-MSDU Supported subfield determines whether an A-MSDU may be carried in a QoS data MPDU sent under this Block Ack agreement. (1 bit) bool blockAckPolicy; // The Block Ack Policy subfield is set to 1 for immediate Block Ack and 0 for delayed Block Ack. (1 bit) uint8_t tid; // The TID subfield contains the value of the TC or TS for which the BlockAck is being requested. (4 bits) uint16_t bufferSize; // The Buffer Size subfield indicates the number of buffers available for this particular TID. (10 bits) // Block Ack Timeout Value field (2 bytes) // The Block Ack Timeout Value field contains the duration, in TUs, after which the Block Ack setup is // terminated, if there are no frame exchanges (see 10.5.4) within this duration using this Block Ack // agreement. A value of 0 disables the timeout. simtime_t blockAckTimeoutValue; // Block Ack Starting Sequence Control (2 bytes) // The Starting Sequence Number subfield of the Block Ack Starting Sequence Control subfield contains the sequence number of the first MSDU for which this Basic // BlockAckReq frame is sent. The Fragment Number subfield is set to 0. uint8_t _fragmentNumber = 0; // FIXME DataOrMgmtFreme has a fragmentNumber (4 bits) SequenceNumberCyclic startingSequenceNumber; // the sequence number of the first MSDU (12 bits) }File: src/inet/linklayer/ieee80211/mac/Ieee80211Frame.msg