You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
440 lines
20 KiB
Bash
440 lines
20 KiB
Bash
#
|
|
# @@-COPYRIGHT-START-@@
|
|
#
|
|
# Copyright (c) 2015-2018 Qualcomm Technologies, Inc.
|
|
#
|
|
# All Rights Reserved.
|
|
# Confidential and Proprietary - Qualcomm Technologies, Inc.
|
|
#
|
|
# 2015-2016 Qualcomm Atheros, Inc.
|
|
#
|
|
# All Rights Reserved.
|
|
# Qualcomm Atheros Confidential and Proprietary.
|
|
#
|
|
# @@-COPYRIGHT-END-@@
|
|
#
|
|
|
|
. /lib/functions/whc-debug.sh
|
|
. /lib/functions/whc-iface.sh
|
|
|
|
# Append a config parameter to the file
|
|
# input: $1 - parameter string to append (key and value)
|
|
# input: $2 - filename to append to
|
|
__lbd_cfg_append() {
|
|
echo "$1" >> "$2"
|
|
}
|
|
|
|
# Append a config parameter to the file preceded by a newline
|
|
# input: $1 - parameter string to append (key and value)
|
|
# input: $2 - filename to append to
|
|
__lbd_cfg_nl_append() {
|
|
echo "" >> "$2"
|
|
echo "$1" >> "$2"
|
|
}
|
|
|
|
# __lbd_cfg_add_str <section> <option> <filename>
|
|
__lbd_cfg_add_str() {
|
|
local key="$2"
|
|
local section="$1"
|
|
local option="$2"
|
|
local filename="$3"
|
|
|
|
config_get val "${section}" "${option}"
|
|
[ -n "${val}" ] && __lbd_cfg_append "${key}=${val}" $filename
|
|
}
|
|
|
|
# Add a string to the config file where the key in the UCI config is
|
|
# different from the config in the generated config.
|
|
# input: $1 - section name in UCI
|
|
# input: $2 - parameter name in UCI
|
|
# input: $3 - parameter name in the generated configuration
|
|
# input: $4 - output filename
|
|
__lbd_cfg_add_str_new_key() {
|
|
local section="$1"
|
|
local option="$2"
|
|
local newkey="$3"
|
|
local filename="$4"
|
|
|
|
config_get val "${section}" "${option}"
|
|
[ -n "${val}" ] && __lbd_cfg_append "${newkey}=${val}" $filename
|
|
}
|
|
|
|
# Add AP Steering threshold. If band specific parameter is present
|
|
# use that, else use generic steering threshold.
|
|
# input: $1 - section name in UCI
|
|
# input: $2 - band specific steering parameter
|
|
# input: $3 - generic steering parameter
|
|
# input: $4 - parameter name in the generated configuration
|
|
# input: $5 - output filename
|
|
__lbd_cfg_add_ap_steering_thresh() {
|
|
local section="$1"
|
|
local band_option="$2"
|
|
local gen_option="$3"
|
|
local newkey="$4"
|
|
local filename="$5"
|
|
local val
|
|
|
|
config_get val "${section}" "${band_option}"
|
|
if [ -n "${val}" ]; then
|
|
__lbd_cfg_add_str_new_key "${section}" "${band_option}" "${newkey}" $filename
|
|
else
|
|
__lbd_cfg_add_str_new_key "${section}" "${gen_option}" "${newkey}" $filename
|
|
fi
|
|
}
|
|
|
|
# Given two (section, key) pairs, subtract the second value from the first
|
|
# to arrive at an RSSI value and use that for the key being generated.
|
|
# This is meant to convert an RSSI on one band to an RSSI on the
|
|
# other band, albeit in such a way that is the mirror image of the estimates
|
|
# performed by lbd.
|
|
# To prevent value underflow/overflow, use 0 for the key if the base value
|
|
# is smaller than the adjust value; use 255 if the base value subtracts the
|
|
# adjust value is greater than 255
|
|
#
|
|
# The last parameter is the file to output.
|
|
__lbd_cfg_add_rssi_est_str() {
|
|
local basevalsection="$1"
|
|
local basevalkey="$2"
|
|
local adjvalsection="$3"
|
|
local adjvalkey="$4"
|
|
local newkey="$5"
|
|
local filename="$6"
|
|
|
|
config_get baseval "${basevalsection}" "${basevalkey}"
|
|
config_get adjval "${adjvalsection}" "${adjvalkey}"
|
|
if [ -n "${baseval}" ] && [ -n "${adjval}" ]; then
|
|
if [ "${baseval}" -gt "${adjval}" ] && \
|
|
[ "${baseval}" -lt "$((255 + $adjval))" ]; then
|
|
val="$(($baseval - $adjval))"
|
|
elif [ "${baseval}" -le "${adjval}" ]; then
|
|
val="0"
|
|
elif [ "${baseval}" -ge "$((255 + $adjval))" ]; then
|
|
val="255"
|
|
fi
|
|
fi
|
|
|
|
[ -n "${val}" ] && __lbd_cfg_append "${newkey}=${val}" $filename
|
|
}
|
|
|
|
# Add the appropriate header for the lbd config params
|
|
# input: $1 - filename: the name of the file to write
|
|
# input: $2 - append_only: if non-empty, append to the file rather than
|
|
# creating a new file
|
|
__lbd_cfg_add_head() {
|
|
local filename=$1
|
|
local append_only=$2
|
|
|
|
if [ -n "$append_only" ]; then
|
|
echo ";" >> "$filename"
|
|
__lbd_cfg_append '' $filename # extra blank lines to demark the WLB params
|
|
__lbd_cfg_append '; ' $filename
|
|
__lbd_cfg_append '; Automatically generated Wi-Fi load balancing configuration' $filename
|
|
else
|
|
echo ";" > "$filename"
|
|
__lbd_cfg_append '; Automatically generated lbd config file,do not change it.' $filename
|
|
fi
|
|
|
|
__lbd_cfg_append ';' $filename
|
|
__lbd_cfg_append ';WLANIF list of wlan interfaces' $filename
|
|
__lbd_cfg_append ';WLANIF2G wlan driver interface for 2.4 GHz band' $filename
|
|
__lbd_cfg_append ';WLANIF5G wlan driver interface for 5 GHz band' $filename
|
|
__lbd_cfg_append ';STADB: station database' $filename
|
|
__lbd_cfg_append ';STAMON: station monitor' $filename
|
|
__lbd_cfg_append ';BANDMON: band monitor' $filename
|
|
__lbd_cfg_append ';ESTIMATOR: rate estimator' $filename
|
|
__lbd_cfg_append ';STEEREXEC: steering executor' $filename
|
|
__lbd_cfg_append ';STEERALG: steering algorithm' $filename
|
|
__lbd_cfg_append ';DIAGLOG: diagnostic logging' $filename
|
|
}
|
|
|
|
# Add the list of managed interfaces to the configuration file.
|
|
# input: $1 - the name of the config file to write to
|
|
__lbd_cfg_add_interface() {
|
|
local filename="$1"
|
|
local br_name="$2"
|
|
local section="config"
|
|
local option="MatchingSSID"
|
|
local all_wlan_ifaces
|
|
local all_wlan_ifaces_excluded
|
|
local ssid_to_match
|
|
|
|
#init the interface lists
|
|
whc_init_wlan_interface_list
|
|
|
|
# Get the list of wlan interfaces, seperated by comma
|
|
config_list_foreach "${section}" "${option}" whc_get_wlan_ifaces all_wlan_ifaces ssid_to_match "$br_name"
|
|
|
|
# get the excluded interface list
|
|
if [ ! -z "$ssid_to_match" ]; then
|
|
whc_get_wlan_ifaces_excl all_wlan_ifaces_excluded
|
|
fi
|
|
|
|
__lbd_cfg_append 'WlanInterfaces='$all_wlan_ifaces $filename
|
|
__lbd_cfg_append 'WlanInterfacesExcluded='$all_wlan_ifaces_excluded $filename
|
|
}
|
|
|
|
# Add IAS interference detection curve config parameters to the configuration file.
|
|
# input: $1 - the name of the config file to write to
|
|
__lbd_cfg_add_ias_curve() {
|
|
local filename=$1
|
|
for section in "IASCurve_24G_20M_1SS" "IASCurve_24G_20M_2SS" "IASCurve_5G_40M_1SS" \
|
|
"IASCurve_5G_40M_2SS" "IASCurve_5G_80M_1SS" "IASCurve_5G_80M_2SS"
|
|
do
|
|
__lbd_cfg_add_str_new_key $section Degree0 $section"_d0" $filename
|
|
__lbd_cfg_add_str_new_key $section RSSIDegree1 $section"_rd1" $filename
|
|
__lbd_cfg_add_str_new_key $section MCSDegree1 $section"_md1" $filename
|
|
__lbd_cfg_add_str_new_key $section RSSIDegree2 $section"_rd2" $filename
|
|
__lbd_cfg_add_str_new_key $section RSSIMCSDegree1 $section"_rmd1" $filename
|
|
__lbd_cfg_add_str_new_key $section MCSDegree2 $section"_md2" $filename
|
|
done
|
|
}
|
|
|
|
lbd_create_config() {
|
|
local filename=$1
|
|
local multi_ap_mode=$2
|
|
local multi_ap_cap=0
|
|
local br_name=""
|
|
if [ -n "$multi_ap_mode" ]; then
|
|
multi_ap_cap=$3
|
|
br_name=$4
|
|
fi
|
|
|
|
config_load 'lbd'
|
|
__lbd_cfg_add_head $filename $multi_ap_mode # append config instead of truncating in multi AP mode
|
|
|
|
__lbd_cfg_nl_append '[WLANIF]' $filename
|
|
__lbd_cfg_add_interface $filename $br_name
|
|
|
|
if [ -n "$multi_ap_mode" ]; then
|
|
# Only makes sense in multi-AP mode (since the single-AP daemon would
|
|
# be useless if it is not managing any AP interfaces).
|
|
__lbd_cfg_add_str config_Adv AllowZeroAPInterfaces $filename
|
|
fi
|
|
|
|
__lbd_cfg_nl_append '[WLANIF2G]' $filename
|
|
__lbd_cfg_add_str_new_key IAS Enable_W2 InterferenceDetectionEnable $filename
|
|
__lbd_cfg_add_str_new_key IdleSteer NormalInactTimeout InactIdleThreshold $filename
|
|
__lbd_cfg_add_str_new_key IdleSteer OverloadInactTimeout InactOverloadThreshold $filename
|
|
__lbd_cfg_add_str IdleSteer InactCheckInterval $filename
|
|
__lbd_cfg_add_str IdleSteer AuthAllow $filename
|
|
__lbd_cfg_add_str config BlacklistOtherESS $filename
|
|
__lbd_cfg_add_rssi_est_str IdleSteer RSSISteeringPoint_UG Estimator_Adv RSSIDiff_EstW5FromW2 InactRSSIXingHighThreshold $filename
|
|
__lbd_cfg_add_str SteerExec_Adv LowRSSIXingThreshold $filename
|
|
__lbd_cfg_add_str Estimator_Adv BcnrptActiveDuration $filename
|
|
__lbd_cfg_add_str Estimator_Adv BcnrptPassiveDuration $filename
|
|
__lbd_cfg_add_str_new_key ActiveSteer TxRateXingThreshold_UG HighTxRateXingThreshold $filename
|
|
__lbd_cfg_add_str_new_key ActiveSteer RateRSSIXingThreshold_UG HighRateRSSIXingThreshold $filename
|
|
__lbd_cfg_add_str config InactDetectionFromTx $filename
|
|
if [ -n "$multi_ap_mode" ]; then
|
|
# Only include AP steering parameters for multi-AP setup
|
|
if [ "$multi_ap_mode" = 'map' ]; then
|
|
__lbd_cfg_add_ap_steering_thresh APSteer LowRSSIAPSteerThreshold_SIG_W2 LowRSSIAPSteerThreshold_SIG LowRSSIAPSteeringThreshold "$filename"
|
|
else
|
|
if [ "$multi_ap_cap" -gt 0 ]; then
|
|
__lbd_cfg_add_ap_steering_thresh APSteer LowRSSIAPSteerThreshold_CAP_W2 LowRSSIAPSteerThreshold_CAP LowRSSIAPSteeringThreshold "$filename"
|
|
else
|
|
__lbd_cfg_add_ap_steering_thresh APSteer LowRSSIAPSteerThreshold_RE_W2 LowRSSIAPSteerThreshold_RE LowRSSIAPSteeringThreshold "$filename"
|
|
fi
|
|
fi
|
|
else
|
|
# Only include MU check interval to enable ACS report in single-AP setup
|
|
__lbd_cfg_add_str_new_key BandMonitor_Adv MUCheckInterval_W2 MUCheckInterval $filename
|
|
__lbd_cfg_add_str Offload MUAvgPeriod $filename
|
|
fi
|
|
__lbd_cfg_add_str SteerExec_Adv Delay24GProbeRSSIThreshold $filename
|
|
__lbd_cfg_add_str SteerExec_Adv Delay24GProbeTimeWindow $filename
|
|
__lbd_cfg_add_str SteerExec_Adv Delay24GProbeMinReqCount $filename
|
|
|
|
__lbd_cfg_nl_append '[WLANIF5G]' $filename
|
|
__lbd_cfg_add_str_new_key IAS Enable_W5 InterferenceDetectionEnable $filename
|
|
__lbd_cfg_add_str_new_key IdleSteer NormalInactTimeout InactIdleThreshold $filename
|
|
__lbd_cfg_add_str_new_key IdleSteer OverloadInactTimeout InactOverloadThreshold $filename
|
|
__lbd_cfg_add_str IdleSteer InactCheckInterval $filename
|
|
__lbd_cfg_add_str IdleSteer AuthAllow $filename
|
|
__lbd_cfg_add_str config BlacklistOtherESS $filename
|
|
__lbd_cfg_add_str_new_key IdleSteer RSSISteeringPoint_UG InactRSSIXingHighThreshold $filename
|
|
__lbd_cfg_add_rssi_est_str IdleSteer RSSISteeringPoint_DG Estimator_Adv RSSIDiff_EstW2FromW5 InactRSSIXingLowThreshold $filename
|
|
__lbd_cfg_add_str SteerExec_Adv LowRSSIXingThreshold $filename
|
|
__lbd_cfg_add_str Estimator_Adv BcnrptActiveDuration $filename
|
|
__lbd_cfg_add_str Estimator_Adv BcnrptPassiveDuration $filename
|
|
__lbd_cfg_add_str_new_key ActiveSteer TxRateXingThreshold_DG LowTxRateXingThreshold $filename
|
|
__lbd_cfg_add_str_new_key ActiveSteer RateRSSIXingThreshold_DG LowRateRSSIXingThreshold $filename
|
|
__lbd_cfg_add_str config InactDetectionFromTx $filename
|
|
if [ -n "$multi_ap_mode" ]; then
|
|
# Only include AP steering parameters for multi-AP setup
|
|
if [ "$multi_ap_mode" = 'map' ]; then
|
|
__lbd_cfg_add_ap_steering_thresh APSteer LowRSSIAPSteerThreshold_SIG_W5 LowRSSIAPSteerThreshold_SIG LowRSSIAPSteeringThreshold "$filename"
|
|
else
|
|
if [ "$multi_ap_cap" -gt 0 ]; then
|
|
__lbd_cfg_add_ap_steering_thresh APSteer LowRSSIAPSteerThreshold_CAP_W5 LowRSSIAPSteerThreshold_CAP LowRSSIAPSteeringThreshold "$filename"
|
|
else
|
|
__lbd_cfg_add_ap_steering_thresh APSteer LowRSSIAPSteerThreshold_RE_W5 LowRSSIAPSteerThreshold_RE LowRSSIAPSteeringThreshold "$filename"
|
|
fi
|
|
fi
|
|
else
|
|
# Only include MU check interval to enable ACS report in single-AP setup
|
|
__lbd_cfg_add_str_new_key BandMonitor_Adv MUCheckInterval_W5 MUCheckInterval $filename
|
|
__lbd_cfg_add_str Offload MUAvgPeriod $filename
|
|
fi
|
|
|
|
__lbd_cfg_nl_append '[STADB]' $filename
|
|
__lbd_cfg_add_str StaDB IncludeOutOfNetwork $filename
|
|
__lbd_cfg_add_str StaDB TrackRemoteAssoc $filename
|
|
__lbd_cfg_add_str StaDB_Adv AgingSizeThreshold $filename
|
|
__lbd_cfg_add_str StaDB_Adv AgingFrequency $filename
|
|
__lbd_cfg_add_str StaDB_Adv OutOfNetworkMaxAge $filename
|
|
__lbd_cfg_add_str StaDB_Adv InNetworkMaxAge $filename
|
|
__lbd_cfg_add_str_new_key config_Adv AgeLimit ProbeMaxInterval $filename
|
|
if [ -n "$multi_ap_mode" ]; then
|
|
# Only set number of supported remote BSSes for multi-AP setup
|
|
__lbd_cfg_add_str StaDB_Adv NumNonServingBSSes $filename
|
|
fi
|
|
__lbd_cfg_add_str StaDB MarkAdvClientAsDualBand $filename
|
|
__lbd_cfg_add_str StaDB_Adv PopulateNonServingPHYInfo $filename
|
|
__lbd_cfg_add_str StaDB_Adv LegacyUpgradeAllowedCnt $filename
|
|
__lbd_cfg_add_str StaDB_Adv LegacyUpgradeMonitorDur $filename
|
|
__lbd_cfg_add_str_new_key StaDB DisallowSteeringStaFile DisallowSteeringStaListFile $filename
|
|
__lbd_cfg_add_str StaDB_Adv MinAssocAgeForStatsAssocUpdate $filename
|
|
|
|
__lbd_cfg_nl_append '[STAMON]' $filename
|
|
__lbd_cfg_add_str StaMonitor_Adv RSSIMeasureSamples_W2 $filename
|
|
__lbd_cfg_add_str StaMonitor_Adv RSSIMeasureSamples_W5 $filename
|
|
__lbd_cfg_add_str config_Adv AgeLimit $filename
|
|
__lbd_cfg_add_str_new_key ActiveSteer TxRateXingThreshold_UG HighTxRateXingThreshold $filename
|
|
__lbd_cfg_add_str_new_key ActiveSteer RateRSSIXingThreshold_UG HighRateRSSIXingThreshold $filename
|
|
__lbd_cfg_add_str_new_key ActiveSteer TxRateXingThreshold_DG LowTxRateXingThreshold $filename
|
|
__lbd_cfg_add_str_new_key ActiveSteer RateRSSIXingThreshold_DG LowRateRSSIXingThreshold $filename
|
|
if [ -n "$multi_ap_mode" ]; then
|
|
# Parameters only relevant for multi-AP setup
|
|
__lbd_cfg_add_str IdleSteer RSSISteeringPoint_DG $filename
|
|
if [ "$multi_ap_mode" = 'map' ]; then
|
|
__lbd_cfg_add_ap_steering_thresh APSteer LowRSSIAPSteerThreshold_SIG_W2 LowRSSIAPSteerThreshold_SIG LowRSSIAPSteeringThreshold_W2 $filename
|
|
__lbd_cfg_add_ap_steering_thresh APSteer LowRSSIAPSteerThreshold_SIG_W5 LowRSSIAPSteerThreshold_SIG LowRSSIAPSteeringThreshold_W5 $filename
|
|
else
|
|
if [ "$multi_ap_cap" -gt 0 ]; then
|
|
__lbd_cfg_add_ap_steering_thresh APSteer LowRSSIAPSteerThreshold_CAP_W2 LowRSSIAPSteerThreshold_CAP LowRSSIAPSteeringThreshold_W2 $filename
|
|
__lbd_cfg_add_ap_steering_thresh APSteer LowRSSIAPSteerThreshold_CAP_W5 LowRSSIAPSteerThreshold_CAP LowRSSIAPSteeringThreshold_W5 $filename
|
|
else
|
|
__lbd_cfg_add_ap_steering_thresh APSteer LowRSSIAPSteerThreshold_RE_W2 LowRSSIAPSteerThreshold_RE LowRSSIAPSteeringThreshold_W2 $filename
|
|
__lbd_cfg_add_ap_steering_thresh APSteer LowRSSIAPSteerThreshold_RE_W5 LowRSSIAPSteerThreshold_RE LowRSSIAPSteeringThreshold_W5 $filename
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
__lbd_cfg_nl_append '[BANDMON]' $filename
|
|
__lbd_cfg_add_str Offload MUOverloadThreshold_W2 $filename
|
|
__lbd_cfg_add_str Offload MUOverloadThreshold_W5 $filename
|
|
__lbd_cfg_add_str Offload MUSafetyThreshold_W2 $filename
|
|
__lbd_cfg_add_str Offload MUSafetyThreshold_W5 $filename
|
|
__lbd_cfg_add_str_new_key Offload OffloadingMinRSSI RSSISafetyThreshold $filename
|
|
__lbd_cfg_add_str_new_key config_Adv AgeLimit RSSIMaxAge $filename
|
|
__lbd_cfg_add_str BandMonitor_Adv ProbeCountThreshold $filename
|
|
if [ -n "$multi_ap_mode" ]; then
|
|
# Parameters only relevant for multi-AP setup
|
|
if [ "$multi_ap_cap" -gt 0 ]; then
|
|
# Parameters only relevant for CAP
|
|
__lbd_cfg_add_str BandMonitor_Adv MUReportPeriod $filename
|
|
fi
|
|
__lbd_cfg_add_str BandMonitor_Adv LoadBalancingAllowedMaxPeriod $filename
|
|
__lbd_cfg_add_str BandMonitor_Adv NumRemoteChannels $filename
|
|
__lbd_cfg_add_str_new_key config_Adv AllowZeroAPInterfaces AllowZeroLocalChannels $filename
|
|
fi
|
|
|
|
__lbd_cfg_nl_append '[ESTIMATOR]' $filename
|
|
__lbd_cfg_add_str config_Adv AgeLimit $filename
|
|
__lbd_cfg_add_str Estimator_Adv RSSIDiff_EstW5FromW2 $filename
|
|
__lbd_cfg_add_str Estimator_Adv RSSIDiff_EstW2FromW5 $filename
|
|
__lbd_cfg_add_str Estimator_Adv ProbeCountThreshold $filename
|
|
__lbd_cfg_add_str Estimator_Adv StatsSampleInterval $filename
|
|
__lbd_cfg_add_str Estimator_Adv Max11kUnfriendly $filename
|
|
__lbd_cfg_add_str Estimator_Adv 11kProhibitTimeShort $filename
|
|
__lbd_cfg_add_str Estimator_Adv 11kProhibitTimeLong $filename
|
|
__lbd_cfg_add_str Estimator_Adv PhyRateScalingForAirtime $filename
|
|
__lbd_cfg_add_str Estimator_Adv EnableContinuousThroughput $filename
|
|
__lbd_cfg_add_str IAS MaxPollutionTime $filename
|
|
__lbd_cfg_add_str Estimator_Adv FastPollutionDetectBufSize $filename
|
|
__lbd_cfg_add_str Estimator_Adv NormalPollutionDetectBufSize $filename
|
|
__lbd_cfg_add_str Estimator_Adv PollutionDetectThreshold $filename
|
|
__lbd_cfg_add_str Estimator_Adv PollutionClearThreshold $filename
|
|
__lbd_cfg_add_str Estimator_Adv InterferenceAgeLimit $filename
|
|
__lbd_cfg_add_str Estimator_Adv IASLowRSSIThreshold $filename
|
|
__lbd_cfg_add_str Estimator_Adv IASMaxRateFactor $filename
|
|
__lbd_cfg_add_str Estimator_Adv IASMinDeltaPackets $filename
|
|
__lbd_cfg_add_str Estimator_Adv IASMinDeltaBytes $filename
|
|
__lbd_cfg_add_str Estimator_Adv IASEnableSingleBandDetect $filename
|
|
__lbd_cfg_add_str Estimator_Adv ActDetectMinInterval $filename
|
|
__lbd_cfg_add_str Estimator_Adv ActDetectMinPktPerSec $filename
|
|
__lbd_cfg_add_ias_curve $filename
|
|
|
|
__lbd_cfg_nl_append '[STEEREXEC]' $filename
|
|
__lbd_cfg_add_str SteerExec SteeringProhibitTime $filename
|
|
__lbd_cfg_add_str SteerExec_Adv TSteering $filename
|
|
__lbd_cfg_add_str SteerExec_Adv InitialAuthRejCoalesceTime $filename
|
|
__lbd_cfg_add_str SteerExec_Adv AuthRejMax $filename
|
|
__lbd_cfg_add_str SteerExec_Adv SteeringUnfriendlyTime $filename
|
|
__lbd_cfg_add_str SteerExec_Adv MaxSteeringUnfriendly $filename
|
|
__lbd_cfg_add_str_new_key SteerExec_Adv LowRSSIXingThreshold LowRSSIXingThreshold_W2 $filename
|
|
__lbd_cfg_add_str_new_key SteerExec_Adv LowRSSIXingThreshold LowRSSIXingThreshold_W5 $filename
|
|
__lbd_cfg_add_str SteerExec_Adv TargetLowRSSIThreshold_W2 $filename
|
|
__lbd_cfg_add_str SteerExec_Adv TargetLowRSSIThreshold_W5 $filename
|
|
__lbd_cfg_add_str SteerExec_Adv BlacklistTime $filename
|
|
__lbd_cfg_add_str SteerExec_Adv BTMResponseTime $filename
|
|
__lbd_cfg_add_str SteerExec_Adv BTMAssociationTime $filename
|
|
__lbd_cfg_add_str SteerExec_Adv BTMAlsoBlacklist $filename
|
|
__lbd_cfg_add_str SteerExec_Adv BTMUnfriendlyTime $filename
|
|
__lbd_cfg_add_str SteerExec BTMSteeringProhibitShortTime $filename
|
|
__lbd_cfg_add_str SteerExec_Adv MaxBTMUnfriendly $filename
|
|
__lbd_cfg_add_str SteerExec_Adv MaxBTMActiveUnfriendly $filename
|
|
__lbd_cfg_add_str config_Adv AgeLimit $filename
|
|
__lbd_cfg_add_str SteerExec_Adv MinRSSIBestEffort $filename
|
|
__lbd_cfg_add_str_new_key IAS UseBestEffort IASUseBestEffort $filename
|
|
__lbd_cfg_add_str SteerExec_Adv StartInBTMActiveState $filename
|
|
__lbd_cfg_add_str SteerExec_Adv MaxConsecutiveBTMFailuresAsActive $filename
|
|
__lbd_cfg_add_str SteerExec_Adv LegacyUpgradeUnfriendlyTime $filename
|
|
__lbd_cfg_add_str SteerExec DisableLegacySteering $filename
|
|
|
|
__lbd_cfg_nl_append '[STEERALG]' $filename
|
|
__lbd_cfg_add_str_new_key IdleSteer RSSISteeringPoint_DG InactRSSIXingThreshold_W2 $filename
|
|
__lbd_cfg_add_str_new_key IdleSteer RSSISteeringPoint_UG InactRSSIXingThreshold_W5 $filename
|
|
__lbd_cfg_add_str_new_key ActiveSteer TxRateXingThreshold_UG HighTxRateXingThreshold $filename
|
|
__lbd_cfg_add_str_new_key ActiveSteer RateRSSIXingThreshold_UG HighRateRSSIXingThreshold $filename
|
|
__lbd_cfg_add_str_new_key ActiveSteer TxRateXingThreshold_DG LowTxRateXingThreshold $filename
|
|
__lbd_cfg_add_str_new_key ActiveSteer RateRSSIXingThreshold_DG LowRateRSSIXingThreshold $filename
|
|
__lbd_cfg_add_str SteerAlg_Adv MinTxRateIncreaseThreshold $filename
|
|
__lbd_cfg_add_str config_Adv AgeLimit $filename
|
|
__lbd_cfg_add_str config PHYBasedPrioritization $filename
|
|
__lbd_cfg_add_str_new_key Offload OffloadingMinRSSI RSSISafetyThreshold $filename
|
|
__lbd_cfg_add_str SteerAlg_Adv MaxSteeringTargetCount $filename
|
|
__lbd_cfg_add_str SteerAlg_Adv ApplyEstimatedAirTimeOnSteering $filename
|
|
if [ -n "$multi_ap_mode" ]; then
|
|
# Only include AP steering parameters for multi-AP setup
|
|
# Consider both star and daisy chain topology, all the three parameters are required
|
|
__lbd_cfg_add_str APSteer APSteerToRootMinRSSIIncThreshold $filename
|
|
__lbd_cfg_add_str APSteer APSteerToLeafMinRSSIIncThreshold $filename
|
|
__lbd_cfg_add_str APSteer APSteerToPeerMinRSSIIncThreshold $filename
|
|
__lbd_cfg_add_str APSteer DownlinkRSSIThreshold_W5 $filename
|
|
if [ "$multi_ap_cap" -gt 0 ]; then
|
|
__lbd_cfg_add_str Offload MUOverloadThreshold_W2 $filename
|
|
__lbd_cfg_add_str Offload MUOverloadThreshold_W5 $filename
|
|
__lbd_cfg_add_str APSteer APSteerMaxRetryCount $filename
|
|
__lbd_cfg_add_str SteerAlg_Adv UsePathCapacityToSelectBSS $filename
|
|
fi
|
|
fi
|
|
|
|
__lbd_cfg_nl_append '[DIAGLOG]' $filename
|
|
__lbd_cfg_add_str DiagLog EnableLog $filename
|
|
__lbd_cfg_add_str DiagLog LogServerIP $filename
|
|
__lbd_cfg_add_str DiagLog LogServerPort $filename
|
|
__lbd_cfg_add_str DiagLog LogLevelWlanIF $filename
|
|
__lbd_cfg_add_str DiagLog LogLevelBandMon $filename
|
|
__lbd_cfg_add_str DiagLog LogLevelStaDB $filename
|
|
__lbd_cfg_add_str DiagLog LogLevelSteerExec $filename
|
|
__lbd_cfg_add_str DiagLog LogLevelStaMon $filename
|
|
__lbd_cfg_add_str DiagLog LogLevelEstimator $filename
|
|
__lbd_cfg_add_str DiagLog LogLevelDiagLog $filename
|
|
|
|
__hyd_cfg_nl_append '[PERSIST]' $filename
|
|
__hyd_cfg_add_str Persist PersistFile $filename
|
|
__hyd_cfg_add_str Persist PersistPeriod $filename
|
|
}
|