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 <[email protected] >
Signed-off-by: John W. Linville <[email protected] >
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
ARM: 7102/1: mach-integrator: update defconfig
2011-10-17 09:13:40 +01:00
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
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
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
ARM: platform fixups: remove mdesc argument to fixup function
2011-10-17 09:13:41 +01:00
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
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
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
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
mach-h720x
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
mach-imx
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
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
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
mach-iop32x
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
mach-iop33x
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
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
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
mach-ixp2000
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
mach-kirkwood
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
mach-ks8695
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
mach-l7200/include /mach
mach-lpc32xx
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
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
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
mach-mx5
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
mach-mxs
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
mach-netx
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
mach-nomadik
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
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
ARM: platform fixups: remove mdesc argument to fixup function
2011-10-17 09:13:41 +01:00
mach-pnx4008
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
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
ARM: mach-s3c2400: delete
2011-07-18 10:59:26 -04:00
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
ARM: S3C2443: Fix bit-reset in setrate of clk_armdiv
2011-09-26 10:30:29 +09:00
mach-s5p64x0
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
mach-s5pc100
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
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
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
mach-spear6xx
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
mach-tcc8k
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
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
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
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
ARM: 7022/1: allow to detect conflicting zreladdrs
2011-10-17 09:12:40 +01:00
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
ARM: convert PCI defines to variables
2011-07-12 11:19:29 -05:00
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
genirq: replace irq_gc_ack() with {set,clr}_bit variants (fwd)
2011-07-07 16:02:26 +00:00
plat-pxa
mmc: sdhci-pxa: move platform data to include/linux/platform_data
2011-07-20 17:20:52 -04:00
plat-s3c24xx
Merge branch 'next/deletion' of git+ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc
2011-07-25 12:43:28 -07:00
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
Merge branch 'next/cross-platform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc
2011-07-26 17:12:10 -07:00
plat-tcc
ARM: Consolidate the clkdev header files
2011-07-19 18:09:45 +02:00
plat-versatile
tools
ARM: Add a few machine types to mach-types
2011-10-17 13:28:46 +01:00
vfp
ARM: vfp: use -mfloat-abi=soft to build vfp
2011-10-01 21:08:55 +02:00
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
ARM: 7012/1: Set proper TEXT_OFFSET for newer MSMs
2011-08-13 11:26:18 +01:00