OriginatorQosMacDataService¶
Package: inet.linklayer.ieee80211.mac.originator
compound module OriginatorQosMacDataService
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.
Usage diagram¶
Inheritance diagram¶
Used in compound modules¶
Name |
Type |
Description |
|---|---|---|
compound module |
Implements the HCF (Hybrid Coordination Function) for IEEE 802.11. |
Extends¶
Name |
Type |
Description |
|---|---|---|
compound module |
Base module for all INET compound 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 |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
OriginatorQosMacDataService |
|
display |
i=block/fork |
Signals¶
Name |
Type |
Unit |
Description |
|---|---|---|---|
packetAggregated |
|||
packetFragmented |
Statistics¶
Name |
Title |
Source |
Record |
Unit |
Interpolation Mode |
Description |
|---|---|---|---|---|---|---|
packetAggregated |
packets aggregated |
count |
||||
packetFragmented |
packets fragmented |
count |
Unassigned submodule parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
msduAggregationPolicy.displayStringTextFormat |
string |
“” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
msduAggregationPolicy.subframeNumThreshold |
int |
-1 |
Minimum number of subframes needed to compose an A-MSDU. (-1 means it won’t be checked) |
msduAggregationPolicy.aggregationLengthThreshold |
int |
-1 |
The minimum length for an aggregated payload necessary to create an A-MSDU (-1 means it won’t be checked). |
msduAggregationPolicy.maxAMsduSize |
int |
4065 |
-1 means infinity |
msduAggregationPolicy.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). |
mpduAggregationPolicy.displayStringTextFormat |
string |
“” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
fragmentationPolicy.displayStringTextFormat |
string |
“” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
fragmentationPolicy.fragmentationThreshold |
int |
1500B |
Source code¶
//
// 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.
//
module OriginatorQosMacDataService extends Module
{
parameters:
@class(OriginatorQosMacDataService);
@display("i=block/fork");
@signal[packetFragmented](type=inet::Packet);
@signal[packetAggregated](type=inet::Packet);
@statistic[packetFragmented](title="packets fragmented"; record=count);
@statistic[packetAggregated](title="packets aggregated"; record=count);
submodules:
msduAggregationPolicy: <default("BasicMsduAggregationPolicy")> like IMsduAggregationPolicy if typename != "" {
parameters:
@display("p=100,100");
}
mpduAggregationPolicy: <default("BasicMpduAggregationPolicy")> like IMpduAggregationPolicy if typename != "" {
parameters:
@display("p=100,300");
}
fragmentationPolicy: <default("BasicFragmentationPolicy")> like IFragmentationPolicy if typename != "" {
parameters:
@display("p=100,200");
}
}
File: src/inet/linklayer/ieee80211/mac/originator/OriginatorQosMacDataService.ned