-
Notifications
You must be signed in to change notification settings - Fork 527
Fix IEEE 802.11 ADDBA transaction handling #1129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
mgonzalezlopezudc
wants to merge
14
commits into
inet-framework:master
Choose a base branch
from
mgonzalezlopezudc:fix-ieee80211-addba-transaction
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
ae9af5d
Fix IEEE 802.11 ADDBA transaction handling
mgonzalezlopezudc 2d09b22
Fix IEEE 802.11 ADDBA transaction lifecycle
mgonzalezlopezudc f61ad58
Fix ADDBA transaction lifecycle and frame eligibility
mgonzalezlopezudc df72ead
Fix transactional Block Ack queue eligibility
mgonzalezlopezudc a8801b3
Fix packet extraction and ADDBA cleanup edge cases
mgonzalezlopezudc 2a389ec
Fix Block Ack teardown and queue removal callbacks
mgonzalezlopezudc f084266
Fix IEEE 802.11 Block Ack teardown handling
mgonzalezlopezudc b73b55a
Fix scheduler capabilities and QoS teardown handling
mgonzalezlopezudc e029b1d
Fix Block Ack retry and queue eligibility edge cases
mgonzalezlopezudc 9c48302
fix: preserve block ack state for duplicate ADDBA requests
mgonzalezlopezudc 2d525ec
Fix compound queue removal callback propagation
mgonzalezlopezudc bbe72ef
Fix compound queue callback teardown
mgonzalezlopezudc 1b6d28a
Fix ADDBA transaction lifecycle handling
mgonzalezlopezudc 35c3060
Add predicate dequeue animation regression
mgonzalezlopezudc File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
16 changes: 16 additions & 0 deletions
16
src/inet/linklayer/ieee80211/mac/blockack/Ieee80211AddbaTransactionTag.msg
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| // | ||
| // Copyright (C) 2026 OpenSim Ltd. | ||
| // | ||
| // SPDX-License-Identifier: LGPL-3.0-or-later | ||
| // | ||
|
|
||
| import inet.common.INETDefs; | ||
| import inet.common.TagBase; | ||
|
|
||
| namespace inet::ieee80211; | ||
|
|
||
| // Identifies one local originator ADDBA transaction across packet transformations. | ||
| class Ieee80211AddbaTransactionTag extends TagBase | ||
| { | ||
| uint64_t transactionId; | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔴 Existing Block Ack example loses its radio medium setting and can abort with an error
The new example configuration is inserted (at
examples/wireless/qos/omnetpp.ini:86) between the previous last configuration and the trailing radio-medium setting lines, so the setting that used to belong to the Block Ack example silently moves to the new example.Impact: The pre-existing Block Ack example now runs with the strict default and can stop with a runtime error when two transmissions start at the same moment; its recorded results change too.
How the ini section boundary shifts the setting
In an omnetpp.ini file, keys belong to the section they textually follow. Before this PR, the lines
were the last lines of
[Config MacQosWithBlockAck]. The new[Config MacQosWithTransactionalBlockAck]block is inserted above them, so those two lines now belong to the new config andMacQosWithBlockAckfalls back to the NED defaulterror(src/inet/physicallayer/wireless/common/medium/RadioMedium.ned:44), which raises a runtime error viasrc/inet/physicallayer/wireless/common/medium/RadioMedium.cc:484-497. Note also thatMacQosWithTransactionalBlockAckextendsMacQosWithoutAggregation, so the new config would not have inherited the setting either; this reassignment is accidental. The existing fingerprint row forMacQosWithBlockAckintests/fingerprint/examples.csv:661is left unchanged.Prompt for agents
Was this helpful? React with 👍 or 👎 to provide feedback.