I am sending dissector for next layer(LLC) of GPRS Gb line stack and patch to lower layer dissector to be able call this new one.The "diff -c" was done against source packet-bssgp.c contained in devolopment tree from 30.3.2004.The patch doesn't contain changes in Makefile.common. Please, could you do it? Thank you.
Josef
*** ethereal-2004-02-28/packet-bssgp.c Tue Apr 6 07:59:26 2004
--- ethereal-2004-03-30/packet-bssgp.c Sun Dec 28 13:43:38 2003
***************
*** 316,325 ****
static int hf_bssgp_noaff = -1;
/*static int hf_bssgp_FIELDABBREV = -1;*/
! /*static dissector_handle_t data_handle;
*/
- static dissector_handle_t llcgprs_handle;
-
/* Initialize the subtree pointers */
static gint ett_bssgp = -1;
static gint ett_bssgp_tlli = -1;
--- 316,324 ----
static int hf_bssgp_noaff = -1;
/*static int hf_bssgp_FIELDABBREV = -1;*/
! static dissector_handle_t data_handle;
! /*static dissector_handle_t llcgprs_handle;
*/
/* Initialize the subtree pointers */
static gint ett_bssgp = -1;
static gint ett_bssgp_tlli = -1;
***************
*** 1091,1097 ****
if (dprm_p->tree){
code = tvb_get_guint8(tvb,offset);
! ti = proto_tree_add_text(dprm_p->tree,tvb,offset,llen+2 ,"LLC PDU %u bytes", llen);
b_llc_tree = proto_item_add_subtree(ti, ett_b_llc_tree);
proto_tree_add_uint_format(b_llc_tree,hf_bssgp_ietype,tvb,offset,1,code,"IE type: %s %#.2x",match_strval(code,bssgp_iei),code);
proto_tree_add_text(b_llc_tree,tvb,offset+1,k-1,"Length:%u",llen);
--- 1090,1096 ----
if (dprm_p->tree){
code = tvb_get_guint8(tvb,offset);
! ti = proto_tree_add_text(dprm_p->tree,tvb,offset,llen ,"LLC PDU %u bytes", llen);
b_llc_tree = proto_item_add_subtree(ti, ett_b_llc_tree);
proto_tree_add_uint_format(b_llc_tree,hf_bssgp_ietype,tvb,offset,1,code,"IE type: %s %#.2x",match_strval(code,bssgp_iei),code);
proto_tree_add_text(b_llc_tree,tvb,offset+1,k-1,"Length:%u",llen);
***************
*** 1525,1533 ****
offset=offset+( *bssgp_pdu[i].infe[j].decode)(tvb, offset, decodeparam );
if (iele == 0x0e ){
next_tvb = tvb_new_subset(tvb, decodeparam->k, -1, -1);
! call_dissector(llcgprs_handle, next_tvb, pinfo, tree);
! /* call_dissector(data_handle, next_tvb, pinfo, tree);
! */
}
j++;
}
--- 1524,1532 ----
offset=offset+( *bssgp_pdu[i].infe[j].decode)(tvb, offset, decodeparam );
if (iele == 0x0e ){
next_tvb = tvb_new_subset(tvb, decodeparam->k, -1, -1);
! /* call_dissector(llcgprs_handle, next_tvb, pinfo, tree);
! */
! call_dissector(data_handle, next_tvb, pinfo, tree);
}
j++;
}
***************
*** 1680,1686 ****
*/
/* dissector_add("fr.ietf", 0x0, bssgp_handle);
*/
! /* data_handle = find_dissector("data");
! */
llcgprs_handle = find_dissector ("llcgprs");
}
--- 1679,1687 ----
*/
/* dissector_add("fr.ietf", 0x0, bssgp_handle);
*/
! data_handle = find_dissector("data");
!
! /*
llcgprs_handle = find_dissector ("llcgprs");
+ */
}
Attachment:
packet-gprs-llc.c
Description: Binary data