linux/arch
Johannes Berg 6e3e939f3b net: add wireless TX status socket option
The 802.1X EAPOL handshake hostapd does requires
knowing whether the frame was ack'ed by the peer.
Currently, we fudge this pretty badly by not even
transmitting the frame as a normal data frame but
injecting it with radiotap and getting the status
out of radiotap monitor as well. This is rather
complex, confuses users (mon.wlan0 presence) and
doesn't work with all hardware.

To get rid of that hack, introduce a real wifi TX
status option for data frame transmissions.

This works similar to the existing TX timestamping
in that it reflects the SKB back to the socket's
error queue with a SCM_WIFI_STATUS cmsg that has
an int indicating ACK status (0/1).

Since it is possible that at some point we will
want to have TX timestamping and wifi status in a
single errqueue SKB (there's little point in not
doing that), redefine SO_EE_ORIGIN_TIMESTAMPING
to SO_EE_ORIGIN_TXSTATUS which can collect more
than just the timestamp; keep the old constant
as an alias of course. Currently the internal APIs
don't make that possible, but it wouldn't be hard
to split them up in a way that makes it possible.

Thanks to Neil Horman for helping me figure out
the functions that add the control messages.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-11-09 16:01:02 -05:00
..
alpha net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
arm net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
avr32 net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
blackfin Blackfin: irq: remove IRQF_DISABLED 2011-10-26 04:22:26 -04:00
cris net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
frv net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
h8300 net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
ia64 net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
m32r net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
m68k net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
microblaze microblaze: add missing CONFIG_ prefixes 2011-10-13 10:39:24 +02:00
mips net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
mn10300 net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
openrisc doc: fix broken references 2011-09-27 18:08:04 +02:00
parisc net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
powerpc net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
s390 net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
score
sh net: sh_eth: move the asm/sh_eth.h to include/linux/ 2011-09-28 13:41:51 -04:00
sparc net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
tile Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 17:15:03 +02:00
um Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 17:15:03 +02:00
unicore32 doc: fix broken references 2011-09-27 18:08:04 +02:00
x86 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 17:43:08 +02:00
xtensa net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
.gitignore
Kconfig