1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 12. DVB Network API</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="LINUX MEDIA INFRASTRUCTURE API"><link rel="up" href="dvbapi.html" title="Part II. LINUX DVB API"><link rel="prev" href="ca_function_calls.html" title="CA Function Calls"><link rel="next" href="NET_ADD_IF.html" title="ioctl NET_ADD_IF"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 12. DVB Network API</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ca_function_calls.html">Prev</a> </td><th width="60%" align="center">Part II. LINUX DVB API</th><td width="20%" align="right"> <a accesskey="n" href="NET_ADD_IF.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a name="net"></a>Chapter 12. DVB Network API</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="net.html#net_fcalls">DVB net Function Calls</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="NET_ADD_IF.html">ioctl NET_ADD_IF</a></span><span class="refpurpose"> — Creates a new network interface for a given Packet ID.</span></dt><dt><span class="refentrytitle"><a href="NET_REMOVE_IF.html">ioctl NET_REMOVE_IF</a></span><span class="refpurpose"> — Removes a network interface.</span></dt><dt><span class="refentrytitle"><a href="NET_GET_IF.html">ioctl NET_GET_IF</a></span><span class="refpurpose">Read the configuration data of an interface created via 2 <code class="constant">NET_ADD_IF</code>.</span></dt></dl></dd></dl></div><p>The DVB net device controls the mapping of data packages that are 3 part of a transport stream to be mapped into a virtual network interface, 4 visible through the standard Linux network protocol stack.</p><p>Currently, two encapsulations are supported:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><a class="ulink" href="http://en.wikipedia.org/wiki/Multiprotocol_Encapsulation" target="_top"> 5 Multi Protocol Encapsulation (MPE)</a></p></li><li class="listitem"><p><a class="ulink" href="http://en.wikipedia.org/wiki/Unidirectional_Lightweight_Encapsulation" target="_top"> 6 Ultra Lightweight Encapsulation (ULE)</a></p></li></ul></div><p>In order to create the Linux virtual network interfaces, an application 7 needs to tell to the Kernel what are the PIDs and the encapsulation types 8 that are present on the transport stream. This is done through 9 <code class="constant">/dev/dvb/adapter?/net?</code> device node. 10 The data will be available via virtual <code class="constant">dvb?_?</code> 11 network interfaces, and will be controled/routed via the standard 12 ip tools (like ip, route, netstat, ifconfig, etc).</p><p> Data types and and ioctl definitions are defined via 13 <code class="constant">linux/dvb/net.h</code> header.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="net_fcalls"></a>DVB net Function Calls</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="refentrytitle"><a href="NET_ADD_IF.html">ioctl NET_ADD_IF</a></span><span class="refpurpose"> — Creates a new network interface for a given Packet ID.</span></dt><dt><span class="refentrytitle"><a href="NET_REMOVE_IF.html">ioctl NET_REMOVE_IF</a></span><span class="refpurpose"> — Removes a network interface.</span></dt><dt><span class="refentrytitle"><a href="NET_GET_IF.html">ioctl NET_GET_IF</a></span><span class="refpurpose">Read the configuration data of an interface created via 14 <code class="constant">NET_ADD_IF</code>.</span></dt></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ca_function_calls.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="dvbapi.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="NET_ADD_IF.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">CA Function Calls </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> ioctl NET_ADD_IF</td></tr></table></div></body></html> 15