<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/wi, branch release/8.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F8.1.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F8.1.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2009-06-26T11:45:06Z</updated>
<entry>
<title>Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/</title>
<updated>2009-06-26T11:45:06Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2009-06-26T11:45:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=eb956cd041f956275522092d6ba66671356ff84f'/>
<id>urn:sha1:eb956cd041f956275522092d6ba66671356ff84f</id>
<content type='text'>
IF_ADDR_UNLOCK() across network device drivers when accessing the
per-interface multicast address list, if_multiaddrs.  This will
allow us to change the locking strategy without affecting our driver
programming interface or binary interface.

For two wireless drivers, remove unnecessary locking, since they
don't actually access the multicast address list.

Approved by:	re (kib)
MFC after:	6 weeks
</content>
</entry>
<entry>
<title>strict kobj sigs: fix assortment of device_detach and device_shutdown impls</title>
<updated>2009-06-11T17:14:28Z</updated>
<author>
<name>Andriy Gapon</name>
<email>avg@FreeBSD.org</email>
</author>
<published>2009-06-11T17:14:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c0e55e3b65ffb5b5aa0f4c0f76f4ed62c6d25993'/>
<id>urn:sha1:c0e55e3b65ffb5b5aa0f4c0f76f4ed62c6d25993</id>
<content type='text'>
with common issue of having void return type instead of int

Reviewed by:	imp, current@
Approved by:	jhb (mentor)
</content>
</entry>
<entry>
<title>force type match</title>
<updated>2009-05-21T04:00:31Z</updated>
<author>
<name>Sam Leffler</name>
<email>sam@FreeBSD.org</email>
</author>
<published>2009-05-21T04:00:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c3e8a587239e9b925acbef2f0a89ef3b5f4b881b'/>
<id>urn:sha1:c3e8a587239e9b925acbef2f0a89ef3b5f4b881b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Revert last junk...</title>
<updated>2009-05-20T22:28:55Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2009-05-20T22:28:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=68fc5ce70be924d656e19ec679f3c19a4b90dc7c'/>
<id>urn:sha1:68fc5ce70be924d656e19ec679f3c19a4b90dc7c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Overhaul monitor mode handling:</title>
<updated>2009-05-20T20:00:40Z</updated>
<author>
<name>Sam Leffler</name>
<email>sam@FreeBSD.org</email>
</author>
<published>2009-05-20T20:00:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5463c4a485ef2a317cc554b7699984484ec0983d'/>
<id>urn:sha1:5463c4a485ef2a317cc554b7699984484ec0983d</id>
<content type='text'>
o replace DLT_IEEE802_11 support in net80211 with DLT_IEEE802_11_RADIO
  and remove explicit bpf support from wireless drivers; drivers now
  use ieee80211_radiotap_attach to setup shared data structures that
  hold the radiotap header for each packet tx/rx
o remove rx timestamp from the rx path; it was used only by the tdma support
  for debugging and was mostly useless due to it being 32-bits and mostly
  unavailable
o track DLT_IEEE80211_RADIO bpf attachments and maintain per-vap and
  per-com state when there are active taps
o track the number of monitor mode vaps
o use bpf tap and monitor mode vap state to decide when to collect radiotap
  state and dispatch frames; drivers no longer explicitly directly check
  bpf state or use bpf calls to tap frames
o handle radiotap state updates on channel change in net80211; drivers
  should not do this (unless they bypass net80211 which is almost always
  a mistake)
o update various drivers to be more consistent/correct in handling radiotap
o update ral to include TSF in radiotap'd frames
o add promisc mode callback to wi

Reviewed by:	cbzimmer, rpaulo, thompsa
</content>
</entry>
<entry>
<title>We no longer need to use d_thread_t, migrate to struct thread *.</title>
<updated>2009-05-20T17:29:21Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2009-05-20T17:29:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=00b4e54ae7b69db140f2168049138a443fd3190f'/>
<id>urn:sha1:00b4e54ae7b69db140f2168049138a443fd3190f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Create a taskqueue for each wireless interface which provides a serialised</title>
<updated>2009-05-02T15:14:18Z</updated>
<author>
<name>Andrew Thompson</name>
<email>thompsa@FreeBSD.org</email>
</author>
<published>2009-05-02T15:14:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5efea30f039c48ddcdddc0d12150b656f4a2e7b8'/>
<id>urn:sha1:5efea30f039c48ddcdddc0d12150b656f4a2e7b8</id>
<content type='text'>
sleepable context for net80211 driver callbacks. This removes the need for USB
and firmware based drivers to roll their own code to defer the chip programming
for state changes, scan requests, channel changes and mcast/promisc updates.
When a driver callback completes the hardware state is now guaranteed to have
been updated and is in sync with net80211 layer.

