summaryrefslogtreecommitdiff
path: root/inventory/group_vars/accesspoints
diff options
context:
space:
mode:
Diffstat (limited to 'inventory/group_vars/accesspoints')
-rw-r--r--inventory/group_vars/accesspoints/vars.yml81
1 files changed, 69 insertions, 12 deletions
diff --git a/inventory/group_vars/accesspoints/vars.yml b/inventory/group_vars/accesspoints/vars.yml
index 7abe0582..e78740d4 100644
--- a/inventory/group_vars/accesspoints/vars.yml
+++ b/inventory/group_vars/accesspoints/vars.yml
@@ -85,28 +85,41 @@ accesspoint_wireless_devices_yaml: |
{% endfor %}
-## TODO: set up 802.11r see:
-## * https://www.reddit.com/r/openwrt/comments/515oea/finally_got_80211r_roaming_working/
-## * https://gist.github.com/lg/998d3e908d547bd9972a6bb604df377b
accesspoint_wireless_ifaces: "{{ accesspoint_wireless_ifaces_yaml | from_yaml }}"
accesspoint_wireless_ifaces_yaml: |
{% for zone in accesspoint_zones.keys() %}
+ {% set outer_loop = loop %}
{% for band in accesspoint_wireless_frequency_bands %}
- name: wifi-iface '{{ zone }}{{ band }}'
options:
device: 'radio{{ band }}'
network: '{{ zone }}'
mode: 'ap'
- disassoc_low_ack: '1'
- rsn_preauth: '1'
ssid: '{{ accesspoint_zones[zone].ssid }}'
encryption: '{{ accesspoint_zones[zone].encryption }}'
key: '{{ accesspoint_zones[zone].key }}'
+ disassoc_low_ack: '1'
+ rsn_preauth: '1'
+ {% if accesspoint_80211r is defined %}
+ ieee80211r: '1'
+ mobility_domain: '{{ "%04x" % (accesspoint_80211r.mobility_domain_base + outer_loop.index0) }}'
+ ft_over_ds: '1'
+ {% endif %}
+ {% if accesspoint_band_steering is defined %}
+ bss_transition: '1'
+ wnm_sleep_mode: '1'
+ time_advertisement: '2'
+ time_zone: 'CET-1CEST,M3.5.0,M10.5.0/3'
+ ieee80211k: '1'
+ rrm_neighbor_report: '1'
+ rrm_beacon_report: '1'
+ {% endif %}
{% endfor %}
{% endfor %}
+
openwrt_arch: ath79
openwrt_target: generic
openwrt_profile: ubnt_unifiac-lite
@@ -143,6 +156,16 @@ openwrt_packages_add:
- libiwinfo-lua
- libubus-lua
+_accesspoint_band_steering_packages_extra_:
+ none: []
+ dawn:
+ - dawn
+ usteer:
+ - usteer
+
+openwrt_packages_extra: "{{ _accesspoint_band_steering_packages_extra_[accesspoint_band_steering.kind | default('none')] }}"
+
+
openwrt_mixin:
/etc/sysctl.conf:
content: |
@@ -281,7 +304,7 @@ openwrt_mixin:
exit 0
-openwrt_uci:
+openwrt_uci_base:
system:
- name: system
options:
@@ -293,13 +316,9 @@ openwrt_uci:
- name: timeserver 'ntp'
options:
- enabled: '0'
+ enabled: '{{ accesspoint_ntp_servers is defined | ternary("1", "0") }}'
enable_server: '0'
- server:
- - '0.lede.pool.ntp.org'
- - '1.lede.pool.ntp.org'
- - '2.lede.pool.ntp.org'
- - '3.lede.pool.ntp.org'
+ server: "{{ accesspoint_ntp_servers | default([]) }}"
- name: led
options:
@@ -332,3 +351,41 @@ openwrt_uci:
network: "{{ accesspoint_network_base + accesspoint_network_zones }}"
wireless: "{{ accesspoint_wireless_devices + accesspoint_wireless_ifaces }}"
+
+openwrt_uci_band_steering: "{{ openwrt_uci_band_steering_yaml | from_yaml }}"
+openwrt_uci_band_steering_yaml: |
+ {% if accesspoint_band_steering is defined %}
+ {% if accesspoint_band_steering.kind == 'dawn' %}
+ umdns:
+ - name: umds
+ options:
+ jail: '1'
+ network:
+ - mgmt
+
+ ## TODO: what are the minimal required settings here??
+ dawn:
+ - name: network
+ options:
+ broadcast_ip: '{{ network_mgmt_zone.prefix | ansible.utils.ipaddr("broadcast") }}'
+ {% elif accesspoint_band_steering.kind == 'usteer' %}
+ usteer:
+ - name: usteer
+ options:
+ network: 'mgmt'
+ syslog: '1'
+ local_mode: '0'
+ ipv6: '0'
+ debug_level: '2'
+ assoc_steering: '1'
+ band_steering_threshold: '0'
+ band_steering_interval: '30000'
+ ssid_list:
+ {% for zone in accesspoint_band_steering.zones %}
+ - '{{ accesspoint_zones[zone].ssid }}'
+ {% endfor %}
+ {% endif %}
+ {% endif %}
+
+
+openwrt_uci: "{{ openwrt_uci_base | combine(accesspoint_band_steering is defined | ternary(openwrt_uci_band_steering, {})) }}"