Commit Graph

14189 Commits

Author SHA1 Message Date
Stefano Avallone
543cf34dcc wifi: Improve handling of starting sequence number of transmit window 2019-05-11 18:47:15 +02:00
Stefano Avallone
552327c458 wifi: Add a BA manager method to take actions upon discarding a frame 2019-05-11 18:47:15 +02:00
Stefano Avallone
8612d07e8b wifi: Handle packets ack'ed with Normal Ack under BA agreement 2019-05-11 18:47:15 +02:00
Stefano Avallone
ee92df37d9 wifi: Convert BA retransmit queue to WifiMacQueue
Also, remove a few unused methods
2019-05-11 18:47:15 +02:00
Stefano Avallone
99feb162fb wifi: Add more methods to WifiMacQueue
- Insert/Dequeue/Remove from specific positions in the queue
- Peek methods are const and return a ConstIterator
- Added a trace for expired MPDUs
2019-05-11 18:47:14 +02:00
Stefano Avallone
dc074293d5 network: Rename Queue methods to allow range based for loops 2019-05-11 18:47:14 +02:00
Stefano Avallone
b8130644e8 wifi: Add methods to return WinStartO 2019-05-11 18:47:14 +02:00
Stefano Avallone
3445d3e921 wifi: The state of an OriginatorBlockAckAgreement is never set to INACTIVE
Hence, remove the INACTIVE state. Actually, there is no point
in having such a state. If the inactivity timeout expires, the
block ack agreement is torn down. If the originator decides to
switch to Normal Ack policy, there is no need for the block ack
agreement to change state ("The block ack record shall be updated
irrespective of the acknowledgment type (Normal or Block Ack) for
the TID with a block ack agreement" - Section 10.24.3 of 802.11-2016).
2019-05-11 18:47:14 +02:00
Stefano Avallone
b88dbf5505 wifi: Further cleanup of the OriginatorBlockAckAgreement class
The m_sentMpdus and m_needBlockAckReq members of the
OriginatorBlockAckAgreement class are not actually used.
Consequently, remove the NotifyMpduTransmission and
CompleteExchange methods of the same class and various
other methods that only call the removed methods.
2019-05-11 18:47:14 +02:00
Stefano Avallone
3a6802e752 wifi: OriginatorBlockAckAgreement::IsBlockAckRequestNeeded is never used 2019-05-11 18:47:14 +02:00
Stefano Avallone
88781e4cfa wifi: Extend tests to check that TXOP limit is not exceeded 2019-05-11 18:47:14 +02:00
Stefano Avallone
6fba6dda4e wifi: Improve handling of transmission opportunities 2019-05-11 18:47:14 +02:00
Stefano Avallone
e9c69916c9 wifi: Add a QosTxop method to compute MacLow transmission parameters 2019-05-11 18:47:14 +02:00
Stefano Avallone
5f76fd45e0 wifi: Add a parameter to HasBar to remove the BAR from the queue 2019-05-11 18:47:14 +02:00
Stefano Avallone
ecd6d45dc2 wifi: Have a unique MustWaitBlockAck method in MacLowTransmissionParameters
...and another method to return the Block Ack type
2019-05-11 18:47:14 +02:00
Stefano Avallone
5c197ca1e2 wifi: Keep the timestamp when passing MPDUs to MacLow 2019-05-11 18:47:14 +02:00
Stefano Avallone
c96d4b6152 wifi: MacLow::m_ampdu is not needed anymore 2019-05-11 18:47:14 +02:00
Stefano Avallone
df5ceef9a9 wifi: Improve logic when RTS/CTS exchange fails
See issue #27

Also, regenerate data files used by devices-mesh-dot11s-regression
2019-05-11 18:47:14 +02:00
Stefano Avallone
94cc4b70dd wifi: Add methods to WifiMacQueue to peek and dequeue by TID 2019-05-11 18:47:14 +02:00
Stefano Avallone
72739ad288 wifi: MacLow makes more use of WifiMacQueueItem 2019-05-11 18:47:14 +02:00
Stefano Avallone
07cb1e0bf1 wifi: Make use of the new QosTxop methods
Also, attempt to fix the issues listed in #33
2019-05-11 18:47:14 +02:00
Stefano Avallone
2667c3135d wifi: Add QosTxop methods to peek and dequeue the next frame to transmit
...by searching through both the BA Manager retransmit queue and the EDCA queue
2019-05-11 18:47:14 +02:00
Stefano Avallone
ad12ef9d99 wifi: Add a MacLow method to compute the overhead time 2019-05-11 18:47:14 +02:00
ZorazeAli
4d1aace920 Update CHANGES.html and RELEASE_NOTES 2019-05-10 21:04:36 +02:00
ZorazeAli
d4d7dacc7e lte: Rescan python bindings 2019-05-10 19:45:14 +02:00
ZorazeAli
7ab63975b8 lte: Add modified by line for RLF extensions
Starting from this commit till e49cf80 are part of RLF implementation.

see merge request nsnam/ns-3-dev!58
2019-05-10 19:42:38 +02:00
ZorazeAli
49da14f522 lte: Resolve doxygen warnings 2019-05-10 18:31:39 +02:00
ZorazeAli
06601b2025 lte: Limit T300, T310, N310 and N311 to the standard min and max values
see 3GPP 36.331 UE-TimersAndConstants & RLF-TimersAndConstants
2019-05-10 18:31:24 +02:00
ZorazeAli
0702fd3d11 lte: Verify that the num of SF used for in/out of Sync evaluation are multiple of 10 2019-05-10 18:31:13 +02:00
ZorazeAli
c05e3fc068 lte: Update copyright for RLF extensions 2019-05-10 18:31:04 +02:00
ZorazeAli
3387ea0361 lte: Correct typos 2019-05-10 18:30:51 +02:00
ZorazeAli
a6afb989f3 lte: Improve the doc related to ConnEstFailCount 2019-05-10 18:30:39 +02:00
ZorazeAli
3b3f388109 lte: Remove unnecessary spaces from the docs 2019-05-10 18:30:29 +02:00
ZorazeAli
91eec88ad6 lte: Improve RLF design doc to cover multiple carrier case 2019-05-10 18:30:19 +02:00
ZorazeAli
81bcc67bb0 lte: Add Fraunhofer copyright for RLF 2019-05-10 18:30:04 +02:00
ZorazeAli
bd83bb19fb lte: Add RLF related documentation 2019-05-10 18:28:51 +02:00
ZorazeAli
1759b8ac99 lte: Add attribute to enable/disable RLF detection 2019-05-10 18:28:41 +02:00
ZorazeAli
955e768315 lte: Add instantaneous thrput computation and include more traces 2019-05-10 18:28:30 +02:00
ZorazeAli
b2be59c398 lte: Add modified by line for the new code 2019-05-10 18:28:21 +02:00
ZorazeAli
bcc537561b lte: Add new RaResponseTimeout trace source in LteUeMac 2019-05-10 18:28:07 +02:00
ZorazeAli
dac14cf60f lte: Communicate the IMSI to UE MAC and PHY 2019-05-10 18:27:53 +02:00
ZorazeAli
f3d720b166 lte: Reset the RNTI at UE MAC upon reset 2019-05-10 18:27:41 +02:00
ZorazeAli
76d1aa1a23 lte: Init the RNTI to 0 without using DoSetTemporaryCellRnti 2019-05-10 18:27:31 +02:00
ZorazeAli
73d42fac71 lte: Discard packets arriving after UE context removal at EpcEnbApplication
Due to RLF the UE context deletion might get triggered during the reception of a packet by EpcEnbApplication from EpcSgwApplication. This patch will enable  EpcEnbApplication  to discard  such packets.
2019-05-10 18:27:21 +02:00
ZorazeAli
7ba7fd64dc lte: Avoid checking for connection established in RrcConnectionEstablishmentErrorTestCase
After the RLF implementation, the UE state upon jumping at a far away location will not be in connected state anymore, thus, we should only check for not connected state.
2019-05-10 18:27:10 +02:00
ZorazeAli
7284b3ab4d lte: Add TxFailParam in RachConfigCommon
This patch adds TxFailParam in RachConfigCommon, which enables the eNB to indicate how many times T300 timer can expire at the UE. Upon reaching this count, the UE aborts the connection establishment, and performs the cell selection again. See TS 36.331 5.3.3.6.
Thanks to Sandra Lagen <sandra.lagen@cttc.cat>
2019-05-10 18:26:54 +02:00
ZorazeAli
42111179a3 lte: Use only CTRL SINR for RLF detection 2019-05-10 18:26:44 +02:00
Vignesh Babu
31085133ee lte: Add example and test for RLF 2019-05-10 18:26:05 +02:00
ZorazeAli
fc8dfc0e44 lte: Set cell id to 0 in UE RRC and PHY upon RLF 2019-05-10 18:25:53 +02:00
ZorazeAli
f7dff4d870 lte: Store the cell id before leaving the cell 2019-05-10 18:25:40 +02:00