Wireshark-bugs: [Wireshark-bugs] [Bug 7490] SDH reassembly.
John Thacker
changed
bug 7490
What |
Removed |
Added |
CC |
|
johnthacker@gmail.com
|
Comment # 3
on bug 7490
from John Thacker
5. The problem is that every SDH frame contains in its payload area the
portions of two disassembled frames, the end of a previous frame and the
beginning of a next frame. Therefore, if you only have one SDH frame, you can't
reassemble a complete payload frame (you'll have the end of one frame and the
beginning of another). Only once you have two SDH frames can you combine to get
one payload frame (and the starting part of the next payload frame). If you
have n SDH frames, then you can reassemble precisely n-1 payload frames.
The AU pointer indicates where in the payload area of the current frame the
dividing line between the end of the previous payload frame is and the start of
the next payload frame begins. This is indicated in the code by au.
However, the pointer processing is done wrong here. Michael is quite right to
suggest that the non-SOH columns be saved (and the SOH columns stripped out)
before doing pointer processing. After all, the AU pointer values correspond to
positions within the payload area *AFTER* stripping out the SOH columns, so the
current patch does it incorrectly. Another mistake is that au==0 actually
corresponds to a start position in column 4 (according to the ITU, which likes
to start numbering at 1), that is, start = 3*270*level + 9*level, or start =
3*261*level if you've already stripped out the SOH columns.
Also, as the last part above implies, the number of SOH columns is not 9, but
9*level. The code as written only works for STM-1/OC-3, when level==1. For
example, in the current code for packet-sdh.c, line 156 currently reads:
a2 = tvb_get_ntoh24(tvb, 3+(0*level*COLUMNS));
but it should read more like:
a2 = tvb_get_ntoh24(tvb, 3*level+(0*level*COLUMNS));
In fact, in STM-4/OC-12 there are 12 consecutive A1 bytes (0xf6) followed by 12
consecutive A2 bytes (0x28), (compared to the 3 and 3 in STM-1/OC-3), which is
how one can autodetect the level of the SDH/SONET signal.
You are receiving this mail because:
- You are watching all bug changes.