This nukes around 1300 lines of code from the wireless device drivers making
them more readable and less race prone.

The net80211 layer has been updated as follows
 - all state/channel changes are serialised on the taskqueue.
 - ieee80211_new_state() always queues and can now be called from any context
 - scanning runs from a single taskq function and executes to completion. driver
   callbacks are synchronous so the channel, phy mode and rx filters are
   guaranteed to be set in hardware before probe request frames are
   transmitted.

Help and contributions from Sam Leffler.

Reviewed by:	sam
</content>
</entry>
<entry>
<title>Hoist 802.11 encapsulation up into net80211:</title>
<updated>2009-03-30T21:53:27Z</updated>
<author>
<name>Sam Leffler</name>
<email>sam@FreeBSD.org</email>
</author>
<published>2009-03-30T21:53:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=339ccfb3918a44878a6c005a3db37155e4d1d142'/>
<id>urn:sha1:339ccfb3918a44878a6c005a3db37155e4d1d142</id>
<content type='text'>
o call ieee80211_encap in ieee80211_start so frames passed down to drivers
  are already encapsulated
o remove ieee80211_encap calls in drivers
o fixup wi so it recreates the 802.3 head it requires from the 802.11
  header contents
o move fast-frame aggregation from ath to net80211 (conditional on
  IEEE80211_SUPPORT_SUPERG):
  - aggregation is now done in ieee80211_start; it is enabled when the
    packets/sec exceeds ieee80211_ffppsmin (net.wlan.ffppsmin) and frames
    are held on a staging queue according to ieee80211_ffagemax
    (net.wlan.ffagemax) to wait for a frame to combine with
  - drivers must call back to age/flush the staging queue (ath does this
    on tx done, at swba, and on rx according to the state of the tx queues
    and/or the contents of the staging queue)
  - remove fast-frame-related data structures from ath
  - add ieee80211_ff_node_init and ieee80211_ff_node_cleanup to handle
    per-node fast-frames state (we reuse 11n tx ampdu state)
o change ieee80211_encap calling convention to include an explicit vap
  so frames coming through a WDS vap are recognized w/o setting M_WDS

With these changes any device able to tx/rx 3Kbyte+ frames can use fast-frames.

Reviewed by:	thompsa, rpaulo, avatar, imp, sephe
</content>
</entry>
<entry>
<title>fake the association id so packets are not rejected in the tx path</title>
<updated>2009-03-30T21:29:25Z</updated>
<author>
<name>Sam Leffler</name>
<email>sam@FreeBSD.org</email>
</author>
<published>2009-03-30T21:29:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cf1c8d5f9c2c703715953cffdce44eb2769cbbb1'/>
<id>urn:sha1:cf1c8d5f9c2c703715953cffdce44eb2769cbbb1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Eliminate ic_myaddr so changing the mac address of a device works correctly:</title>
<updated>2009-03-29T17:59:14Z</updated>
<author>
<name>Sam Leffler</name>
<email>sam@FreeBSD.org</email>
</author>
<published>2009-03-29T17:59:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=29aca940805022fa5b7d02641f5309e67ab1f765'/>
<id>urn:sha1:29aca940805022fa5b7d02641f5309e67ab1f765</id>
<content type='text'>
o remove ic_myaddr from ieee80211com
o change ieee80211_ifattach to take the mac address of the physical device
  and use that to setup the lladdr.
o replace all references to ic_myaddr in drivers by IF_LLADDR
o related cleanups (e.g. kill dead code)

PR:		kern/133178
Reviewed by:	thompsa, rpaulo
</content>
</entry>
</feed>
