Feature #4382
closed
osmo-pcu: Check port of remaining wireshark.git patches to gsm_rlcmac.cpp/h
Added by pespin about 4 years ago.
Updated about 4 years ago.
Description
Some big patches from wireshark.git epan/dissectors/packet-gsm_rlcmac.c/h still need to be checked for inclusion into osmo-pcu, since it was not clear if they benefit us. Those patches usually come as a bunch of 2-3 commits and later fixed many times. It actually makes more sense to get it from wireshark.git master directly.
One can check log of related patches with git log -u epan/dissectors/packet-gsm_rlcmac.*
First bunch of patches: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description"
dea5452b95dfaf18e38670a8e2b3b38f9175fdfd
774be29de0b4d93d01aecb1518c41d7d551071a9
51c31cd7bd3d8fc196a9f90a8af466ad84e9e6a8
6aca10831f86c562970b13efa811f46e25ee3091
(and other commits fixing stuff later)
Second bunch of patches: Enhancemnt to GSM RLCMAC dissection adding dissection of data block headers
12e5e625a6ce7f214d111f8e48f12d5104144b53
cc6d4341e65ef2e8d8488fe0ac0f236ece0dd844
(and others fixing later)
Third patch: 2g->3g/4g PS handover: 428ee66ae1c524b49f9043729b1f1e9b4f52f409
Files
Unfortunately, https://gerrit.osmocom.org/c/osmo-pcu/+/17050 breaks the unit test.
vector1 = 4016713dc094270ca2ae57ef909006aa0fc0001f80222b
=========Start DECODE===========
+++++++++Finish DECODE (0)++++++++++
=========Start ENCODE=============
+++++++++Finish ENCODE (0)+++++++++++
vector1 = 40 16 71 3d c0 94 27 0c a2 ae 57 ef 90 90 06 aa 0f c0 00 1f 80 22 2b
vector2 = 40 16 71 3d c0 94 27 48 a2 ae 57 ef 90 90 06 aa 00 00 1f 80 00 3f 00
vector1 == vector2 : FALSE
I have no idea why, but I hope Pycrate can help us to narrow down the problem.
from pycrate_csn1dir import uplink_rlc_mac_control_message
from binascii import unhexlify
# NOTE: the first octet should be skipped (MAC header)
vector1 = unhexlify('16 71 3d c0 94 27 0c a2 ae 57 ef 90 90 06 aa 0f c0 00 1f 80 22 2b'.replace(' ', ''))
vector2 = unhexlify('16 71 3d c0 94 27 48 a2 ae 57 ef 90 90 06 aa 00 00 1f 80 00 3f 00'.replace(' ', ''))
msg1 = uplink_rlc_mac_control_message.uplink_rlc_mac_control_message.clone()
msg2 = uplink_rlc_mac_control_message.uplink_rlc_mac_control_message.clone()
msg1.from_bytes(vector1)
print(msg1.show()) # See vector1.dec attached
msg2.from_bytes(vector2) # decoding fails: pycrate_core.charpy.CharpyErr: bitlen overflow: 1, max 0
- Assignee changed from 4368 to pespin
- Status changed from New to Feedback
- % Done changed from 0 to 90
- Status changed from Feedback to Resolved
- % Done changed from 90 to 100
Also available in: Atom
PDF