Wireshark-dev: Re: [Wireshark-dev] ATM over Ethernet

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Mon, 5 Nov 2012 10:53:31 -0800
On Nov 5, 2012, at 4:14 AM, Alex Bennee <kernel-hacker@xxxxxxxxxx> wrote:

> We use a fairly simple ATM over Ethernet encapsulation for linking old
> ATM based circuits with modern Ethernet based hardware. I was able to
> enable the packet-atm.c to decde these frames very easily (see
> attached) but I was looking for pointers for the next bit.
> 
> Currently I can't see a way to specify treating the rest of the frame
> as multiple frames. Do I need to extend the ATM dissector to call
> itself if the remaining frame is larger than 53 bytes?

No, you need to implement a dissector for your ATM-over-Ethernet encapsulation that repeatedly calls the ATM dissector for each cell.  Multiple cells encapsulated in an Ethernet packet is a characteristic of your encapsulation, not of ATM, so the code to handle that should be part of the dissector for your encapsulation, not the dissector for ATM.

> Also how is the AAL encoding determined? Should I just register the
> handlers for the multiple AAL types and let the user decide?

Yes.  The AAL encoding is determined by whatever AAL information is in the capture file, and I suspect that is often put there by a user explicitly configuring the capturing machine.