Ethereal-dev: [Ethereal-dev] continuing VJ compressed PPP

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

Date Prev · Date Next · Thread Prev · Thread Next
From: Diwakar Shetty <diwakar@xxxxxxxxxxxxxx>
Date: Thu, 01 Mar 2001 09:31:44 +0600
Hi all

This is in continuation to my earlier mail regarding Vj compressesed PPP
packets.

>From the responses I got , I guess I will have to change the interface
of dissector to the latest one. i.e the following

    dissect_vjuc(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree)

However after pusuing this alternative, new issues have cropped up,
namely:

1) What all things do I have to do for creating a new "tvbuff_t *tvb".

        Can I just use the function "tvb_new_real_data()" passing the
pointer to the uncompressed data in the first arguement like in
"packet.c".

2) What about the old "tvbuff". Who will release the memory used by
that? Do I have to ? Which function to use for releasing?

3) How do I initialise the second arguement "packet_info *pinfo".

    The reason I am asking is because in our project the PPP packets are
not only compressed but also are spilt into more than one packets. Hence
it is NOT that for every packet we receive we call "dissect_ppp". Rather
after receiving "many" spilt compressed PPP packets, we REASSEMBLE,
UNCOMPRESS and then pass it on to "dissect_ppp".

    However it seems that "pi" (the global packet_info variable) seems
to be initialised/updated in various places.

    So it seems that the only way is to go through all the files ( till
the point "tvb_new_real_data()" is called in "packet.c") and see in
which all places "pi" is being updated.

    Or am I missing  something crucial here ??

regards

diwakar