diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2020-06-27 17:46:51 +0700 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2020-06-27 19:29:24 +0000 |
commit | d933a98f893b59a51fba9986a75024f3fc3c1537 (patch) | |
tree | 00870e4d5b13c25cfa1e559bfdb0f18a99189817 | |
parent | 2dcf32bc9cfc53f558928738c672726d0dd60d94 (diff) |
A-bis/RSL: fix wrong parent tree in dissect_rsl_ie_cause()
Cause specific fields belong to the 'Cause IE', so they should be
correctly displayed in the tree hierarchy.
Before this change:
0111 111. = Message discriminator: ip.access Vendor Specific messages (63)
.... ...0 = T bit: Not considered transparent by BTS
.111 0110 = Message type: ip.access DLCX INDication (0x76)
Channel number IE
Element identifier: Channel Number (0x01)
0000 1... = C-bits: Bm + ACCH (1)
.... .010 = Time slot number (TN): 2
Cause IE
Element identifier: Cause (0x1a)
Length: 1
0... .... = Extension: No Extension
.000 .... = Class: Normal event (0)
.000 1111 = Cause Value: normal event, unspecified (15)
After:
0111 111. = Message discriminator: ip.access Vendor Specific messages (63)
.... ...0 = T bit: Not considered transparent by BTS
.111 0110 = Message type: ip.access DLCX INDication (0x76)
Channel number IE
Element identifier: Channel Number (0x01)
0000 1... = C-bits: Bm + ACCH (1)
.... .010 = Time slot number (TN): 2
Cause IE
Element identifier: Cause (0x1a)
Length: 1
0... .... = Extension: No Extension
.000 .... = Class: Normal event (0)
.000 1111 = Cause Value: normal event, unspecified (15)
Change-Id: I9dc3a35dff19fc824b69f66ef137f0346247af3a
Signed-off-by: Vadim Yanitskiy <vyanitskiy@sysmocom.de>
Reviewed-on: https://code.wireshark.org/review/37565
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
-rw-r--r-- | epan/dissectors/packet-rsl.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/epan/dissectors/packet-rsl.c b/epan/dissectors/packet-rsl.c index 2758c4b7f4..fe3501f013 100644 --- a/epan/dissectors/packet-rsl.c +++ b/epan/dissectors/packet-rsl.c @@ -2200,10 +2200,10 @@ dissect_rsl_ie_cause(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, in /* Cause Value */ octet = tvb_get_guint8(tvb, offset); - proto_tree_add_item(tree, hf_rsl_extension_bit, tvb, offset, 1, ENC_BIG_ENDIAN); - proto_tree_add_item(tree, hf_rsl_class, tvb, offset, 1, ENC_BIG_ENDIAN); + proto_tree_add_item(ie_tree, hf_rsl_extension_bit, tvb, offset, 1, ENC_BIG_ENDIAN); + proto_tree_add_item(ie_tree, hf_rsl_class, tvb, offset, 1, ENC_BIG_ENDIAN); if ((octet & 0x80) != 0x80) { - proto_tree_add_item(tree, hf_rsl_cause_value, tvb, offset, 1, ENC_BIG_ENDIAN); + proto_tree_add_item(ie_tree, hf_rsl_cause_value, tvb, offset, 1, ENC_BIG_ENDIAN); } else { /* TODO: Cause Extension*/ offset++; |