Add support in ONOE/AMRR for drivers that can't provide per TX statistics:
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Tue, 24 Oct 2006 14:39:45 +0000 (14:39 +0000)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Tue, 24 Oct 2006 14:39:45 +0000 (14:39 +0000)
commit7fdf07d294265d9ffa6e196375cae3645321324f
tree63cad1417dc432f9fc5818836f745c77d6157e85
parent221b91ff3a0a69fb9d40b18b8ac082f7f4d8879a
Add support in ONOE/AMRR for drivers that can't provide per TX statistics:
- Add callback function pointer ieee80211_ratectl_state.rc_st_state, which
  will be called periodically by ONOE/AMRR during their internal state
  updating.  This callback function pointer should return a
  ieee80211_ratectl_stats struct, which provides statistics concerning TX.
- Add ieee80211_ratectl_state.rc_st_valid_stats bitmask.  It is used to
  tell ONOE/AMRR which fields of ieee80211_ratectl_stats are valid.
- Make ONOE/AMRR spit out a warning message if driver can't provide per TX
  statistics and the statistics in ieee80211_ratectl_stats are not enough to
  do proper TX rate control.

Drivers that can't provide per TX statistics should setup
ieee80211_ratectl_state.rc_st_state and
ieee80211_ratectl_state.rc_st_valid_stats before ieee80211_ifattach().

Add ieee80211_ratectl_state.rc_st_param, it could be used by drivers to
override TX rate control algorithm's default tunable values.  This field should
be allocated, setup and freed in ieee80211_ratectl_state.rc_st_change.  Drivers
that is going to override TX rate control algorithm's default tunable values
should include specific TX rate control algorithm's parameter header file
e.g. netproto/802_11/wlan_ratectl/ieee80211_amrr_param.h
sys/netproto/802_11/ieee80211_ratectl.h
sys/netproto/802_11/wlan_ratectl/amrr/ieee80211_amrr_param.h [new file with mode: 0644]
sys/netproto/802_11/wlan_ratectl/amrr/ieee80211_ratectl_amrr.c
sys/netproto/802_11/wlan_ratectl/onoe/ieee80211_onoe_param.h [new file with mode: 0644]
sys/netproto/802_11/wlan_ratectl/onoe/ieee80211_ratectl_onoe.c