FreeBSD/Linux Kernel Cross Reference
sys/net80211/CHANGES
1 ***
2 *** Summary of changes between 2005-05-18 and 2005-11-01.
3 ***
4 *** % setenv TZ UTC
5 *** % cvs -d freebsdanoncvs@anoncvs.freebsd.org:/home/ncvs co src
6 *** % cd src/sys/net80211/
7 *** % cvs2cl --follow trunk --hide-filenames --no-indent --no-wrap \
8 *** -f CHANGES -l '-d 2005-05-18<=2005-11-01'
9 ***
10
11 2005-08-30 14:27 avatar
12
13 Properly set ic_curchan before calling back to device driver to do channel
14 switching(ifconfig devX channel Y). This fix should make channel changing
15 works again in monitor mode.
16
17 Submitted by: sam
18 X-MFC-With: other ic_curchan changes
19
20 2005-08-13 17:50 sam
21
22 revert 1.64: we cannot use the channel characteristics to decide when to
23 do 11g erp sta accounting because b/g channels show up as false positives
24 when operating in 11b.
25
26 Noticed by: Michal Mertl
27
28 2005-08-13 17:31 sam
29
30 Extend acl support to pass ioctl requests through and use this to
31 add support for getting the current policy setting and collecting
32 the list of mac addresses in the acl table.
33
34 Submitted by: Michal Mertl (original version)
35 MFC after: 2 weeks
36
37 2005-08-10 17:42 sam
38
39 Don't use ic_curmode to decide when to do 11g station accounting,
40 use the station channel properties. Fixes assert failure/bogus
41 operation when an ap is operating in 11a and has associated stations
42 then switches to 11g.
43
44 Noticed by: Michal Mertl
45 Reviewed by: avatar
46 MFC after: 2 weeks
47
48 2005-08-10 16:22 sam
49
50 Clarify/fix handling of the current channel:
51 o add ic_curchan and use it uniformly for specifying the current
52 channel instead of overloading ic->ic_bss->ni_chan (or in some
53 drivers ic_ibss_chan)
54 o add ieee80211_scanparams structure to encapsulate scanning-related
55 state captured for rx frames
56 o move rx beacon+probe response frame handling into separate routines
57 o change beacon+probe response handling to treat the scan table
58 more like a scan cache--look for an existing entry before adding
59 a new one; this combined with ic_curchan use corrects handling of
60 stations that were previously found at a different channel
61 o move adhoc neighbor discovery by beacon+probe response frames to
62 a new ieee80211_add_neighbor routine
63
64 Reviewed by: avatar
65 Tested by: avatar, Michal Mertl
66 MFC after: 2 weeks
67
68 2005-08-09 10:19 rwatson
69
70 Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and
71 IFF_DRV_RUNNING, as well as the move from ifnet.if_flags to
72 ifnet.if_drv_flags. Device drivers are now responsible for
73 synchronizing access to these flags, as they are in if_drv_flags. This
74 helps prevent races between the network stack and device driver in
75 maintaining the interface flags field.
76
77 Many __FreeBSD__ and __FreeBSD_version checks maintained and continued;
78 some less so.
79
80 Reviewed by: pjd, bz
81 MFC after: 7 days
82
83 2005-08-08 18:46 sam
84
85 Split crypto tx+rx key indices and add a key index -> node mapping table:
86
87 Crypto changes:
88 o change driver/net80211 key_alloc api to return tx+rx key indices; a
89 driver can leave the rx key index set to IEEE80211_KEYIX_NONE or set
90 it to be the same as the tx key index (the former disables use of
91 the key index in building the keyix->node mapping table and is the
92 default setup for naive drivers by null_key_alloc)
93 o add cs_max_keyid to crypto state to specify the max h/w key index a
94 driver will return; this is used to allocate the key index mapping
95 table and to bounds check table loookups
96 o while here introduce ieee80211_keyix (finally) for the type of a h/w
97 key index
98 o change crypto notifiers for rx failures to pass the rx key index up
99 as appropriate (michael failure, replay, etc.)
100
101 Node table changes:
102 o optionally allocate a h/w key index to node mapping table for the
103 station table using the max key index setting supplied by drivers
104 (note the scan table does not get a map)
105 o defer node table allocation to lateattach so the driver has a chance
106 to set the max key id to size the key index map
107 o while here also defer the aid bitmap allocation
108 o add new ieee80211_find_rxnode_withkey api to find a sta/node entry
109 on frame receive with an optional h/w key index to use in checking
110 mapping table; also updates the map if it does a hash lookup and the
111 found node has a rx key index set in the unicast key; note this work
112 is separated from the old ieee80211_find_rxnode call so drivers do
113 not need to be aware of the new mechanism
114 o move some node table manipulation under the node table lock to close
115 a race on node delete
116 o add ieee80211_node_delucastkey to do the dirty work of deleting
117 unicast key state for a node (deletes any key and handles key map
118 references)
119
120 Ath driver:
121 o nuke private sc_keyixmap mechansim in favor of net80211 support
122 o update key alloc api
123
124 These changes close several race conditions for the ath driver operating
125 in ap mode. Other drivers should see no change. Station mode operation
126 for ath no longer uses the key index map but performance tests show no
127 noticeable change and this will be fixed when the scan table is eliminated
128 with the new scanning support.
129
130 Tested by: Michal Mertl, avatar, others
131 Reviewed by: avatar, others
132 MFC after: 2 weeks
133
134 2005-08-08 05:49 sam
135
136 use ieee80211_iterate_nodes to retrieve station data; the previous
137 code walked the list w/o locking
138
139 MFC after: 1 week
140
141 2005-08-08 03:30 sam
142
143 Cleanup beacon/listen interval handling:
144 o separate configured beacon interval from listen interval; this
145 avoids potential use of one value for the other (e.g. setting
146 powersavesleep to 0 clobbers the beacon interval used in hostap
147 or ibss mode)
148 o bounds check the beacon interval received in probe response and
149 beacon frames and drop frames with bogus settings; not clear
150 if we should instead clamp the value as any alteration would
151 result in mismatched sta+ap configuration and probably be more
152 confusing (don't want to log to the console but perhaps ok with
153 rate limiting)
154 o while here up max beacon interval to reflect WiFi standard
155
156 Noticed by: Martin <nakal@nurfuerspam.de>
157 MFC after: 1 week
158
159 2005-08-06 04:57 sam
160
161 fix debug msg typo
162
163 MFC after: 3 days
164
165 2005-08-06 04:56 sam
166
167 Fix handling of frames sent prior to a station being authorized
168 when operating in ap mode. Previously we allocated a node from the
169 station table, sent the frame (using the node), then released the
170 reference that "held the frame in the table". But while the frame
171 was in flight the node might be reclaimed which could lead to
172 problems. The solution is to add an ieee80211_tmp_node routine
173 that crafts a node that does exist in a table and so isn't ever
174 reclaimed; it exists only so long as the associated frame is in flight.
175
176 MFC after: 5 days
177
178 2005-07-31 06:12 sam
179
180 close a race between reclaiming a node when a station is inactive
181 and sending the null data frame used to probe inactive stations
182
183 MFC after: 5 days
184
185 2005-07-27 04:41 sam
186
187 when bridging internally bypass the bss node as traffic to it
188 must follow the normal input path
189
190 Submitted by: Michal Mertl
191 MFC after: 5 days
192
193 2005-07-27 02:53 sam
194
195 bandaid ni_fails handling so ap's with association failures are
196 reconsidered after a bit; a proper fix involves more changes to
197 the scanning infrastructure
198
199 Reviewed by: avatar, David Young
200 MFC after: 5 days
201
202 2005-07-23 00:16 sam
203
204 the AREF flag is only meaningful in ap mode; adhoc neighbors now
205 are timed out of the sta/neighbor table
206
207 2005-07-22 23:25 sam
208
209 o move inactivity-related debug msgs under IEEE80211_MSG_INACT
210 o probe inactive neighbors in adhoc mode (they don't have an
211 association id so previously were being timed out)
212
213 MFC after: 3 days
214
215 2005-07-22 21:11 sam
216
217 split xmit of probe request frame out into a separate routine that
218 takes explicit parameters; this will be needed when scanning is
219 decoupled from the state machine to do bg scanning
220
221 MFC after: 3 days
222
223 2005-07-22 20:48 sam
224
225 split 802.11 frame xmit setup code into ieee80211_send_setup
226
227 MFC after: 3 days
228
229 2005-07-22 17:57 sam
230
231 simplify ic_newassoc callback
232
233 MFC after: 3 days
234
235 2005-07-22 17:54 sam
236
237 simplify ieee80211_ibss_merge api
238
239 MFC after: 3 days
240
241 2005-07-22 17:50 sam
242
243 add stats we know we'll need soon and some spare fields for future expansion
244
245 MFC after: 3 days
246
247 2005-07-22 17:45 sam
248
249 simplify tim callback api
250
251 MFC after: 3 days
252
253 2005-07-22 17:42 sam
254
255 don't include 802.3 header in min frame length calculation as it may
256 not be present for a frag; fixes problem with small (fragmented) frames
257 being dropped
258
259 Obtained from: Atheros
260 MFC after: 3 days
261
262 2005-07-22 17:36 sam
263
264 simplify ieee80211_node_authorize and ieee80211_node_unauthorize api's
265
266 MFC after: 3 days
267
268 2005-07-22 17:31 sam
269
270 simplifiy ieee80211_send_nulldata api
271
272 MFC after: 3 days
273
274 2005-07-22 17:29 sam
275
276 simplify rate set api's by removing ic parameter (implicit in node reference)
277
278 MFC after: 3 days
279
280 2005-07-22 17:21 sam
281
282 reject association requests with a wpa/rsn ie when wpa/rsn is not
283 configured on the ap; previously we either ignored the ie or (possibly)
284 failed an assertion
285
286 Obtained from: Atheros
287 MFC after: 3 days
288
289 2005-07-22 17:16 sam
290
291 missed one in last commit; add device name to discard msgs
292
293 2005-07-22 17:13 sam
294
295 include device name in discard msgs
296
297 2005-07-22 17:12 sam
298
299 add diag msgs for frames discarded because the direction field is wrong
300
301 2005-07-22 17:08 sam
302
303 split data frame delivery out to a new function ieee80211_deliver_data
304
305 2005-07-22 17:00 sam
306
307 o add IEEE80211_IOC_FRAGTHRESHOLD for getting+setting the
308 tx fragmentation threshold
309 o fix bounds checking on IEEE80211_IOC_RTSTHRESHOLD
310
311 MFC after: 3 days
312
313 2005-07-22 16:55 sam
314
315 o add IEEE80211_FRAG_DEFAULT
316 o move default settings for RTS and frag thresholds to ieee80211_var.h
317
318 2005-07-22 16:50 sam
319
320 diff reduction against p4: define IEEE80211_FIXED_RATE_NONE and use
321 it instead of -1
322
323 2005-07-22 16:37 sam
324
325 add flags missed in last merge
326
327 2005-07-22 16:36 sam
328
329 Diff reduction against p4:
330 o add ic_flags_ext for eventual extention of ic_flags
331 o define/reserve flag+capabilities bits for superg,
332 bg scan, and roaming support
333 o refactor debug msg macros
334
335 MFC after: 3 days
336
337 2005-07-22 05:17 sam
338
339 send a response when an auth request is denied due to an acl;
340 might be better to silently ignore the frame but this way we
341 give stations a chance of figuring out what's wrong
342
343 2005-07-22 05:15 sam
344
345 remove excess whitespace
346
347 2005-07-22 04:55 sam
348
349 use IF_HANDOFF when bridging frames internally so if_start gets
350 called; fixes communication between associated sta's
351
352 MFC after: 3 days
353
354 2005-07-11 03:06 sam
355
356 Handle encrypt of arbitarily fragmented mbuf chains: previously
357 we bailed if we couldn't collect the 16-bytes of data required
358 for an aes block cipher in 2 mbufs; now we deal with it. While
359 here make space accounting signed so a sanity check does the
360 right thing for malformed mbuf chains.
361
362 Approved by: re (scottl)
363
364 2005-07-11 03:00 sam
365
366 nuke assert that duplicates real check
367
368 Reviewed by: avatar
369 Approved by: re (scottl)
370
371 2005-07-09 23:15 sam
372
373 Change default key allocation method to do the right thing for
374 legacy parts (i.e. those that have 4 global key slots). We
375 blindly assign unicast keys to key slot 0. Devices that need
376 alternate allocation logic must override this method.
377
378 Reviewed by: avatar
379 Approved by: re (scottl)
380
381 2005-07-08 22:49 sam
382
383 correct check for high priority wme traffic
384
385 Noticed by: Ralf Assmann
386 Reviewed by: apatti
387 Approved by: re (scottl)
388
389 2005-07-08 16:36 sam
390
391 fix another instance of the MORE_DATA bit handling for frames on the
392 power save queue (missed in previous commit)
393
394 Submitted by: Bruno Randolf
395 Approved by: re (scottl)
396
397 2005-07-06 15:38 sam
398
399 add "pureg" mode for ap operation: reject association requests from
400 11b-only stations when operating in 11g
401
402 Reviewed by: avatar
403 Approved by: re (scottl)
404
405 2005-07-06 01:55 sam
406
407 Fix handling of data frames queued for a station in power save mode:
408 don't mark the MORE_DATA bit when taking it off the ps queue, there's
409 no 802.11 header then; we must wait to do this at encap time so
410 mark the mbuf instead.
411
412 Reviewed by: avatar
413 Approved by: re (scottl)
414 Obtained from: Atheros
415
416 2005-07-06 01:51 sam
417
418 Fix race condition in handling node reference counts for authenticating
419 stations in ap mode. Track when a node's first auth frame is
420 received and use this to decide whether or not to bump the refcnt.
421 This insures we only ever bump the refcnt once.
422
423 Reviewed by: avatar
424 Approved by: re (scottl)
425
426 2005-07-06 01:31 avatar
427
428 Only update the scan entry state based on newly received frames.
429 This fixes duplicative BSS entries(memory leaks as well) listed in
430 "ifconfig dev list scan" when a station fails to associate with an AP.
431
432 Reviewed by: sam
433 Approved by: re (scottl)
434
435 2005-07-05 18:05 sam
436
437 remove auto-add of IEEE80211_KEY_GROUP; all the apps that need to
438 set it have been fixed
439
440 Reviewed by: avatar
441 Approved by: re (scottl)
442
443 2005-07-05 17:35 sam
444
445 o when setting a wpa key, hold a ref on the bss node;
446 fixes a ref cnt leak
447 o make unicast key handling on delete identical to set
448 o change legacy wep key api to reset the 802.11 state
449 machine for backwards compatibility
450
451 Reviewed by: avatar
452 Approved by: re (scottl)
453
454 2005-07-04 01:29 sam
455
456 when operating in ap mode, explicitly drop associated/authenticated
457 stations when transitioning to INIT state (e.g. as a result of
458 changing state at the 802.11 level)
459
460 Approved by: re (scottl)
461
462 2005-06-13 21:01 sam
463
464 revert 1.53; it breaks ibss merge
465
466 Noticed by: Bruno Randolf
467 Approved by: re (dwhite)
468
469 2005-06-10 21:30 sam
470
471 don't look at the wme ie in a beacon unless we negotiated use
472
473 2005-06-10 16:49 brooks
474
475 Stop embedding struct ifnet at the top of driver softcs. Instead the
476 struct ifnet or the layer 2 common structure it was embedded in have
477 been replaced with a struct ifnet pointer to be filled by a call to the
478 new function, if_alloc(). The layer 2 common structure is also allocated
479 via if_alloc() based on the interface type. It is hung off the new
480 struct ifnet member, if_l2com.
481
482 This change removes the size of these structures from the kernel ABI and
483 will allow us to better manage them as interfaces come and go.
484
485 Other changes of note:
486 - Struct arpcom is no longer referenced in normal interface code.
487 Instead the Ethernet address is accessed via the IFP2ENADDR() macro.
488 To enforce this ac_enaddr has been renamed to _ac_enaddr.
489 - The second argument to ether_ifattach is now always the mac address
490 from driver private storage rather than sometimes being ac_enaddr.
491
492 Reviewed by: sobomax, sam
493
494 2005-06-10 16:14 sam
495
496 validate the bssid for non-data frames too when operating in
497 adhoc/ahdemo/hostap modes
498
499 2005-06-10 16:11 sam
500
501 o fix wpa w/ wme: don't strip the QoS header on recv as tkip requires
502 it; instead pass the space occupied by the header down into the
503 crypto modules (except in the demic case which needs it only when
504 doing int in s/w)
505 o while here fix defrag to strip the header from 2nd and later frames
506 o teach decap code how to handle 4-address frames
507
508 2005-06-10 05:04 sam
509
510 mark stations authorized during recv processing instead of doing it
511 as a side effect of sending an auth success frame; sending mgmt
512 frames should not have side effects
513
514 2005-06-10 04:42 sam
515
516 move AID implementation defines from the protocol definitions to
517 where they are used
518
519 2005-06-10 04:37 sam
520
521 accept diassoc frame in ASSOC state
522
523 2005-06-10 01:48 sam
524
525 pull some debug msgs up so they're seen more often
526
527 2005-06-10 01:47 sam
528
529 kick the state machine when we receive failure notice from an ap (when
530 operating in sta mode); this speeds up the state machine, previously
531 we were acting on a timeout
532
533 2005-06-10 01:43 sam
534
535 discard open auth requests in adhoc mode
536
537 2005-06-10 01:41 sam
538
539 reject open auth requests when shared key auth is configured
540
541 Obtained from: Atheros
542
543 2005-06-10 01:40 sam
544
545 add ieee80211_send_error to encapsulate an idiom
546
547 2005-06-10 01:38 sam
548
549 o always check if ic_set_tim is !NULL before using it
550 o add missing call to clear tim after flushing ps q
551
552 2005-06-10 01:35 sam
553
554 mark state for protection only when operating in 11g
555
556 2005-06-10 01:33 sam
557
558 don't reject station based on the PRIVACY bit in the capabilities;
559 the 802.11 spec says not to
560
561 Obtained from: Atheros
562
563 2005-06-10 01:31 sam
564
565 correct checks for rate set compatibility
566
567 2005-06-10 01:29 sam
568
569 record tstamp from beacons received in station mode when associated;
570 this is needed by drivers that want to resync their timers based on
571 the tsf of the last recv'd beacon frame
572
573 2005-06-09 04:05 sam
574
575 o collect dtim period+count from beacons in station mode so drivers
576 can better program beacon timers
577 o leave placeholder in com structure for future ap/adhoc mode tim support
578
579 Reviewed by: avatar
580
581 2005-06-07 23:37 sam
582
583 Change the MLME ASSOCIATE ioctl to accept either a ssid, a bssid,
584 or a bssid+ssid. This is needed for later versions of wpa_supplicant
585 and for forthcoming addons to wpa_supplicant.
586
587 Note this is an api change and applications must be rebuilt.
588
589 2005-06-07 23:31 sam
590
591 Don't clock the state machine in various cases when roaming is set
592 to manual; this helps keep wpa_supplicant in sync.
593
594 2005-06-07 00:08 sam
595
596 WPA/802.11i interoperability fixes:
597 o only include capabilities word in the WPA ie when non-zero and
598 not preauth
599 o always include the capabilities in the RSN ie
600
601 Obtained from: Atheros
602
603 2005-06-06 04:04 sam
604
605 add force flag to enmic/demic crypto api for use in xmit fragmentation
606 and h/w mic verification
607
608 Reviewed by: avatar
609
Cache object: eb9d65b729183f5e74d1baaac10322f6
|