diff options
Diffstat (limited to 'inventory/group_vars/accesspoints/vars.yml')
-rw-r--r-- | inventory/group_vars/accesspoints/vars.yml | 81 |
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, {})) }}" |