Commit Graph

12 Commits

Author SHA1 Message Date
mycroft
f526e7326b Cleanup of ieee80211_node from madwifi:
* Don't use ifp pointers; use ieee80211com.
* Implement the locking macros that are used under FreeBSD and Linux.
2004-07-23 10:15:13 +00:00
mycroft
3551583171 Changes from madwifi:
Abstract some of the node management code into separate functions, and use them
throughout, plugging memory leaks.
Allocate the AID allocation map dynamically.
2004-07-23 09:22:15 +00:00
dyoung
218f34f115 Protect userland from some of the definitions with #ifdef _KERNEL.
Thank you, Havard Eidnes, for the pointing out my oversight.
2004-07-22 17:04:38 +00:00
dyoung
255f57a8b6 Add a malloc(9) type for 802.11 nodes. 2004-04-30 22:57:32 +00:00
dyoung
9280f4b428 Synchronize with FreeBSD sources from 12 Dec 2003. 2003-12-14 09:56:53 +00:00
dyoung
3ed4d1ac9f Add ieee80211_find_rxnode and its helper ieee80211_needs_rxnode.
802.11 drivers will use ieee80211_find_rxnode to match each received
packet with the ieee80211_node belonging to the sender. The driver
will use the ieee80211_node to track the sender's RSSI and other
statistics for, e.g., rate adaptation.

ieee80211_find_rxnode "fakes-up" missing ieee80211_nodes in IBSS
mode and in ad-hoc demo mode when it is appropriate. See the comments
in the source.

Also add ieee80211_find_txnode, which looks up the ieee80211_node
belonging to a MAC destination. ieee80211_find_txnode will also
fake-up missing nodes in IBSS/ad-hoc demo mode.

In ieee80211_encap, use ieee80211_find_txnode.  This fixes the bug
in ad hoc packet-transmission reported by Greg Troxel, Urban Boquist,
and Kurt Schreiner.
2003-10-29 21:50:57 +00:00
dyoung
db0e43b296 Add WEP shared-key authentication. 2003-10-15 11:43:51 +00:00
dyoung
730331d557 More changes to the new 802.11 layer:
* Add Kevin Lahey's power-saving support from the old 802.11 layer

* Add my stop-gap rate-selection routine, ieee80211_get_rate,
  from the old 802.11 layer

* Also from the old 802.11 layer: factor ieee80211_match_bss out
  of ieee80211_end_scan, since atw(4) uses it for IBSS merges.
2003-10-13 04:20:23 +00:00
dyoung
608fc21500 Make ieee80211_unref_node compile.
#ifdef __FreeBSD__ a lot of lines, and put the NetBSDisms into the #else
half.

Add ieee80211_node_{dec,inc}ref to ieee80211_node.h.
2003-09-23 15:59:09 +00:00
dyoung
6e8d0b71c8 Insert RCSIDs. 2003-09-14 01:14:54 +00:00
dyoung
cf8438b460 First stab at producing a unified NetBSD/FreeBSD 802.11 layer,
striving to keep the diffs short and simple.

  * Replace FreeBSDisms (e.g. struct arpcom) with conditionally-compiled
    NetBSDism (struct ethercom).

  * Add compatibility shims in ieee80211_compat.*: provide NetBSD with
    if_printf, for example.

  * Convert FreeBSD node mutex uses to generic node critical-section
    protection (ieee80211_node_critsect_begin, _end), replace
    FreeBSD atomic arithmetic with generic alternative, and implement
    generics in NetBSD

  * Provide NetBSD-style 802.11 ioctls

  * Style nits
2003-09-07 01:22:19 +00:00
dyoung
40e261aa72 Pull in net80211/ from FreeBSD. This contains Sam Leffler's
enhancements to the 802.11 layer, which are necessary for ath(4),
the Atheros-chipset driver.
2003-08-30 21:26:03 +00:00