Hi Iam developing custom dissector. I have almost Finished everything except this reassembly.
I could not understand realy. The basic Scenario is for reassembly is
create table fragment_add_seq_next and process process_reassembled_data .
But my reassembly not happening?? Can anyone tell me what i have left and why my code not showing reassembly?
static reassembly_table mine_reassembly_table;
static int hf_mine_fragments = -1;
static int hf_mine_fragment = -1;
static int hf_mine_fragment_overlap = -1;
static int hf_mine_fragment_overlap_conflicts = -1;
static int hf_mine_fragment_multiple_tails = -1;
static int hf_mine_fragment_too_long_fragment = -1;
static int hf_mine_fragment_error = -1;
static int hf_mine_fragment_count = -1;
static int hf_mine_reassembled_in = -1;
static int hf_mine_reassembled_length = -1;
static gint ett_mine_fragment = -1;
static gint ett_mine_fragments = -1;
static const fragment_items mine_frag_items = {
/* Fragment subtrees */
&ett_mine_fragment,
&ett_mine_fragments,
/* Fragment fields */
&hf_mine_fragments,
&hf_mine_fragment,
&hf_mine_fragment_overlap,
&hf_mine_fragment_overlap_conflicts,
&hf_mine_fragment_multiple_tails,
&hf_mine_fragment_too_long_fragment,
&hf_mine_fragment_error,
&hf_mine_fragment_count,
/* Reassembled in field */
&hf_mine_reassembled_in,
/* Reassembled length field */
&hf_mine_reassembled_length,
/* Reassembled data field */
NULL,
/* Tag */
"mine fragments"
};
static void mine_init_protocol(void)
{
/* fragment_table_init(&mine_fragment_table); */
/* reassembled_table_init(&mine_reassembled_table); */
reassembly_table_init(&mine_reassembly_table, &addresses_reassembly_table_functions);
}
save_fragmented = pinfo->fragmented;
pinfo->fragmented = TRUE;
mine_frag_msg = fragment_add_seq_next(&mine_reassembly_table,next_tvb, offset_payload, pinfo, mine_seqid, NULL,
reassebled_data_total_length, more_frags);
mine_tvb = process_reassembled_data( next_tvb, offset_payload, pinfo, "Reassembled PDU", mine_frag_msg,
&mine_frag_items, NULL, FT_BCnPDU_tree );
reassebled_data_total_length =0;
proto_tree_add_text(FT_BCnPDU_tree, mine_tvb, offset_payload, 1, " reassebled data ");
ALSIGPDU(mine_tvb, pinfo, tree);
asked 24 Nov ‘14, 01:13
umar
26●22●24●27
accept rate: 0%