Wireshark-dev: Re: [Wireshark-dev] Troubles With Reassembly
Date: Wed, 22 Apr 2009 21:35:33 +0000
---- Guy Harris <guy@xxxxxxxxxxxx> wrote: 

=============
>Yes, that's what I said - a 3-byte BNP header and 250 bytes of BNP  
>data would have a count in the BNP header of 250, and the total length  
>of the packet, including the BNP header and the BNP data, would be 253.

sorry...mis-read

>Therefore, to reassemble BNP packets - not to reassemble multi-message  
>stuff, just to reassemble the BNP header and data - you would use  
>tcp_dissect_pdus() in the dissector that handles the BNP header.  The  
>fixed-length portion size handed to tcp_dissect_pdus() would be 3, to  
>cover the BNP header, and the get_pdu_len routine would fetch the byte  
>count from the BNP header, add 3 to it, and return the sum.

Thanks, i have changed my code around and gotten the tcp_dissect_pdus()
to work well.

>The dissector routine called by tcp_dissect_pdus() will be handed one  
>BNP message - header plus data - at a time.  That is exactly what it  
>is supposed to do, and what it should be doing.  It would dissect the  
>BNP header, and then process the data appropriately.  That might  
>involve doing its own reassembly, over and above the BNP-message  
>reassembly being done by the TCP dissector and tcp_dissect_pdus(), for  
>the multi-message stuff.

i'm not really sure what i'm supposed to be looking into for doing my
own assembly stuff. I was looking at reassemble.c as well as some
packet-foo.c files that did their own reassembly, but i found them quite
confusing. Is there any part of the reassemble.c file you would recommend,
or an example file or anything you could point me at? Maybe a quick explanation
of what are key parts in a self assembly?

Thanks for all the help,
Greg
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe