Subject: CVS commit: src/sys/dev/ic
To: None <>
From: None <>
List: source-changes
Date: 01/01/2003 04:06:47
Module Name:	src
Committed By:	dyoung
Date:		Wed Jan  1 02:06:47 UTC 2003

Modified Files:
	src/sys/dev/ic: wi.c wivar.h

Log Message:
A Prism firmware participating in an IBSS network will not send a
LINK_STAT notification for every change of BSSID, so the firmware's
BSSID and the driver's BSSID will get out of sync. This has two
bad affects. First, because the 802.11 framework filters received
packets based on BSSID, many packets can be dropped before the
driver adopts the firmware's BSSID.  Second, ifconfig's tells a
misleading BSSID to the operator.

This problem is most apparent in networks where every station does
not hear every other. I reproduce these conditions in an office by
removing/replacing the antennas on my 802.11 cards.

As a solution, in IBSS mode, the driver will ask the firmware for
the BSSID every five seconds. Also, whenever the driver receives
a frame carrying a different BSSID than the driver's BSSID, then
the driver asks the firmware for the BSSID before handing the frame
to ieee80211_input.

To generate a diff of this commit:
cvs rdiff -r1.106 -r1.107 src/sys/dev/ic/wi.c
cvs rdiff -r1.26 -r1.27 src/sys/dev/ic/wivar.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.