From: Jouni Malinen (jkmaline_at_cc.hut.fi)
Date: 2002-04-05 11:21:18 UTC
On Fri, Apr 05, 2002 at 02:42:29PM +0400, Nil Alexandrov wrote:
> What kind of socket are you going to use to communicate between the kernel
> driver and a user space daemon ? Does the user space daemon have to use
> packet inject to send a raw 802.11 frame as a reply ?
I don't know yet (well described and justified ideas are welcome ;-). There may be need for sending a lot of messages (e.g., all received beacon frames and possibly buffered data frames for stations using power saving) so netlink sockets used in monitor mode 1 might not be the best solution. Anyway, there will be wrapper functions for sending and receiving this messages in kernel driver and user space daemon, so changing the used method should be easy. Yes, the daemon would use something similar for packet inject code for the replies.
One idea would be to use additional netdevice (e.g., wlan0ap) that would be set to ARPHRD_IEEE80211. This would have the bonus of allowing, e.g., Ethereal to be used to sniff all management frames without any changes to the code.. However, I would like to include optional extra information to the messages (like Prism2 RX/TX descriptor and some extra data and log information). I'll have to check, if this could be easily done by adding the extra information after the normal frame data. Another possibility would be to use a special netdevice type for this.
The daemon would also need to control the kernel driver (e.g., add new stations). This could use the same message passing mechanism or ioctls, etc.
-- Jouni Malinen PGP id EFC895FA