original_kernel/arch/arm
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
..
boot Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
common Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 16:17:32 +02:00
configs
include/asm net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
kernel Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 16:17:32 +02:00
lib Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-at91
mach-bcmring Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-10-25 12:11:02 +02:00
mach-clps711x
mach-cns3xxx Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-davinci Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-dove Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-ebsa110 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-ep93xx
mach-exynos4 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-footbridge Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 16:17:32 +02:00
mach-gemini
mach-h720x
mach-imx
mach-integrator Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 16:17:32 +02:00
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 16:17:32 +02:00
mach-ixp23xx
mach-ixp2000
mach-kirkwood
mach-ks8695
mach-l7200/include/mach
mach-lpc32xx
mach-mmp Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb 2011-10-25 12:23:15 +02:00
mach-msm Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm 2011-10-25 15:18:39 +02:00
mach-mv78xx0
mach-mx5
mach-mxs
mach-netx
mach-nomadik
mach-nuc93x Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-10-25 12:11:02 +02:00
mach-omap1 Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm 2011-10-25 15:18:39 +02:00
mach-omap2 Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb 2011-10-25 12:23:15 +02:00
mach-orion5x
mach-pnx4008
mach-prima2 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-pxa Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-10-25 12:11:02 +02:00
mach-realview Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-rpc Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-s3c64xx Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty 2011-10-26 15:11:09 +02:00
mach-s3c2400/include/mach
mach-s3c2410 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-s3c2412 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-s3c2416 ARM: S3C24XX: Fix s3c24xx build errors if !CONFIG_PM 2011-10-22 04:00:53 +09:00
mach-s3c2440 ARM: S3C24XX: Fix s3c24xx build errors if !CONFIG_PM 2011-10-22 04:00:53 +09:00
mach-s3c2443
mach-s5p64x0
mach-s5pc100
mach-s5pv210 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-sa1100 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-shark Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 16:17:32 +02:00
mach-shmobile Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm 2011-10-25 15:18:39 +02:00
mach-spear3xx
mach-spear6xx
mach-tcc8k
mach-tegra Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-u300 Merge branch 'for-next' of git://git.linaro.org/people/triad/linux-pinctrl 2011-10-25 14:04:01 +02:00
mach-ux500 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-versatile
mach-vexpress Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-vt8500 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-w90x900 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-10-25 12:11:02 +02:00
mach-zynq
mm Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 16:17:32 +02:00
nwfpe
oprofile
plat-iop
plat-mxc Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core 2011-10-25 12:13:59 +02:00
plat-nomadik
plat-omap Merge branches 'arnd-randcfg-fixes', 'debug', 'io' (early part), 'l2x0', 'p2v', 'pgt' (early part) and 'smp' into for-linus 2011-10-25 08:19:29 +01:00
plat-orion
plat-pxa
plat-s3c24xx
plat-s5p Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty 2011-10-26 15:11:09 +02:00
plat-samsung Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty 2011-10-26 15:11:09 +02:00
plat-spear
plat-tcc
plat-versatile
tools ARM: Add a few machine types to mach-types 2011-10-17 13:28:46 +01:00
vfp
Kconfig 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
Kconfig-nommu
Kconfig.debug Merge branches 'arnd-randcfg-fixes', 'debug', 'io' (early part), 'l2x0', 'p2v', 'pgt' (early part) and 'smp' into for-linus 2011-10-25 08:19:29 +01:00
Makefile