Re: Ethernet over Kernel Sockets

From: Lukas Razik
Date: Mon Mar 03 2008 - 17:55:43 EST


Hello Pavel!

Thanks for your answer!

As you know, some network cards doesn't have a 'eth' interface under linux.
Because of that I'm developing a net_device based driver which doesn't transmit and receive directly through a real network card but through UDP kernel sockets.

What is it good for?

It's good for network cards which have a socket implementation but no 'eth' interface which is needed by some applications...

The interesting thing is, that I always get PingPongs of 1ms (= one jiffie). Although if I measure with 100MBit- or other non-Ethernet cards.

Try increasing HZ :-)... or maybe it is a gigabit interrupt mitigation
issue?

Yes, that would have been a nice solution for an OS-freak (like me and sure like you) but there are also other people :-/ who want to run more than the really nice linux kernel on their machines... ;-)))

The performance brake was the kernel thread for receiving packets. My solution are socket callbacks.
The idea I've got from someone of the kernelnewbies mailing list and some other people. Now I've PingPong times of ~30µsec (with Ethernet over Sockets over Ethernet, which natively has ~23µsec).

For interested people:
http://mail.nl.linux.org/kernelnewbies/2008-03/msg00005.html

Regards,
Lukas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/