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
..
bitops
asm-generic: add another generic ext2 atomic bitops
2011-07-26 16:49:46 -07:00
4level-fixup.h
atomic-long.h
atomic.h
asm-generic/atomic.h: allow SMP peeps to leverage this
2011-07-26 16:49:48 -07:00
atomic64.h
audit_change_attr.h
audit: support the "standard" <asm-generic/unistd.h>
2011-05-04 14:41:28 -04:00
audit_dir_write.h
audit: support the "standard" <asm-generic/unistd.h>
2011-05-04 14:41:28 -04:00
audit_read.h
audit: support the "standard" <asm-generic/unistd.h>
2011-05-04 14:41:28 -04:00
audit_signal.h
audit_write.h
audit: support the "standard" <asm-generic/unistd.h>
2011-05-04 14:41:28 -04:00
auxvec.h
bitops.h
bitops: remove minix bitops from asm/bitops.h
2011-03-23 19:46:22 -07:00
bitsperlong.h
bug.h
bug.h: Move ratelimit warn interfaces to ratelimit.h
2011-05-26 15:00:31 -04:00
bugs.h
cache.h
cacheflush.h
asm-generic/cacheflush.h: flush icache when copying to user pages
2011-05-25 08:39:37 -07:00
checksum.h
cmpxchg-local.h
Fix IRQ flag handling naming
2010-10-07 14:08:55 +01:00
cmpxchg.h
cputime.h
cputime: Clean up cputime_to_usecs and usecs_to_cputime macros
2011-09-08 11:10:55 +02:00
current.h
delay.h
asm-generic: delay.h fix udelay and ndelay for 8 bit args
2011-07-22 18:45:33 +02:00
device.h
div64.h
dma-coherent.h
dma-mapping-broken.h
dma-mapping: remove dma_is_consistent API
2010-08-11 08:59:21 -07:00
dma-mapping-common.h
dma-mapping: remove unnecessary sync_single_range_* in dma_map_ops
2010-05-27 09:12:52 -07:00
dma.h
emergency-restart.h
errno-base.h
errno.h
mm: make __get_user_pages return -EHWPOISON for HWPOISON page optionally
2011-03-17 13:08:27 -03:00
fb.h
fcntl.h
locks: move F_INPROGRESS from fl_type to fl_flags field
2011-08-19 13:25:34 -04:00
ftrace.h
asm-generic headers: add ftrace.h
2011-03-17 09:19:04 +08:00
futex.h
futex: Sanitize futex ops argument types
2011-03-11 12:23:31 +01:00
getorder.h
gpio.h
gpio: add GPIOF_ values regardless on kconfig settings
2011-06-16 08:40:52 -06:00
hardirq.h
Fix IRQ flag handling naming
2010-10-07 14:08:55 +01:00
hw_irq.h
ide_iops.h
int-l64.h
int-ll64.h
io.h
iomap: make IOPORT/PCI mapping functions conditional
2011-07-22 18:46:26 +02:00
ioctl.h
ioctls.h
tty: add TIOCVHANGUP to allow clean tty shutdown of all ttys
2011-02-17 14:16:30 -08:00
iomap.h
iomap: make IOPORT/PCI mapping functions conditional
2011-07-25 10:32:42 -07:00
ipcbuf.h
irq.h
irq_regs.h
core: Replace __get_cpu_var with __this_cpu_read if not used for an address.
2010-12-17 15:07:19 +01:00
irqflags.h
Fix IRQ flag handling naming
2010-10-07 14:08:55 +01:00
Kbuild
include: replace unifdef-y with header-y
2010-08-14 22:26:51 +02:00
Kbuild.asm
include: replace unifdef-y with header-y
2010-08-14 22:26:51 +02:00
kdebug.h
asm-generic: kdebug.h: Checkpatch cleanup
2010-10-09 21:51:44 +02:00
kmap_types.h
include/asm-generic/kmap_types.h: add helpful reminder
2010-05-25 08:07:03 -07:00
libata-portmap.h
linkage.h
local.h
atomic: use <linux/atomic.h>
2011-07-26 16:49:47 -07:00
local64.h
atomic: use <linux/atomic.h>
2011-07-26 16:49:47 -07:00
memory_model.h
mm: fix __page_to_pfn for a const struct page argument
2011-08-17 13:00:20 -07:00
mm_hooks.h
mman-common.h
thp: mm: define MADV_NOHUGEPAGE
2011-01-13 17:32:47 -08:00
mman.h
mm: add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions
2009-09-22 07:17:41 -07:00
mmu.h
mmu_context.h
module.h
msgbuf.h
mutex-dec.h
mutex-null.h
mutex-xchg.h
mutex.h
page.h
param.h
parport.h
pci-bridge.h
pci: move microblaze and powerpc pci flag functions into asm-generic
2011-07-12 11:13:07 -05:00
pci-dma-compat.h
dma-mapping: pci: move pci_set_dma_mask and pci_set_consistent_dma_mask to pci-dma-compat.h
2010-03-12 15:52:42 -08:00
pci.h
percpu.h
percpu: Optimize __get_cpu_var()
2010-09-10 10:56:51 +02:00
pgalloc.h
pgtable-nopmd.h
pgtable-nopud.h
pgtable.h
include/asm-generic/pgtable.h: fix unbalanced parenthesis
2011-06-15 20:04:00 -07:00
poll.h
posix_types.h
ptrace.h
asm-generic/ptrace.h: start a common low level ptrace helper
2011-05-26 17:12:36 -07:00
resource.h
ulimit: raise default hard ulimit on number of files to 4096
2011-05-25 08:39:43 -07:00
rtc.h
scatterlist.h
asm-generic: remove ARCH_HAS_SG_CHAIN in scatterlist.h
2010-05-27 09:12:54 -07:00
sections.h
x86: Separate out entry text section
2011-03-08 17:22:11 +01:00
segment.h
sembuf.h
serial.h
setup.h
shmbuf.h
shmparam.h
siginfo.h
Fix common misspellings
2011-03-31 11:26:23 -03:00
signal-defs.h
signal.h
sizes.h
asm-generic headers: add sizes.h
2011-03-17 09:19:04 +08:00
socket.h
net: add wireless TX status socket option
2011-11-09 16:01:02 -05:00
sockios.h
spinlock.h
stat.h
asm-generic/stat.h: support 64-bit file time_t for stat()
2010-11-01 15:31:29 -04:00
statfs.h
add f_flags to struct statfs(64)
2010-08-09 16:48:44 -04:00
string.h
swab.h
syscall.h
asm-generic: syscall_get_nr returns int
2009-09-22 19:56:50 -07:00
syscalls.h
Fix the declaration of sys_execve() in asm-generic/syscalls.h
2010-08-18 12:12:38 -07:00
system.h
asm-generic/system.h: drop useless __KERNEL__
2011-07-25 20:57:14 -07:00
termbits.h
tty: Add EXTPROC support for LINEMODE
2010-08-10 13:47:39 -07:00
termios-base.h
termios.h
timex.h
tlb.h
mm: uninline large generic tlb.h functions
2011-05-25 08:39:20 -07:00
tlbflush.h
topology.h
topology: alternate fix for ia64 tiger_defconfig build breakage
2010-08-09 20:44:57 -07:00
types.h
add the common dma_addr_t typedef to include/linux/types.h
2011-03-22 17:44:09 -07:00
uaccess-unaligned.h
uaccess.h
asm-generic headers: add arch-specific __strnlen_user calling in uaccess.h
2011-03-17 09:19:05 +08:00
ucontext.h
unaligned.h
unistd.h
All Arch: remove linkage for sys_nfsservctl system call
2011-08-26 15:09:58 -07:00
user.h
asm-generic/user.h: Fix spelling in comment
2011-03-01 15:49:39 +01:00
vga.h
vmlinux.lds.h
m68k: Finally remove leftover markers sections
2011-10-24 21:00:34 +02:00
xor.h
sanitize <linux/prefetch.h> usage
2011-05-20 12:50:29 -07:00