[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Processing new Layer 2 encapsulation



Following the discussions of the (non-officiel) IPoDVB BoF, I have a comment on how to support new Layer 2 encapsulation within an MPEG II transport stream.

We have been working and implementing drivers from various DVB card vendors. Many of these cards deliver the complete MPEG II transport to the driver.

The driver must then, perform the following functions:
- demultiplex the different PIDs from the MPEG II transport stream
- filter PIDs if necessary
- extract the MPE frame from each PID
- filter each MPE frame according to MAC destination address
- depending the LLC_SNAP deliver the payload of the MPE packet to the right input queue (IPv4, IPv6, arp, etc)

As we may notice, most of the Layer 2 processing is performed in software whereas it would be sensible to do it in hardware. For instance, an Ethernetcard is capable to filter and discard undesired ehternet frames without the help of its driver.

This has an obvious disadvantage, it is CPU time consuming since filtering is performed in software.

However, it has one major advantage: any data type can be encapsulated within the MPEG II transport stream. The reception hardware delivers the MPEG II transport stream to the driver regardless to its content.

As a result, supporting a new MPE-like frame format would only require to update the driver without changing the hardware/firmware. This might be considered if new encapsulation schemes have to be defined...

Emmanuel
--
Emmanuel Duros                  http://www.udcast.com
2455 Route des Dolines BP355  | Tel : +33 (0)4 93 00 16 60
06906 Sophia Antipolis France | Fax : +33 (0)4 93 00 16 61
            ** Full IP over Broadcast Media **