SegAndConcat Reassembly issues
Hello,
I'm trying to use the SegAndConcat FU (wns::ldk:
Setup:
A base station (BS) in a scenario with multiple cells and BSs is transmitting data to a subscriber station (SS). Data comes in the form of IP Packets from the constanze generators. Packet size is 1024 Bit data + 48 Bit overhead = 1072 Bit. The SegAndConcat FU is setup with isSegmenting = False as segmentation is performed by the SegmentingQueue in the scheduler. The FU thus only handles reassembly. There is also a CRC present bellow the SegAndConcat FU, which is set to "Dropping". Furthermore, there are no retransmissions in the system (no HARQ nor ARQ). The following situation arises:
After transmitting for some time, a PDU is discarded by the CRC because the ErrorModeling calculated a high error probability. The PDU has a SN = 189. As described in the protocol, the reordering timer is started. In the mean time, further transmissions occur, and PDUs with SN = 190 to 205 are transmitted and correctly received until the timer expires. The VR variables at the time the timer fires look the following way:
vrUH_ = 206
vrUR_=189
vrUX_ = 191
TS 36.322 5.1.2.2.4 defines the following actions when the timer expires:
- vrUR is set to the SN of the first not received PDU with SN > vrUX, in this case 206
- From the received PDUs with SN < this new vrUR ( SN < 206), SDUs are reassembled and passed to the FUs above.If an SDU cannot be reassembled due to missing PDUs, it should discarded.
- Finally, if vrUH is still larger than vrUR, the t-Reordering timer is restarted and vrUX is set equal to vrUH
The following happens in the simulator:
- Timer fires and ReorderingWindo
- vrUR is correctly updated to 206
- updateReassembl
- this function iterates over all PDUs in the reordering window (in this case, from SN 190 to 205) and attempts to pass them to the reassembly buffer
- this results in a call to onReorderedPDU() with the current PDU as a parameter
- this method first checks if this PDU is the nextExpectedPDU (which is not the case, the next expected is 189 which was lost)
- Because this is not the expected PDU, the reassembly buffer is emptied.
- It is then checked whether the current PDU can be accepted from the buffer - This is where the problem occurs:
- the function called is ReassemblyBuffe
After this point, no more SDUs are reassemled by the SegAndConcat, even though there are multiple correct transmissions until the end of the simulation. Bellow is some output from the problem:
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.2559987) [ WNS] L2.SegAndConcat onReorderedPDU: PDU 189 is missing. Clearing reassembly buffer.
( 0.2559987) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 190. isBegin=False.
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.2559987) [ WNS] L2.SegAndConcat
( 0.2559987) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.2559987) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.2559987) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 191. isBegin=False
... and so on up to PDU 205
I therefore have the following questions:
- Could this be a configuration issue which prevents the SegAndConcat unit from working correctly, or could this be a bug?
- In general, is it possible to use the combination of SegAndConcat and a Segmenting queue without any retransmission mechanism (HARQ), leaving aside the potentially higher packet loss?
Thank you for your time, any ideas would be greatly appreciated!
Best regards,
Boyan Lazarov, B.Sc
TU Muenchen
Question information
- Language:
- English Edit question
- Status:
- Answered
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Related bugs
Related FAQ:
None Link to a FAQ
Revision history for this message
![]() |
#1 |
After looking at the debug output of the openwns-
In that system test, packets of size=3000 bits are sent and 48 bits of CRC are added before this is segmented into segments of size 288 bit. In the debug output pasted below, we see that obviously segment number 1072 was lost and triggered the tReording timer. After the timeout, segments 1073 through 1126 are dropped and reassembly continues with segment 1127. After receiving 11 segments (1127 through 1137), the 3048 bits SDU has been completely reassembled (11*288 > 3048 > 10*288). That means that 54 segments have been discarded due to the missing segment number 1072. However, the missing segment should only affect 10 other segments belonging to the same SDU or 20 other segments if the lost segment contains the end of one SDU and the beginning of another SDU.
So it seems to us that too many packets are dropped. We believe this is due to the same improper handling of isBegin flag as indicated above. Looking at InnerQueue:
This happens on a fresh checkout from launchpad.net.
( 0.3255556) [ WNS] L2.SegAndConcat
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1073. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1074. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1075. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1076. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1077. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1078. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1079. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1080. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1081. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1082. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1083. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1084. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1085. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1086. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1087. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1088. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1089. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1090. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1091. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1092. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1093. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1094. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1095. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1096. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1097. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1098. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1099. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1100. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1101. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1102. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1103. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1104. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1105. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1106. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1107. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1108. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1109. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1110. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1111. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1112. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1113. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1114. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1115. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1116. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1117. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1118. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1119. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1120. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1121. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1122. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1123. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1124. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1125. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1126. isBegin=False.
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1127 of size 288 bits into reassembly buffer
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1128 of size 288 bits into reassembly buffer
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1129 of size 288 bits into reassembly buffer
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1130 of size 288 bits into reassembly buffer
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1131 of size 288 bits into reassembly buffer
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1132 of size 288 bits into reassembly buffer
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1133 of size 288 bits into reassembly buffer
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1134 of size 288 bits into reassembly buffer
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1135 of size 288 bits into reassembly buffer
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1136 of size 288 bits into reassembly buffer
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1137 of size 288 bits into reassembly buffer
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
( 0.3255556) [ WNS] L2.SegAndConcat reassemble: Passing 3048 bits to upper FU.
( 0.3255556) [WIMAC] wimac::
( 0.3255556) [ WNS] TopP UT2 sent 0.31065 received 0.325556 delay 0.0149054 length 3000
( 0.3255556) [ WNS] TopTp UT2 incoming length 3000
( 0.3255556) [WIMAC] wimac::
Revision history for this message
![]() |
#2 |
Dear Boyan,
thank you for your good work. I also agree with you that you have found
a bug. Unfortunately, I do not have time at the moment to fix it myself,
but maybe you can contribute a fix if you like. I would propose the
following way forward:
1. Convert this question/answer thread to a bug report of openwns-library.
2. Extend the testcase
src/ldk/
provoke the error. It is quite easy to do. If you have a look at the
source code you will find a test setup with the SegmentingQueue and the
SegAndConcatFU. You can execute the test suite by:
cd tests/unit/
./openwns -t -v
or only execute the test above with:
cd tests/unit/
./openwns -t -v -T wns::ldk:
3. Fix the bug ;) I think the following would be reasonable, but feel
free to propose a better solution:
The starting point is void SegAndConcat:
need to modify ReassemblyBuffe
if (isEmpty() && (readCommand(
readCommand(
So, if the buffer is empty a new segment is accepted if the getBeginFlag
is set or if more than one sdu is contained within.
You will need to do the same with ReassemblyBuffe
Furthermore, you will need to modify ReassemblyBuffe
that if the buffer is empty and the isBegin flag is not set:
1) Assure that readCommand(
2) Remove the head element of readCommand(
3) Set the begin flag: readCommand(
4) Put the segment into the buffer
4. Check if this fixes the error and does not introduce new ones by
executing the test suite.
5. Push your branch with the bugifx to launchpad and propose a merge. Me
or Maciej will then merge it to the trunk.
Let me know if this is OK with you.
Thanks a lot,
Daniel
Boyan Lazarov wrote:
> Question #108680 on openWNS Library changed:
> https:/
>
> Boyan Lazarov gave more information on the question:
> After looking at the debug output of the openwns-
> wimac-coexist-
> deviations from the reference output), we are more confident that the
> above described behavior is indeed a bug in the
> Segmentation/
>
> In that system test, packets of size=3000 bits are sent and 48 bits of
> CRC are added before this is segmented into segments of size 288 bit. In
> the debug output pasted below, we see that obviously segment number 1072
> was lost and triggered the tReording timer. After the timeout, segments
> 1073 through 1126 are dropped and reassembly continues with segment
> 1127. After receiving 11 segments (1127 through 1137), the 3048 bits SDU
> has been completely reassembled (11*288 > 3048 > 10*288). That means
> that 54 segments have been discarded due to the missing segment number
> 1072. However, the missing segment should only affect 10 other segments
> belonging to the same SDU or 20 other segments if the lost segment
> contains the end of one SDU and the beginning of another SDU.
>
> So it seems to us that too many packets are dropped. We believe this is
> due to the same improper handling of isBegin flag as indicated above.
> Looking at InnerQueue:
> be true if a new SDU starts at the beginning of the segment. In cases
> where the segment begins with the rest of a previous SDU, no
> isBegin=True would be set if the remaining space in the segment is
> filled with the beginning of the next SDU. Also, the isEnd flag would
> not be set because the end of the first SDU would not be at the end of
> the segment. Is this really the intended behavior?
>
> This happens on a fresh checkout from launchpad.net.
>
>
> ( 0.3255556) [ WNS] L2.SegAndConcat
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1073. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1074. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1075. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1076. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1077. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1078. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1079. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1080. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1081. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1082. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1083. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1084. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1085. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1086. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1087. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1088. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1089. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1090. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1091. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1092. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1093. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1094. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1095. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1096. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1097. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1098. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1099. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1100. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1101. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1102. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1103. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1104. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1105. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1106. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1107. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1108. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1109. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1110. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1111. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1112. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1113. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1114. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1115. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1116. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1117. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1118. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1119. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1120. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1121. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1122. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1123. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1124. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1125. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: PDU -1 is missing. Clearing reassembly buffer.
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Dropping PDU 1126. isBegin=False.
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1127 of size 288 bits into reassembly buffer
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1128 of size 288 bits into reassembly buffer
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1129 of size 288 bits into reassembly buffer
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1130 of size 288 bits into reassembly buffer
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1131 of size 288 bits into reassembly buffer
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1132 of size 288 bits into reassembly buffer
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1133 of size 288 bits into reassembly buffer
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1134 of size 288 bits into reassembly buffer
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1135 of size 288 bits into reassembly buffer
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1136 of size 288 bits into reassembly buffer
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU(
> ( 0.3255556) [ WNS] L2.SegAndConcat onReorderedPDU: Putting PDU 1137 of size 288 bits into reassembly buffer
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: getReassembledS
> ( 0.3255556) [ WNS] L2.SegAndConcat reassemble: Passing 3048 bits to upper FU.
> ( 0.3255556) [WIMAC] wimac::
> ( 0.3255556) [ WNS] TopP UT2 sent 0.31065 received 0.325556 delay 0.0149054 length 3000
> ( 0.3255556) [ WNS] TopTp UT2 incoming length 3000
> ( 0.3255556) [WIMAC] wimac::
>
>
Revision history for this message
![]() |
#3 |
This issue is fixed in trunk now.
Jan and Boyan, thank you for your contribution!
Can you help with this problem?
Provide an answer of your own, or ask Boyan Lazarov for more information if necessary.