BasicMsduAggregationPolicy

Package: inet.linklayer.ieee80211.mac.aggregation

simple module BasicMsduAggregationPolicy

Implements a basic MSDU aggregation policy, controlled by parameters such as the minimum number of subframes needed to compose an A-MSDU, the minimum length for the aggregated payload, the maximum A-MSDU size, etc.

inet.linklayer.ieee80211.mac.aggregation.BasicMsduAggregationPolicyBasicMsduAggregationPolicysimple

Usage diagram

Inheritance diagram

Used in compound modules

Name

Type

Description

OriginatorQosMacDataService

compound module

Implements the MAC data service for the originator (sender) side in IEEE 802.11 QoS networks. Extends the basic MAC data service with QoS capabilities including MSDU aggregation (A-MSDU) and MPDU aggregation (A-MPDU). Processes outgoing frames by assigning sequence numbers, performing aggregation, and fragmentation based on configured policies. Follows the MAC data plane architecture described in IEEE 802.11 standard.

Extends

Name

Type

Description

SimpleModule

simple module

Base module for all INET simple modules.

Parameters

Name

Type

Default value

Description

displayStringTextFormat

string

“”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

subframeNumThreshold

int

-1

Minimum number of subframes needed to compose an A-MSDU. (-1 means it won’t be checked)

aggregationLengthThreshold

int

-1

The minimum length for an aggregated payload necessary to create an A-MSDU (-1 means it won’t be checked).

maxAMsduSize

int

4065

-1 means infinity

qOsCheck

bool

true

Turns on/off the check of the presence of the QoS flag (false means off – this is needed for aggregation in DCF mode).

Properties

Name

Value

Description

class

BasicMsduAggregationPolicy

display

i=block/control

Source code

//
// Implements a basic MSDU aggregation policy, controlled by parameters
// such as the minimum number of subframes needed to compose an A-MSDU,
// the minimum length for the aggregated payload, the maximum A-MSDU size,
// etc.
//
simple BasicMsduAggregationPolicy extends SimpleModule like IMsduAggregationPolicy
{
    parameters:
        @class(BasicMsduAggregationPolicy);
        int subframeNumThreshold = default(-1); // Minimum number of subframes needed to compose an A-MSDU. (-1 means it won't be checked)
        int aggregationLengthThreshold = default(-1); // The minimum length for an aggregated payload necessary to create an A-MSDU (-1 means it won't be checked).
        int maxAMsduSize = default(4065); // -1 means infinity
        bool qOsCheck = default(true); // Turns on/off the check of the presence of the QoS flag (false means off -- this is needed for aggregation in DCF mode).
        @display("i=block/control");
}

File: src/inet/linklayer/ieee80211/mac/aggregation/BasicMsduAggregationPolicy.ned