diff options
author | Guy Harris <guy@alum.mit.edu> | 2016-01-16 16:51:46 -0800 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2016-01-17 00:52:14 +0000 |
commit | 25699b67580eb4ef4f1dde542e860a714390a607 (patch) | |
tree | 7d62c9f0e772c243a1c67aa879dcc940e0d81c70 /epan/dissectors/packet-umts_mac.c | |
parent | 330162378440b44b6faeaea20c868e70c48d228a (diff) |
Don't look at pinfo->pseudo_header.
On the off chance that UMTS FP traffic is being carried over a
pseudowire. :-)
Change-Id: I8db0fbe96545c08f4748bf9ec046e2dc4f2c2cc6
Reviewed-on: https://code.wireshark.org/review/13342
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'epan/dissectors/packet-umts_mac.c')
-rw-r--r-- | epan/dissectors/packet-umts_mac.c | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/epan/dissectors/packet-umts_mac.c b/epan/dissectors/packet-umts_mac.c index 51e4067f9b..8f21d3070b 100644 --- a/epan/dissectors/packet-umts_mac.c +++ b/epan/dissectors/packet-umts_mac.c @@ -259,7 +259,7 @@ static guint16 tree_add_common_dcch_dtch_fields(tvbuff_t *tvb, packet_info *pinf return bitoffs; } -static int dissect_mac_fdd_pch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +static int dissect_mac_fdd_pch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) { proto_tree *pch_tree = NULL; proto_item *channel_type; @@ -275,11 +275,11 @@ static int dissect_mac_fdd_pch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr channel_type = proto_tree_add_uint(pch_tree, hf_mac_channel, tvb, 0, 0, MAC_PCCH); PROTO_ITEM_SET_GENERATED(channel_type); } - call_dissector(rlc_pcch_handle, tvb, pinfo, tree); + call_dissector_with_data(rlc_pcch_handle, tvb, pinfo, tree, data); return tvb_captured_length(tvb); } -static int dissect_mac_fdd_rach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +static int dissect_mac_fdd_rach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) { guint8 tctf; guint8 chan; @@ -327,7 +327,7 @@ static int dissect_mac_fdd_rach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t PROTO_ITEM_SET_GENERATED(channel_type); next_tvb = tvb_new_octet_aligned(tvb, bitoffs, fpinf->chan_tf_size[chan] - bitoffs); add_new_data_source(pinfo, next_tvb, "Octet-Aligned CCCH Data"); - call_dissector(rlc_ccch_handle, next_tvb, pinfo, tree); + call_dissector_with_data(rlc_ccch_handle, next_tvb, pinfo, tree, data); break; case TCTF_DCCH_DTCH_RACH_FDD: /*Set RLC Mode/MAC content based on the L-CHID derived from the C/T flag*/ @@ -342,7 +342,7 @@ static int dissect_mac_fdd_rach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t PROTO_ITEM_SET_GENERATED(channel_type); next_tvb = tvb_new_octet_aligned(tvb, bitoffs, fpinf->chan_tf_size[chan] - bitoffs); add_new_data_source(pinfo, next_tvb, "Octet-Aligned DCCH Data"); - call_dissector(rlc_dcch_handle, next_tvb, pinfo, tree); + call_dissector_with_data(rlc_dcch_handle, next_tvb, pinfo, tree, data); break; case MAC_CONTENT_PS_DTCH: proto_item_append_text(ti, " (PS DTCH)"); @@ -350,7 +350,7 @@ static int dissect_mac_fdd_rach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t PROTO_ITEM_SET_GENERATED(channel_type); next_tvb = tvb_new_octet_aligned(tvb, bitoffs, fpinf->chan_tf_size[chan] - bitoffs); add_new_data_source(pinfo, next_tvb, "Octet-Aligned DTCH Data"); - call_dissector(rlc_ps_dtch_handle, next_tvb, pinfo, tree); + call_dissector_with_data(rlc_ps_dtch_handle, next_tvb, pinfo, tree, data); break; case MAC_CONTENT_CS_DTCH: proto_item_append_text(ti, " (CS DTCH)"); @@ -368,7 +368,7 @@ static int dissect_mac_fdd_rach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t return tvb_captured_length(tvb); } -static int dissect_mac_fdd_fach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +static int dissect_mac_fdd_fach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) { guint8 hdr, tctf; guint16 bitoffs = 0; @@ -419,7 +419,7 @@ static int dissect_mac_fdd_fach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t PROTO_ITEM_SET_GENERATED(channel_type); /* CCCH over FACH is always octet aligned */ next_tvb = tvb_new_subset_remaining(tvb, 1); - call_dissector(rlc_ccch_handle, next_tvb, pinfo, tree); + call_dissector_with_data(rlc_ccch_handle, next_tvb, pinfo, tree, data); break; case TCTF_DCCH_DTCH_FACH_FDD: @@ -435,7 +435,7 @@ static int dissect_mac_fdd_fach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t PROTO_ITEM_SET_GENERATED(channel_type); next_tvb = tvb_new_octet_aligned(tvb, bitoffs, fpinf->chan_tf_size[chan] - bitoffs); add_new_data_source(pinfo, next_tvb, "Octet-Aligned DCCH Data"); - call_dissector(rlc_dcch_handle, next_tvb, pinfo, tree); + call_dissector_with_data(rlc_dcch_handle, next_tvb, pinfo, tree, data); break; case MAC_CONTENT_PS_DTCH: proto_item_append_text(ti, " (PS DTCH)"); @@ -443,7 +443,7 @@ static int dissect_mac_fdd_fach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t PROTO_ITEM_SET_GENERATED(channel_type); next_tvb = tvb_new_octet_aligned(tvb, bitoffs, fpinf->chan_tf_size[chan] - bitoffs); add_new_data_source(pinfo, next_tvb, "Octet-Aligned DCCH Data"); - call_dissector(rlc_ps_dtch_handle, next_tvb, pinfo, tree); + call_dissector_with_data(rlc_ps_dtch_handle, next_tvb, pinfo, tree, data); break; case MAC_CONTENT_CS_DTCH: proto_item_append_text(ti, " (CS DTCH)"); @@ -461,7 +461,7 @@ static int dissect_mac_fdd_fach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t PROTO_ITEM_SET_GENERATED(channel_type); /* CTCH over FACH is always octet aligned */ next_tvb = tvb_new_subset_remaining(tvb, 1); - call_dissector(rlc_ctch_handle, next_tvb, pinfo, tree); + call_dissector_with_data(rlc_ctch_handle, next_tvb, pinfo, tree, data); break; /* july 5: Added support for BCCH*/ case TCTF_BCCH_FACH_FDD: @@ -481,7 +481,7 @@ static int dissect_mac_fdd_fach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t } rrcinf->msgtype[fpinf->cur_tb] = RRC_MESSAGE_TYPE_BCCH_FACH; - call_dissector(rrc_handle, next_tvb, pinfo, tree); + call_dissector_with_data(rrc_handle, next_tvb, pinfo, tree, data); break; case TCTF_MSCH_FACH_FDD: @@ -497,7 +497,7 @@ static int dissect_mac_fdd_fach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t return tvb_captured_length(tvb); } -static int dissect_mac_fdd_dch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +static int dissect_mac_fdd_dch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) { guint16 pos; guint8 bitoffs = 0; @@ -560,7 +560,7 @@ static int dissect_mac_fdd_dch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr /*Transport channel printout*/ channel_type = proto_tree_add_uint(dch_tree, hf_mac_trch_id, tvb, 0, 0, macinf->trchid[pos]); PROTO_ITEM_SET_GENERATED(channel_type); - call_dissector(rlc_dcch_handle, next_tvb, pinfo, tree); + call_dissector_with_data(rlc_dcch_handle, next_tvb, pinfo, tree, data); break; case MAC_CONTENT_PS_DTCH: proto_item_append_text(ti, " (PS DTCH)"); @@ -574,7 +574,7 @@ static int dissect_mac_fdd_dch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr channel_type = proto_tree_add_uint(dch_tree, hf_mac_channel, tvb, 0, 0, MAC_DTCH); PROTO_ITEM_SET_GENERATED(channel_type); - call_dissector(rlc_ps_dtch_handle, next_tvb, pinfo, tree); + call_dissector_with_data(rlc_ps_dtch_handle, next_tvb, pinfo, tree, data); break; case MAC_CONTENT_CS_DTCH: proto_item_append_text(ti, " (CS DTCH)"); @@ -921,16 +921,16 @@ static void ss_interpretation(tvbuff_t * tvb, proto_tree * tree, guint8 ss, guin } } -static void call_rlc(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, proto_item * ti, guint8 lchid) +static void call_rlc(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, proto_item * ti, guint8 lchid, void *data) { switch (lchId_type_table[lchid]) { case MAC_CONTENT_DCCH: proto_item_append_text(ti, " (DCCH)"); - call_dissector(rlc_dcch_handle, tvb, pinfo, tree); + call_dissector_with_data(rlc_dcch_handle, tvb, pinfo, tree, data); break; case MAC_CONTENT_PS_DTCH: proto_item_append_text(ti, " (PS DTCH)"); - call_dissector(rlc_ps_dtch_handle, tvb, pinfo, tree); + call_dissector_with_data(rlc_ps_dtch_handle, tvb, pinfo, tree, data); break; case MAC_CONTENT_CS_DTCH: proto_item_append_text(ti, " (CS DTCH)"); @@ -946,7 +946,7 @@ static void call_rlc(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, pro /* * Dissect a MAC-is PDU. */ -static int dissect_mac_fdd_edch_type2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +static int dissect_mac_fdd_edch_type2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) { guint sdu_no, subframe_bytes = 0, offset = 0; guint8 ss; @@ -996,7 +996,7 @@ static int dissect_mac_fdd_edch_type2(tvbuff_t *tvb, packet_info *pinfo, proto_t asm_tvb = mac_is_add_fragment(tvb, pinfo, macis_sdu_tree, lchid, p_fp_info->com_context_id, offset, ss, tsn, sdu_no, mac_is_info->number_of_mac_is_sdus, sdulength); if (asm_tvb != NULL) { - call_rlc(asm_tvb, pinfo, tree, ti, lchid); + call_rlc(asm_tvb, pinfo, tree, ti, lchid, data); } offset += sdulength; @@ -1011,7 +1011,7 @@ static int dissect_mac_fdd_edch_type2(tvbuff_t *tvb, packet_info *pinfo, proto_t return tvb_captured_length(tvb); } -static int dissect_mac_fdd_edch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +static int dissect_mac_fdd_edch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) { proto_tree *edch_tree = NULL; proto_item *channel_type; @@ -1047,7 +1047,7 @@ static int dissect_mac_fdd_edch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t PROTO_ITEM_SET_GENERATED(channel_type); - call_dissector(rlc_dcch_handle, tvb, pinfo, tree); + call_dissector_with_data(rlc_dcch_handle, tvb, pinfo, tree, data); break; case MAC_CONTENT_PS_DTCH: proto_item_append_text(ti, " (PS DTCH)"); @@ -1059,7 +1059,7 @@ static int dissect_mac_fdd_edch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t channel_type = proto_tree_add_uint(edch_tree, hf_mac_channel, tvb, 0, 0, MAC_DTCH); PROTO_ITEM_SET_GENERATED(channel_type); - call_dissector(rlc_ps_dtch_handle, tvb, pinfo, tree); + call_dissector_with_data(rlc_ps_dtch_handle, tvb, pinfo, tree, data); break; case MAC_CONTENT_CS_DTCH: proto_item_append_text(ti, " (CS DTCH)"); @@ -1141,7 +1141,7 @@ static void dissect_mac_fdd_hsdsch_common(tvbuff_t *tvb, packet_info *pinfo, pro * no re-alignment is necessary * If no C/T is present, the whole payload will be left-shifted by 4 bit */ -static int dissect_mac_fdd_hsdsch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +static int dissect_mac_fdd_hsdsch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) { proto_tree *hsdsch_tree = NULL; proto_item *channel_type; @@ -1211,7 +1211,7 @@ static int dissect_mac_fdd_hsdsch(tvbuff_t *tvb, packet_info *pinfo, proto_tree /*Set the MACd-Flow ID*/ channel_type = proto_tree_add_uint(hsdsch_tree, hf_mac_macdflowd_id, tvb, 0, 0, macinf->macdflow_id[pos]); PROTO_ITEM_SET_GENERATED(channel_type); - call_dissector(rlc_ccch_handle, next_tvb, pinfo, tree); + call_dissector_with_data(rlc_ccch_handle, next_tvb, pinfo, tree, data); break; case MAC_CONTENT_DCCH: proto_item_append_text(ti, " (DCCH)"); @@ -1236,7 +1236,7 @@ static int dissect_mac_fdd_hsdsch(tvbuff_t *tvb, packet_info *pinfo, proto_tree /*Set the MACd-Flow ID*/ channel_type = proto_tree_add_uint(hsdsch_tree, hf_mac_macdflowd_id, tvb, 0, 0, macinf->macdflow_id[pos]); PROTO_ITEM_SET_GENERATED(channel_type); - call_dissector(rlc_dcch_handle, next_tvb, pinfo, tree); + call_dissector_with_data(rlc_dcch_handle, next_tvb, pinfo, tree, data); break; case MAC_CONTENT_PS_DTCH: proto_item_append_text(ti, " (PS DTCH)"); @@ -1261,7 +1261,7 @@ static int dissect_mac_fdd_hsdsch(tvbuff_t *tvb, packet_info *pinfo, proto_tree channel_type = proto_tree_add_uint(hsdsch_tree, hf_mac_macdflowd_id, tvb, 0, 0, macinf->macdflow_id[pos]); PROTO_ITEM_SET_GENERATED(channel_type); - call_dissector(rlc_ps_dtch_handle, next_tvb, pinfo, tree); + call_dissector_with_data(rlc_ps_dtch_handle, next_tvb, pinfo, tree, data); break; case MAC_CONTENT_CS_DTCH: proto_item_append_text(ti, " (CS DTCH)"); |