diff options
author | sam <sam@FreeBSD.org> | 2007-01-08 17:24:51 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2007-01-08 17:24:51 +0000 |
commit | fae048c8598d2452ea294b97092f230431c7d37c (patch) | |
tree | db2e192b629326cfac5f0245ca3a5e0ed3326978 /sys/net80211/ieee80211_proto.h | |
parent | 6d67972dc50a1f716abce17b6a0a3c60b8df2449 (diff) | |
download | FreeBSD-src-fae048c8598d2452ea294b97092f230431c7d37c.zip FreeBSD-src-fae048c8598d2452ea294b97092f230431c7d37c.tar.gz |
Correct several issues with rate set negotiation:
o add IEEE80211_F_JOIN flag to ieee80211_fix_rate to indicate a station
is joining a BSS; this is used to control whether or not we over-write
the basic rate bit in the calculated rate set
o fix ieee80211_fix_rate to honor IEEE80211_F_DODEL when IEEE80211_F_DONEGO
is not specified (e.g. when joining an ibss network)
o on sta join always delete unusable rates from the negotiated rate set,
this was being done only ibss networks but is also needed for 11g bss
with mixed stations
o on sta join delete unusable rates from the bss node's rate set, not the
scan table entry's rate set
o when calculating a rate set for new neighbors in an ibss caculate a
negotiated rate set so drivers are not presented with rates they should
not use
Submitted by: Sepherosa Ziehau (w/ modifications)
Obtained from: DragonFly
MFC after: 1 month
Diffstat (limited to 'sys/net80211/ieee80211_proto.h')
-rw-r--r-- | sys/net80211/ieee80211_proto.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_proto.h b/sys/net80211/ieee80211_proto.h index 397da44..0182cd4 100644 --- a/sys/net80211/ieee80211_proto.h +++ b/sys/net80211/ieee80211_proto.h @@ -180,6 +180,7 @@ const struct ieee80211_aclator *ieee80211_aclator_get(const char *name); #define IEEE80211_F_DOFRATE 0x00000002 /* use fixed rate */ #define IEEE80211_F_DONEGO 0x00000004 /* calc negotiated rate */ #define IEEE80211_F_DODEL 0x00000008 /* delete ignore rate */ +#define IEEE80211_F_JOIN 0x00000010 /* sta joining our bss */ int ieee80211_fix_rate(struct ieee80211_node *, int); /* |