+ [ -z "$addr" ] || {
+ iwconfig "$ifname" ap "$addr"
+ }
+ ;;
+ esac
+
+ config_get_bool uapsd "$vif" uapsd 0
+ iwpriv "$ifname" uapsd "$uapsd"
+
+ config_get_bool bgscan "$vif" bgscan
+ [ -n "$bgscan" ] && iwpriv "$ifname" bgscan "$bgscan"
+
+ config_get rate "$vif" rate
+ [ -n "$rate" ] && iwconfig "$ifname" rate "${rate%%.*}"
+
+ config_get mcast_rate "$vif" mcast_rate
+ [ -n "$mcast_rate" ] && iwpriv "$ifname" mcast_rate "${mcast_rate%%.*}"
+
+ config_get frag "$vif" frag
+ [ -n "$frag" ] && iwconfig "$ifname" frag "${frag%%.*}"
+
+ config_get rts "$vif" rts
+ [ -n "$rts" ] && iwconfig "$ifname" rts "${rts%%.*}"
+
+ config_get_bool comp "$vif" compression 0
+ iwpriv "$ifname" compression "$comp" >/dev/null 2>&1
+
+ config_get minrate "$vif" minrate
+ [ -n "$minrate" ] && iwpriv "$ifname" minrate "$minrate"
+
+ config_get maxrate "$vif" maxrate
+ [ -n "$maxrate" ] && iwpriv "$ifname" maxrate "$maxrate"
+
+ config_get_bool burst "$vif" bursting
+ [ -n "$burst" ] && iwpriv "$ifname" burst "$burst"
+
+ config_get_bool wmm "$vif" wmm
+ [ -n "$wmm" ] && iwpriv "$ifname" wmm "$wmm"
+
+ config_get_bool xr "$vif" xr
+ [ -n "$xr" ] && iwpriv "$ifname" xr "$xr"
+
+ config_get_bool ar "$vif" ar
+ [ -n "$ar" ] && iwpriv "$ifname" ar "$ar"
+
+ config_get_bool beacon_power "$vif" beacon_power
+ [ -n "$beacon_power" ] && iwpriv "$ifname" beacon_pwr "$beacon_power"
+
+ config_get_bool doth "$vif" doth 0
+ [ -n "$doth" ] && iwpriv "$ifname" doth "$doth"
+
+ config_get_bool probereq "$vif" probereq
+ [ -n "$probereq" ] && iwpriv "$ifname" probereq "$probereq"
+
+ config_get maclist "$vif" maclist
+ [ -n "$maclist" ] && {
+ # flush MAC list
+ iwpriv "$ifname" maccmd 3
+ for mac in $maclist; do
+ iwpriv "$ifname" addmac "$mac"
+ done
+ }
+
+ config_get macpolicy "$vif" macpolicy
+ case "$macpolicy" in
+ allow)
+ iwpriv "$ifname" maccmd 1
+ ;;
+ deny)
+ iwpriv "$ifname" maccmd 2