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
..
9p
net/9p: Convert net/9p protocol dumps to tracepoints
2011-10-24 11:13:12 -05:00
bluetooth
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next
2011-11-09 14:54:33 -05:00
caif
caif-hsi: Added recovery check of CA wake status.
2011-10-19 03:25:43 -04:00
irda
Fix common misspellings
2011-03-31 11:26:23 -03:00
iucv
af_iucv: add HiperSockets transport
2011-08-13 01:10:16 -07:00
netfilter
atomic: use <linux/atomic.h>
2011-07-26 16:49:47 -07:00
netns
atomic: use <linux/atomic.h>
2011-07-26 16:49:47 -07:00
nfc
NFC: protect nci_data_exchange transactions
2011-09-27 14:34:05 -04:00
phonet
net: dont hold rtnl mutex during netlink dump callbacks
2011-05-02 15:26:28 -07:00
sctp
Merge branch 'master' of github.com:davem330/net
2011-09-22 03:23:13 -04:00
tc_act
act_api.h
net: sched: constify tcf_proto and tc_action
2011-07-06 02:52:16 -07:00
addrconf.h
ipv6: updates to privacy addresses per RFC 4941.
2011-08-01 18:05:00 -07:00
af_ieee802154.h
af_rxrpc.h
net: Remove __KERNEL__ cpp checks from include/net
2011-04-24 10:54:56 -07:00
af_unix.h
net: Remove __KERNEL__ cpp checks from include/net
2011-04-24 10:54:56 -07:00
ah.h
ipsec: update MAX_AH_AUTH_LEN to support sha512
2011-01-13 21:48:25 -08:00
arp.h
net: Add ->neigh_lookup() operation to dst_ops
2011-07-18 00:40:17 -07:00
atmclip.h
net: Remove __KERNEL__ cpp checks from include/net
2011-04-24 10:54:56 -07:00
ax25.h
atomic: use <linux/atomic.h>
2011-07-26 16:49:47 -07:00
ax88796.h
cfg80211-wext.h
cfg80211: remove unused wext handler exports
2011-08-08 14:26:29 -04:00
cfg80211.h
cfg80211: annotate cfg80211_inform_bss
2011-11-09 16:00:59 -05:00
checksum.h
cipso_ipv4.h
doc: Update the email address for Paul Moore in various source files
2011-08-01 17:58:33 -07:00
cls_cgroup.h
Merge commit 'v2.6.36-rc7' into core/rcu
2010-10-07 09:43:45 +02:00
compat.h
net: Add sendmmsg socket system call
2011-05-05 11:10:14 -07:00
datalink.h
dcbevent.h
dcb: Add stub routines for !CONFIG_DCB
2011-10-06 15:49:51 -04:00
dcbnl.h
dcb: add DCBX mode to event notifier attributes
2011-10-06 15:49:51 -04:00
dn.h
decnet: Convert to use flowidn where applicable.
2011-03-12 15:08:55 -08:00
dn_dev.h
decnet: RCU conversion and get rid of dev_base_lock
2010-11-08 13:50:08 -08:00
dn_fib.h
decnet: Convert to use flowidn where applicable.
2011-03-12 15:08:55 -08:00
dn_neigh.h
dn_nsp.h
dn_route.h
decnet: Convert to use flowidn where applicable.
2011-03-12 15:08:55 -08:00
dsa.h
dsfield.h
dst.h
rps: Add flag to skb to indicate rxhash is based on L4 tuple
2011-08-17 20:06:03 -07:00
dst_ops.h
net: Add ->neigh_lookup() operation to dst_ops
2011-07-18 00:40:17 -07:00
esp.h
ethoc.h
fib_rules.h
fib_rules: __rcu annotates ctarget
2010-10-27 11:37:32 -07:00
flow.h
net: Handle different key sizes between address families in flow cache
2011-09-16 17:47:28 -04:00
garp.h
garp: remove last synchronize_rcu() call
2011-05-12 17:46:56 -04:00
gen_stats.h
Fix common misspellings
2011-03-31 11:26:23 -03:00
genetlink.h
netlink: advertise incomplete dumps
2011-06-22 16:09:45 -04:00
gre.h
icmp.h
inetpeer: Move ICMP rate limiting state into inet_peer entries.
2011-02-04 15:59:53 -08:00
ieee80211_radiotap.h
mac80211: Allow noack flag overwrite for injected frames
2011-10-03 15:19:17 -04:00
ieee802154.h
ieee802154_netdev.h
if_inet6.h
ipv6: updates to privacy addresses per RFC 4941.
2011-08-01 18:05:00 -07:00
inet6_connection_sock.h
inet: Pass flowi to ->queue_xmit().
2011-05-08 15:28:28 -07:00
inet6_hashtables.h
inet_common.h
inet_connection_sock.h
ipv4: Make caller provide flowi4 key to inet_csk_route_req().
2011-05-18 18:32:03 -04:00
inet_ecn.h
inet: add rfc 3168 extract in front of INET_ECN_encapsulate()
2011-10-22 01:25:23 -04:00
inet_frag.h
inet_hashtables.h
atomic: use <linux/atomic.h>
2011-07-26 16:49:47 -07:00
inet_sock.h
ipv4: route non-local sources for raw socket
2011-08-07 22:52:32 -07:00
inet_timewait_sock.h
ipv6: tcp: fix TCLASS value in ACK messages sent from TIME_WAIT
2011-10-27 00:44:35 -04:00
inetpeer.h
atomic: use <linux/atomic.h>
2011-07-26 16:49:47 -07:00
ip.h
ipv4: tcp: fix TOS value in ACK messages sent from TIME_WAIT
2011-10-24 03:06:21 -04:00
ip6_checksum.h
ip6_fib.h
ipv6: Get rid of rt6i_nexthop macro.
2011-07-17 23:11:35 -07:00
ip6_route.h
net: Remove __KERNEL__ cpp checks from include/net
2011-04-24 10:54:56 -07:00
ip6_tunnel.h
tunnels: add _rcu annotations
2010-10-25 13:09:45 -07:00
ip_fib.h
ipv4: Call fib_select_default() only when actually necessary.
2011-04-14 15:05:22 -07:00
ip_vs.h
IPVS netns shutdown/startup dead-lock
2011-10-12 18:32:15 +02:00
ipcomp.h
ipconfig.h
ipip.h
tunnels: add __rcu annotations
2010-10-27 11:37:32 -07:00
ipv6.h
ipv6: tcp: fix TCLASS value in ACK messages sent from TIME_WAIT
2011-10-27 00:44:35 -04:00
ipx.h
net: Remove __KERNEL__ cpp checks from include/net
2011-04-24 10:54:56 -07:00
iw_handler.h
Fix common misspellings
2011-03-31 11:26:23 -03:00
lapb.h
wan: make LAPB callbacks const
2011-09-16 19:20:20 -04:00
lib80211.h
lib80211: remove exports for functions not called by other modules
2011-08-09 15:42:36 -04:00
llc.h
atomic: use <linux/atomic.h>
2011-07-26 16:49:47 -07:00
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
llc_if.h
llc_pdu.h
bonding,llc: Fix structure sizeof incompatibility for some PDUs
2011-05-13 15:13:24 -04:00
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
mac80211.h
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
2011-11-09 14:49:23 -05:00
mip6.h
mld.h
ndisc.h
net: Remove __KERNEL__ cpp checks from include/net
2011-04-24 10:54:56 -07:00
neighbour.h
atomic: use <linux/atomic.h>
2011-07-26 16:49:47 -07:00
net_namespace.h
atomic: use <linux/atomic.h>
2011-07-26 16:49:47 -07:00
net_ratelimit.h
net: Kill ratelimit.h dependency in linux/net.h
2011-05-27 13:41:33 -04:00
netdma.h
netevent.h
net: Remove __KERNEL__ cpp checks from include/net
2011-04-24 10:54:56 -07:00
netlabel.h
doc: Update the email address for Paul Moore in various source files
2011-08-01 17:58:33 -07:00
netlink.h
netlink: advertise incomplete dumps
2011-06-22 16:09:45 -04:00
netrom.h
nexthop.h
nl802154.h
p8022.h
ping.h
net: ping: fix build failure
2011-05-17 14:16:58 -04:00
pkt_cls.h
net: Fix range checks in tcf_valid_offset().
2010-12-21 12:43:16 -08:00
pkt_sched.h
net: sched: constify tcf_proto and tc_action
2011-07-06 02:52:16 -07:00
protocol.h
net: change netdev->features to u32
2011-01-24 15:32:47 -08:00
psnap.h
raw.h
include/net/raw.h: Convert raw_seq_private macro to inline
2010-09-08 13:42:22 -07:00
rawv6.h
net: Remove __KERNEL__ cpp checks from include/net
2011-04-24 10:54:56 -07:00
red.h
sched: remove unused backlog in RED stats
2011-01-12 19:00:39 -08:00
regulatory.h
wireless: relicense regulatory header to ISC
2011-08-26 10:47:56 -04:00
request_sock.h
tcp: Change possible SYN flooding messages
2011-09-15 14:49:43 -04:00
rose.h
rose: Add length checks to CALL_REQUEST parsing
2011-03-27 17:59:04 -07:00
route.h
ipv4: Pass explicit destination address to rt_bind_peer().
2011-05-18 18:42:43 -04:00
rtnetlink.h
rtnetlink: Compute and store minimum ifinfo dump size
2011-06-09 20:38:07 -07:00
sch_generic.h
net: constify skbuff and Qdisc elements
2011-10-20 17:45:43 -04:00
scm.h
af_unix: dont send SCM_CREDENTIALS by default
2011-09-28 13:29:50 -04:00
secure_seq.h
tcp: add const qualifiers where possible
2011-10-21 05:22:42 -04:00
slhc_vj.h
snmp.h
snmp: reduce percpu needs by 50%
2011-06-11 16:23:59 -07:00
sock.h
net: add wireless TX status socket option
2011-11-09 16:01:02 -05:00
stp.h
tcp.h
TCP: remove TCP_DEBUG
2011-10-24 17:36:08 -04:00
tcp_states.h
timewait_sock.h
timewait_sock: Create and use getpeer op.
2010-12-01 18:09:13 -08:00
transp_v6.h
net: relax PKTINFO non local ipv6 udp xmit check
2011-08-30 17:39:01 -04:00
udp.h
udp: Switch to ip_finish_skb
2011-03-01 12:35:03 -08:00
udplite.h
udplite: fast-path computation of checksum coverage
2011-10-17 19:07:30 -04:00
wext.h
wimax.h
net: wimax: Remove of unused 'rfkill_input' pointer
2011-06-24 17:50:44 -07:00
wpan-phy.h
Fix common misspellings
2011-03-31 11:26:23 -03:00
x25.h
X25 remove bkl in subscription ioctls
2010-11-28 11:12:20 -08:00
x25device.h
xfrm.h
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-3.6
2011-05-11 14:26:58 -04:00