Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-bugs: [Wireshark-bugs] [Bug 6075] New: DVB-CI dissector, packet reassembly on the link

Date: Wed, 29 Jun 2011 14:01:40 -0700 (PDT)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6075

           Summary: DVB-CI dissector, packet reassembly on the link layer
           Product: Wireshark
           Version: SVN
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: Enhancement
          Priority: Low
         Component: Wireshark
        AssignedTo: bugzilla-admin@xxxxxxxxxxxxx
        ReportedBy: wireshark@xxxxxxxxx


Created an attachment (id=6588)
 --> (https://bugs.wireshark.org/bugzilla/attachment.cgi?id=6588)
DVB-CI dissector, patch for lpdu reassembly, against r37836

Build Information:
TShark 1.7.0 (SVN Rev 37836 from /trunk)

Copyright 1998-2011 Gerald Combs <gerald@xxxxxxxxxxxxx> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled (64-bit) with GLib 2.16.6, with libpcap 0.9.8, with libz 1.2.3.3,
without POSIX capabilities, without libpcre, without SMI, without c-ares,
without ADNS, without Lua, with Python 2.5.2, with GnuTLS 2.4.2, with Gcrypt
1.4.1, with MIT Kerberos, without GeoIP.

Running on Linux 2.6.29.1, with locale en_US, with libpcap version 0.9.8, with
libz 1.2.3.3.

Built using gcc 4.3.2.

--
Dear all,

please find attached a patch against r37836 that adds reassembly of fragemented
DVB-CI link layer datagrams (lpdus).

The structure of an lpdu is fairly simple:

   1 byte "transport connection id"
   1 byte more/last indicator
   <fragment of a transport layer packet>

There's no such thing as a sequence number for the fragments, we have to assume
that lpdus arrive in order (this is mandated by the standard, DVB-CI devices
aren't able to re-order).

My approach is to run all link layer packets through 
fragment_add_seq_next() and process_reassembled_data() even if they're not
fragmented. I picked a static sequence number, there can never be two sequences
to be reassembled at the same time.

All symbol names related to fragmentation have a reference to the link layer in
their name. On the transport layer, there's another fragmentation mechanism,
I'll submit a patch for that if we have the link layer sorted.

The attached capture shows a DVB-CI module that limits the message size to 16
bytes, most messages must be fragemented in this case.

Thanks for review and merging,

   Martin

-- 
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.