diff options
author | martinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-03-15 17:30:00 +0000 |
---|---|---|
committer | martinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-03-15 17:30:00 +0000 |
commit | 4d252993c8aabc8c77ba9453d1d90e8da3abc687 (patch) | |
tree | f8ba55234a279618b72abc22289d05c3349854bd /epan/dissectors/packet-catapult-dct2000.c | |
parent | 5c87b39be07b54abf2e4d77ac81fe61c5c6274a4 (diff) |
Fix calling of LTE dissectors for R9 DCT protocols.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@36196 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-catapult-dct2000.c')
-rw-r--r-- | epan/dissectors/packet-catapult-dct2000.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/epan/dissectors/packet-catapult-dct2000.c b/epan/dissectors/packet-catapult-dct2000.c index caeec560e9..de376aebaa 100644 --- a/epan/dissectors/packet-catapult-dct2000.c +++ b/epan/dissectors/packet-catapult-dct2000.c @@ -1940,17 +1940,20 @@ dissect_catapult_dct2000(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) /**************************************************************************/ /* These protocols have no encapsulation type, just look them up directly */ - if (strcmp(protocol_name, "mac_r8_lte") == 0) { + if ((strcmp(protocol_name, "mac_r8_lte") == 0) || + (strcmp(protocol_name, "mac_r9_lte") == 0)) { protocol_handle = mac_lte_handle; } else - if (strcmp(protocol_name, "rlc_r8_lte") == 0) { + if ((strcmp(protocol_name, "rlc_r8_lte") == 0) || + (strcmp(protocol_name, "rlc_r9_lte") == 0)) { protocol_handle = rlc_lte_handle; } else - if (strcmp(protocol_name, "pdcp_r8_lte") == 0) { + if ((strcmp(protocol_name, "pdcp_r8_lte") == 0) || + (strcmp(protocol_name, "pdcp_r9_lte") == 0)) { /* Dissect proprietary header, then pass remainder to PDCP */ dissect_pdcp_lte(tvb, offset, pinfo, tree); return; @@ -2016,15 +2019,13 @@ dissect_catapult_dct2000(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } else - if ( - ((strcmp(protocol_name, "ccpri_r8_lte") == 0))) { + if (((strcmp(protocol_name, "ccpri_r8_lte") == 0))) { /* Dissect proprietary header, then pass remainder to lapb */ dissect_ccpri_lte(tvb, offset, pinfo, tree); return; } - /* Many DCT2000 protocols have at least one IPPrim variant. If the protocol name can be matched to a dissector, try to find the UDP/TCP data inside and dissect it. @@ -2308,6 +2309,17 @@ dissect_catapult_dct2000(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } } +#if 0 + /* PART OF WORK IN PROGRESS */ + if (protocol_handle == 0) { + /* TODO: only look inside preference? */ + char dotted_protocol_name[64+128]; + sprintf(dotted_protocol_name, "dct2000.%s", protocol_name); + protocol_handle = find_dissector(dotted_protocol_name); + } +#endif + + break; default: |