Commit Graph

9 Commits

Author SHA1 Message Date
dyoung
22f9e4aae7 On the output path, save a power-saving station's ieee80211_node
in the mbuf's rcvif field so that the driver can get at it.
2003-11-02 00:17:27 +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
031c73f68c Even more changes to the new 802.11 layer:
* Add Kevin Lahey's power-saving support from the old 802.11 layer
* Add a FHPARMS or DSPARMS info element to probe responses and beacons
  as appropriate.
2003-10-13 04:22:55 +00:00
dyoung
c059ea0028 More NetBSD-FreeBSD compatibility changes in the pattern
#ifdef __FreeBSD__
	/* FreeBSDism */
#else
	/* NetBSDism */
#endif

An important and non-obvious change is in ieee80211_mgmt_output,

#ifdef __FreeBSD__
        KASSERT(m->m_pkthdr.rcvif == NULL, ("rcvif not null"));
#endif

Because NetBSD mbufs are not bzero'd like FreeBSD's, we cannot
count on rcvif == NULL.
2003-09-28 02:35:20 +00:00
dyoung
6e8d0b71c8 Insert RCSIDs. 2003-09-14 01:14:54 +00:00
dyoung
50fa2c1f44 Complete merge. 2003-09-07 04:10:39 +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