I'm using kernel sockets to Tx and Rx UDP packets between my hardware
device (DSP) to the external network (this is part of a VoIP
implementation). The motivation for using kernel sockets rather than
user-space sockets is to avoid the copying of data between kernel and
user spaces.

I have no problems on the Tx side (I simply call sock_sendmsg on one
of the sockets), but for the Rx side I want to listen-in on multiple
sockets in blocking mode (I don't want to use polling).

Is there a way to listen-in on multiple kernel sockets from one kernel
thread? In the user space I would have used select(), but I am not
familiar with a similar solution for the kernel space.


Eitan Richardson
AudioCodes Ltd.