[linux-dvb] DVB Networking Module

Christian Praehauser cpraehaus at cosy.sbg.ac.at
Fri Jun 1 11:58:43 CEST 2007


Hello!

Johannes Stezenbach wrote:
> Hi,
>
> On Sun, May 27, 2007, Christian Prähauser wrote:
>   
>> Johannes Stezenbach wrote:
>>     
>>> On Wed, May 16, 2007, Christian Praehauser wrote:
>>>   
>>>       
>>>> The branch is available at 
>>>> http://www.cosy.sbg.ac.at/~cpraehaus/hg.cgi/v4l-dvb.
>>>>         
>
> What you did to include/linux/dvb/net.h is not allowed.
> You must not break backwards compatibility of userspace
> APIs. You can only add new ioctls or make backwards compatible
> changes to existing ioctls, but not delete or change them.
> Or add old cruft to Documentation/feature-removal-schedule.txt.
>
>   
I'll define new (unique) IOCTLs for the new commands and add/implement 
the old ones
for being backwards-compatible.
> (Well, I have no practical experience with dvb-net, and the
> API design is from Nokia, so maybe it's totally broken and
> no one uses it. But unless you are absolutely sure that
> there are no users you are not allowed to break it.)
>
>   
It is definitely used and thus should not be broken.
> Have you looked at the ioctls which ifconfig uses?
> (man 2 ioctl_list)
> E.g. would it be possible to use SIOCGIFCONF to
> find the dvb-net interfaces?
> Could one use ifconfig e.g. to set the MAC?
>
>   
A dvb network interface (dvb-net interface) behaves like a regular 
network interface (e.g. ethernet NIC).
It is listed in the output of ifconfig. You can also set/override the 
MAC. By default, the MAC address of a
dvb-net interface is set to the MAC which is proposed by the 
corresponding DVB adapter.
You can bring the interface up and down, bring it into promiscuous mode, 
etc.
Of course, this all assumes that you have created/configured the dvb-net 
interface with the dvbnet tool before.
> In general, I'm not convinced that it was a good idea
> to put dvb-net in the kernel at all, because I think
> usually MPE/ULE traffic would be encrypted (probably
> with your ISP's proprietary scheme), so you'd have a daemon
> in userspace which sets the section filters to receive
> the data, decrypt it, and feed packets into the network
> stack via a tun device. IMHO the overhead of doing it
> in userspace would be minor. 
>   
Honestly, I cannot estimate how much overhead it is to pass 30 to 38 
Mbit of data from
kernel to userspace and back again. Would be interesting to test... 
Maybe I'll do that.
Nevertheless, I think having dvb networking provided by the kernel as an 
option is ok.
And with dvb-net, it really is optional now.

As you mentioned (link-layer) security: the IPDVB working group at the 
IETF is currently
working on a security extension for ULE. If it's ready and implemented 
for dvb-net
then some ISPs, or platform operators may think about using this 
existing standard
(BTW, ULE extensions can be implemented as Linux modules).

> It also makes it easy to
> use multiple PIDs which didn't work well with dvb-net
> (one PID per dvb net device).
As of the new dvb-net module, you can receive multiple PIDs on a single 
dvb-net interface (maybe using
different encapsulations).
> But again, I have no practical experience with dvb-net,
> you're the dvb-net expert now ;-), so I trust you to
> make the right decision.
>
>   
Stop, I'm getting red ;-).
Seriously, I've some experience in this field but what actually counts 
is what is required by the users
and to come up with something that is useful to them.
In so far, it would be good if potential users really try this out and 
give feedback. Of course also
helpful would be if some operators (e.g. ISPs) would tell us which 
scenarios they have, so that we can
take them into account.

> BTW, what's this?
>
> +source "drivers/media/dvb/dvbloop/Kconfig"
Oh, I forgot to remove this. This is for another dvb-related thing I'm 
doing. A DVB loopback adapter.
Very handy if you don't have a real one ;-).
"[...] provides one or more virtual DVB adapters. When loaded, it 
creates a char device of the form
/dev/dvblo<num> for every virtual DVB adapter. All Transport Stream 
packets written to a char
device will be delivered on the corresponding virtual DVB adapter. "

Thanks for your comments (again)!
Cheers,
Christian.
-- 
Christian Praehauser <cpraehaus at cosy.sbg.ac.at>
|| //\\//\\ || Multimedia Communications Group,
||//  \/  \\|| Department of Computer Sciences, University of Salzburg
http://student.cosy.sbg.ac.at/~cpraehaus/
http://www.network-research.org/
http://www.uni-salzburg.at/



More information about the linux-dvb mailing list