linux/net
Luis R. Rodriguez b2e1b30290 cfg80211: Add new wireless regulatory infrastructure
This adds the new wireless regulatory infrastructure. The
main motiviation behind this was to centralize regulatory
code as each driver was implementing their own regulatory solution,
and to replace the initial centralized code we have where:

* only 3 regulatory domains are supported: US, JP and EU
* regulatory domains can only be changed through module parameter
* all rules were built statically in the kernel

We now have support for regulatory domains for many countries
and regulatory domains are now queried through a userspace agent
through udev allowing distributions to update regulatory rules
without updating the kernel.

Each driver can regulatory_hint() a regulatory domain
based on either their EEPROM mapped regulatory domain value to a
respective ISO/IEC 3166-1 country code or pass an internally built
regulatory domain. We also add support to let the user set the
regulatory domain through userspace in case of faulty EEPROMs to
further help compliance.

Support for world roaming will be added soon for cards capable of
this.

For more information see:

http://wireless.kernel.org/en/developers/Regulatory/CRDA

For now we leave an option to enable the old module parameter,
ieee80211_regdom, and to build the 3 old regdomains statically
(US, JP and EU). This option is CONFIG_WIRELESS_OLD_REGULATORY.
These old static definitions and the module parameter is being
scheduled for removal for 2.6.29. Note that if you use this
you won't make use of a world regulatory domain as its pointless.
If you leave this option enabled and if CRDA is present and you
use US or JP we will try to ask CRDA to update us a regulatory
domain for us.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-09-15 16:48:19 -04:00
..
9p
802
8021q vlan: vlan device not reading gso max size of parent. 2008-09-11 20:17:05 -07:00
appletalk
atm
ax25
bluetooth [Bluetooth] Reject L2CAP connections on an insecure ACL link 2008-09-09 07:19:20 +02:00
bridge Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-09-08 16:59:05 -07:00
can
core net: fix scheduling of dst_gc_task by __dst_free 2008-09-12 16:16:37 -07:00
dccp This reverts "Merge branch 'dccp' of git://eden-feed.erg.abdn.ac.uk/dccp_exp" 2008-09-09 13:27:22 +02:00
decnet
econet
ethernet
ieee80211 net/ieee80211: adjust error handling 2008-08-22 16:29:49 -04:00
ipv4 net: ip_vs_proto_{tcp,udp} build fix 2008-09-12 23:23:50 -07:00
ipv6 tcp_ipv6: fix use of uninitialized memory 2008-09-12 16:17:43 -07:00
ipx
irda
iucv
key
lapb
llc
mac80211 cfg80211: Add new wireless regulatory infrastructure 2008-09-15 16:48:19 -04:00
netfilter netfilter: nf_conntrack_irc: make sure string is terminated before calling simple_strtoul 2008-09-07 18:21:24 -07:00
netlabel
netlink
netrom
packet
rfkill rfkill: rename rfkill_mutex to rfkill_global_mutex 2008-08-29 16:24:11 -04:00
rose
rxrpc
sched multiq: Further multiqueue cleanup 2008-09-12 17:57:23 -07:00
sctp sctp: fix random memory dereference with SCTP_HMAC_IDENT option. 2008-08-27 16:09:49 -07:00
sunrpc sunrpc: fix possible overrun on read of /proc/sys/sunrpc/transports 2008-09-01 14:24:24 -04:00
tipc tipc: Don't use structure names which easily globally conflict. 2008-09-02 23:38:32 -07:00
unix
wanrouter
wireless cfg80211: Add new wireless regulatory infrastructure 2008-09-15 16:48:19 -04:00
x25
xfrm ipsec: Add missing list_del() in xfrm_state_gc_task(). 2008-09-09 22:13:28 -07:00
Kconfig WIRELESS: Make wireless one-click selectable. 2008-08-22 16:29:50 -04:00
Makefile
TUNABLE
compat.c
nonet.c
socket.c
sysctl_net.c