diff options
author | Anders Broman <anders.broman@ericsson.com> | 2011-07-11 13:32:04 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2011-07-11 13:32:04 +0000 |
commit | 1f0ca1440c3b734d430c4d1c08f0770e9fd445cf (patch) | |
tree | a14fb4785af5e60776baa77bd52da89e5dde6dca /epan/dissectors/packet-gsmtap.c | |
parent | 66e3012f0f0742d02edeac68f6352eb069ca5505 (diff) |
From Ludovic Haessler:
Add 3GPP TS44.060 RLC/MAC control blocks management in GSMTAP dissector.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6103
svn path=/trunk/; revision=37960
Diffstat (limited to 'epan/dissectors/packet-gsmtap.c')
-rw-r--r-- | epan/dissectors/packet-gsmtap.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/epan/dissectors/packet-gsmtap.c b/epan/dissectors/packet-gsmtap.c index 41054ec6a6..c40826954f 100644 --- a/epan/dissectors/packet-gsmtap.c +++ b/epan/dissectors/packet-gsmtap.c @@ -89,8 +89,10 @@ #define GSMTAP_CHANNEL_SDCCH8 0x08 #define GSMTAP_CHANNEL_TCH_F 0x09 #define GSMTAP_CHANNEL_TCH_H 0x0a +#define GSMTAP_CHANNEL_PACCH 0x0b #define GSMTAP_CHANNEL_ACCH 0x80 + /* sub-types for TYPE_TETRA_AIR */ #define GSMTAP_TETRA_BSCH 0x01 #define GSMTAP_TETRA_AACH 0x02 @@ -155,6 +157,8 @@ enum { GSMTAP_SUB_DATA = 0, GSMTAP_SUB_UM, GSMTAP_SUB_UM_LAPDM, + GSMTAP_SUB_UM_RLC_MAC_UL, + GSMTAP_SUB_UM_RLC_MAC_DL, GSMTAP_SUB_ABIS, /* WiMAX sub handles */ GSMTAP_SUB_CDMA_CODE, @@ -201,6 +205,7 @@ static const value_string gsmtap_channels[] = { { GSMTAP_CHANNEL_SDCCH8, "SDCCH/8" }, { GSMTAP_CHANNEL_TCH_F, "FACCH/F" }, { GSMTAP_CHANNEL_TCH_H, "FACCH/H" }, + { GSMTAP_CHANNEL_PACCH, "PACCH"}, { GSMTAP_CHANNEL_ACCH| GSMTAP_CHANNEL_SDCCH, "LSACCH" }, { GSMTAP_CHANNEL_ACCH| @@ -420,6 +425,15 @@ dissect_gsmtap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) case GSMTAP_CHANNEL_TCH_H: sub_handle = GSMTAP_SUB_UM_LAPDM; break; + case GSMTAP_CHANNEL_PACCH: + if (pinfo->p2p_dir == P2P_DIR_SENT) { + sub_handle = GSMTAP_SUB_UM_RLC_MAC_UL; + } + else + { + sub_handle = GSMTAP_SUB_UM_RLC_MAC_DL; + } + break; case GSMTAP_CHANNEL_RACH: default: sub_handle = GSMTAP_SUB_DATA; @@ -528,6 +542,8 @@ proto_reg_handoff_gsmtap(void) sub_handles[GSMTAP_SUB_DATA] = find_dissector("data"); sub_handles[GSMTAP_SUB_UM] = find_dissector("gsm_a_ccch"); sub_handles[GSMTAP_SUB_UM_LAPDM] = find_dissector("lapdm"); + sub_handles[GSMTAP_SUB_UM_RLC_MAC_UL] = find_dissector("gsm_rlcmac_ul"); + sub_handles[GSMTAP_SUB_UM_RLC_MAC_DL] = find_dissector("gsm_rlcmac_dl"); sub_handles[GSMTAP_SUB_ABIS] = find_dissector("gsm_a_dtap"); sub_handles[GSMTAP_SUB_CDMA_CODE] = find_dissector("wimax_cdma_code_burst_handler"); sub_handles[GSMTAP_SUB_FCH] = find_dissector("wimax_fch_burst_handler"); |