Changeset View
Changeset View
Standalone View
Standalone View
sys/net80211/ieee80211_amrr.c
Show All 12 Lines | |||||
struct sysctl_ctx_list *ctx, struct sysctl_oid *tree) | struct sysctl_ctx_list *ctx, struct sysctl_oid *tree) | ||||
{ | { | ||||
struct ieee80211_amrr *amrr = vap->iv_rs; | struct ieee80211_amrr *amrr = vap->iv_rs; | ||||
if (!amrr) | if (!amrr) | ||||
return; | return; | ||||
SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | ||||
"amrr_rate_interval", CTLTYPE_INT | CTLFLAG_RW, vap, | "amrr_rate_interval", | ||||
CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, | |||||
vap, | |||||
0, amrr_sysctl_interval, "I", "amrr operation interval (ms)"); | 0, amrr_sysctl_interval, "I", "amrr operation interval (ms)"); | ||||
/* XXX bounds check values */ | /* XXX bounds check values */ | ||||
SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | ||||
"amrr_max_sucess_threshold", CTLFLAG_RW, | "amrr_max_sucess_threshold", CTLFLAG_RW | CTLFLAG_NEEDGIANT, | ||||
&amrr->amrr_max_success_threshold, 0, ""); | &amrr->amrr_max_success_threshold, 0, ""); | ||||
SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | ||||
"amrr_min_sucess_threshold", CTLFLAG_RW, | "amrr_min_sucess_threshold", CTLFLAG_RW | CTLFLAG_NEEDGIANT, | ||||
&amrr->amrr_min_success_threshold, 0, ""); | &amrr->amrr_min_success_threshold, 0, ""); | ||||
} | } | ||||
static void | static void | ||||
amrr_node_stats(struct ieee80211_node *ni, struct sbuf *s) | amrr_node_stats(struct ieee80211_node *ni, struct sbuf *s) | ||||
{ | { | ||||
int rate; | int rate; | ||||
struct ieee80211_amrr_node *amn = ni->ni_rctls; | struct ieee80211_amrr_node *amn = ni->ni_rctls; | ||||
Show All 12 Lines |