From d265d2d9f71e337b5d8828988dd080b23cfd1d65 Mon Sep 17 00:00:00 2001 From: Martin Kennedy Date: Tue, 26 Jul 2022 12:42:33 -0400 Subject: [PATCH] feat: wifi-iface: Implement mesh_mode variant - Use empty 'ssid:' in your template when you want it to be removed but the mesh_id added - Add an stp network.device option so mesh loops don't break things --- default_vars.yml | 17 ++++++++++++----- wireless-setup.yml | 4 +++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/default_vars.yml b/default_vars.yml index fb3a409..f22059a 100644 --- a/default_vars.yml +++ b/default_vars.yml @@ -8,10 +8,6 @@ wifi_iface: disassoc_low_ack: '0' skip_inactivity_poll: '1' - labb_default: &default_wifi_iface_labb - <<: *default_wifi_iface - ssid: 'Laboratory B' - vgo: &vgo_wifi_iface <<: *default_wifi_iface network: 'vgolan' @@ -31,7 +27,13 @@ wifi_iface: <<: *vgo_wifi_iface ssid: 'Vermont Green Offices 5G' - labb: + mesh: &mesh_wifi_iface + ssid: + mode: 'mesh' + encryption: 'psk2+ccmp' + skip_inactivity_poll: + + labb: &labb_wifi_iface <<: *default_wifi_iface ssid: 'Laboratory B' network: 'lan' @@ -43,6 +45,11 @@ wifi_iface: 3163343464646535370a636331383863653137646636343831643961633633333536393539643861 62326536343964333331653966663931313438333161626533393235373232626265 + labbmesh: + <<: *labb_wifi_iface + <<: *mesh_wifi_iface + mesh_id: 'Laboratory B_Mesh' + wifi_device: default: &default_wifi_device diff --git a/wireless-setup.yml b/wireless-setup.yml index cf661cd..d3989bd 100644 --- a/wireless-setup.yml +++ b/wireless-setup.yml @@ -13,6 +13,7 @@ value: type: "{{ item.type }}" ports: "{{ item.ports }}" + stp: "{{ item.stp | default() }}" loop: "{{ network['device'] }}" - name: Setup network interfaces @@ -59,7 +60,8 @@ mode: "{{ item.mode | default(wifi_iface[item.template].mode) }}" device: "{{ item.device | default(wifi_iface[item.template].device) }}" network: "{{ item.network | default(wifi_iface[item.template].network) }}" - ssid: "{{ item.ssid | default(wifi_iface[item.template].ssid) }}" + ssid: "{{ item.ssid | default(wifi_iface[item.template].ssid) | default() }}" + mesh_id: "{{ item.mesh_id | default(wifi_iface[item.template].mesh_id) | default() }}" encryption: "{{ item.encryption | default(wifi_iface[item.template].encryption) }}" key: "{{ item.key | default(wifi_iface[item.template].key) }}" disabled: "{{ item.disabled | default(wifi_iface[item.template].disabled) | default(0) }}"