tcpdump mailing list archives

Re: Linktype allocation for ATSC link layer protocol


From: Nick Kelsey via tcpdump-workers <tcpdump-workers () lists tcpdump org>
Date: Fri, 20 Mar 2020 13:27:20 -0400 (EDT)

--- Begin Message --- From: Nick Kelsey <nickk () silicondust com>
Date: Fri, 20 Mar 2020 10:28:27 -0700
After going to interop/test events and discussions with other engineers in the field it looks like a lot of the junk in the ATSC ALP protocol will never be used and can be ignored.

The protocol is defined in the ATSC A/330 standard.

Proposed implementation:

1) Check the packet_type (first 3 bits of the packet). If the packet type is 7 (MPEG2 transport stream) then report "MPEG2 transport stream" and stop parsing. It is likely this packet type will never be used in real-world use. Note that the fields that follow don't apply when the packet type is 7 - all we can do is report the packet type and stop.

2) If the payload_configuration bit is 1 check the segmentation_concatenation bit.

If the segmentation_concatenation bit is 0 report that it is a "segmented packet" and stop parsing. It is likely this mode will never be used in real world use (the layer below this protocol does segmentation/reassembly).

If the segmentation_concatenation bit is 1 report that it is a "concatenation packet" and stop parsing. It is likely this mode will never be used in real world use.

3) If the payload_configuration bit is 0 then the packet is useful!

If header_mode is 0 then report the length and the packet_type. The packet type will typically be IPv4 packet (packet_type = 0) where the payload is a normal IPv4 packet.

The other possible packet type is a link layer signalling packet (packet_type = 4). In this case there is an "Addition Header for Signaling" header followed by a table. Note that the payload_length tells you the table length - it does not include the "Addition Header for Signaling" header length.

If header_mode is 1 then parse the single_packet_hdr().

If SIF flag is set then parse/skip sub_stream_identification() header.

If HEF flag is set the parse/skip header_extension() header.

At this point you look at the packet type, following the same logic as header_mode 0 above.

Nick



--- End Message ---
_______________________________________________
tcpdump-workers mailing list
tcpdump-workers () lists tcpdump org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers

Current thread: