Sync 802.11 support with FreeBSD6:
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Thu, 18 May 2006 13:51:46 +0000 (13:51 +0000)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Thu, 18 May 2006 13:51:46 +0000 (13:51 +0000)
commit841ab66cf8fab8cf09e8e97cb0ca0b6494140097
treece1ae2283c0c2bda89b26e112cc119926590a0dd
parent8a637ec24fb57b048d3873965f6f35da177e7093
Sync 802.11 support with FreeBSD6:
    "it includes completed 802.11g, WPA, 802.11i, 802.1x, WME/WMM, AP-side
     power-save, crypto plugin framework, authenticator plugin framework,
     and access control plugin frameowrk."

Reoriganize the layout of netproto/802_11: put generic 802.11 layer, crypto
modules, authentication module and access control module into their own
directories.  Header files are still in their original place.

Nuke all of the mutexing in generic 802.11, reorganize ieee80211_node table
scanning a little bit.

Rename FreeBSD's m_append() to ieee80211_mbuf_append(), rename FreeBSD's
m_unshare() to ieee80211_mbuf_clone() and put them into
netproto/802_11/wlan/ieee80211_dragonly.c
They are not generic enough for public using, at least for now.
Pointed-out-by: hsu
Expose ieee80211_add_{ssid, xrates, rates}() which are used by acx(4)

Keep using opencrypto's AES implmentation for 802.11 CCMP crypto module

Sync ifconfig(8)'s 802.11 support with FreeBSD6

Update acx(4) and ndis(4) for the new 802.11 support

Sync iwi(4), ipw(4), wi(4) and ray(4) with FreeBSD6

For iwi(4):
- Fix ieee80211_node leakage
- Use a bitmap instead of FreeBSD's "unit number alloctor" to allocate IBSS node

Add generic 802.11 layer and crypto modules into GENERIC and LINT,
authentication module and access module are only added to LINT

Unhook awi(4) from GENERIC and LINT temporarily, since as of this commit it
is broken :(  It will be fixed sometime later.

Thank Sam Leffler and many other people for their work on 802.11 support.

Thank Andrew Atrens and Adrian Michael Nida for submitting the patch.

Thank all the people that helped testing 802.11 patches for this commit

Based-on-Patch-Submitted-by:
  Andrew Atrens <atrens@nortelnetworks.com>
  Adrian Michael Nida <nida@musc.edu>

Tested-by:
  Thomas Schlesinger <schlesinger@netcologne.de>
  Johannes Hofmann <Johannes.Hofmann@gmx.de>
  Andrew Thompson <andrew@hijacked.us>
  Erik Wikström <erik-wikstrom@telia.com>
55 files changed:
sbin/ifconfig/ifieee80211.c
sys/conf/files
sys/config/GENERIC
sys/config/LINT
sys/dev/netif/acx/acx100.c
sys/dev/netif/acx/acx111.c
sys/dev/netif/acx/acxcmd.c
sys/dev/netif/acx/if_acx.c
sys/dev/netif/acx/if_acxvar.h
sys/dev/netif/ipw/if_ipw.c
sys/dev/netif/ipw/if_ipwvar.h
sys/dev/netif/iwi/if_iwi.c
sys/dev/netif/iwi/if_iwireg.h
sys/dev/netif/iwi/if_iwivar.h
sys/dev/netif/ndis/if_ndis.c
sys/dev/netif/ray/if_ray.c
sys/dev/netif/ray/if_rayvar.h
sys/dev/netif/wi/if_wi.c
sys/dev/netif/wi/if_wivar.h
sys/i386/conf/GENERIC
sys/i386/conf/LINT
sys/net/ethernet.h
sys/net/route.h
sys/net/rtsock.c
sys/netproto/802_11/Makefile
sys/netproto/802_11/_ieee80211.h [new file with mode: 0644]
sys/netproto/802_11/ieee80211.h
sys/netproto/802_11/ieee80211_crypto.h
sys/netproto/802_11/ieee80211_dragonfly.h [new file with mode: 0644]
sys/netproto/802_11/ieee80211_ioctl.h
sys/netproto/802_11/ieee80211_node.h
sys/netproto/802_11/ieee80211_proto.h
sys/netproto/802_11/ieee80211_radiotap.h
sys/netproto/802_11/ieee80211_var.h
sys/netproto/802_11/wlan/Makefile
sys/netproto/802_11/wlan/ieee80211.c
sys/netproto/802_11/wlan/ieee80211_crypto.c
sys/netproto/802_11/wlan/ieee80211_crypto_none.c [new file with mode: 0644]
sys/netproto/802_11/wlan/ieee80211_dragonfly.c [new file with mode: 0644]
sys/netproto/802_11/wlan/ieee80211_input.c
sys/netproto/802_11/wlan/ieee80211_ioctl.c
sys/netproto/802_11/wlan/ieee80211_node.c
sys/netproto/802_11/wlan/ieee80211_output.c
sys/netproto/802_11/wlan/ieee80211_proto.c
sys/netproto/802_11/wlan_acl/Makefile [new file with mode: 0644]
sys/netproto/802_11/wlan_acl/ieee80211_acl.c [new file with mode: 0644]
sys/netproto/802_11/wlan_ccmp/Makefile [new file with mode: 0644]
sys/netproto/802_11/wlan_ccmp/ieee80211_crypto_ccmp.c [new file with mode: 0644]
sys/netproto/802_11/wlan_tkip/Makefile [new file with mode: 0644]
sys/netproto/802_11/wlan_tkip/ieee80211_crypto_tkip.c [new file with mode: 0644]
sys/netproto/802_11/wlan_wep/Makefile [new file with mode: 0644]
sys/netproto/802_11/wlan_wep/ieee80211_crypto_wep.c [new file with mode: 0644]
sys/netproto/802_11/wlan_xauth/Makefile [new file with mode: 0644]
sys/netproto/802_11/wlan_xauth/ieee80211_xauth.c [new file with mode: 0644]
usr.sbin/iwicontrol/iwicontrol.c