From 9c4e914f3241107beb42a99c6ba463537ace2ee3 Mon Sep 17 00:00:00 2001 From: Mike Hansen Date: Wed, 3 Jun 2020 11:20:22 -0400 Subject: [PATCH] Fix Config MAP for non-encrypted mode, allow externalize bridge name --- .../app/run.sh | 3 ++ .../src/main/docker/app/run.sh | 13 +++---- .../wlan/opensync/ovsdb/dao/OvsdbDao.java | 34 ++++++++----------- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/opensync-gateway-static-docker/src/main/docker-opensync-gateway-and-mqtt/app/run.sh b/opensync-gateway-static-docker/src/main/docker-opensync-gateway-and-mqtt/app/run.sh index 1ed5095..70cc616 100755 --- a/opensync-gateway-static-docker/src/main/docker-opensync-gateway-and-mqtt/app/run.sh +++ b/opensync-gateway-static-docker/src/main/docker-opensync-gateway-and-mqtt/app/run.sh @@ -35,6 +35,8 @@ OVSDB_EQUIPMENT_CONFIG_FILE="${OVSDB_EQUIPMENT_CONFIG_FILE:=/app/opensync/Equipm OVSDB_APPROFILE_CONFIG_FILE="${OVSDB_AP_PROFILE_CONFIG_FILE:=/app/opensync/ProfileAPExample.json}" OVSDB_SSIDPROFILE_CONFIG_FILE="${OVSDB_SSIDPROFILE_CONFIG_FILE:=/app/opensync/ProfileSsid.json}" OVSDB_LOCATION_CONFIG_FILE="${OVSDB_LOCATION_CONFIG_FILE:=/app/opensync/LocationBuildingExample.json}" +OVSDB_IF_DEFAULT_BRIDGE="${OVSDB_IF_DEFAULT_BRIDGE:=br-home}" +echo $OVSDB_IF_DEFAULT_BRIDGE OVSDB_IF_DEFAULT_RADIO_0="${OVSDB_IF_DEFAULT_RADIO_0:=home-ap-u50}" echo $OVSDB_IF_DEFAULT_RADIO_0 OVSDB_IF_DEFAULT_RADIO_1="${OVSDB_IF_DEFAULT_RADIO_1:=home-ap-24}" @@ -123,6 +125,7 @@ OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.customerEquipmentFileName=$OVSDB_EQU OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.apProfileFileName=$OVSDB_APPROFILE_CONFIG_FILE" OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.ssidProfileFileName=$OVSDB_SSIDPROFILE_CONFIG_FILE" OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.locationFileName=$OVSDB_LOCATION_CONFIG_FILE" +OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.wifi-iface.default_bridge=$OVSDB_IF_DEFAULT_BRIDGE" OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.wifi-iface.default_radio0=$OVSDB_IF_DEFAULT_RADIO_0" OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.wifi-iface.default_radio1=$OVSDB_IF_DEFAULT_RADIO_1" OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.wifi-iface.default_radio2=$OVSDB_IF_DEFAULT_RADIO_2" diff --git a/opensync-gateway-static-docker/src/main/docker/app/run.sh b/opensync-gateway-static-docker/src/main/docker/app/run.sh index edfc291..bbfff47 100755 --- a/opensync-gateway-static-docker/src/main/docker/app/run.sh +++ b/opensync-gateway-static-docker/src/main/docker/app/run.sh @@ -23,12 +23,13 @@ OVSDB_PROPS+=" -Dconnectus.ovsdb.customerEquipmentFileName=$OVSDB_EQUIPMENT_CONF OVSDB_PROPS+=" -Dconnectus.ovsdb.apProfileFileName=$OVSDB_APPROFILE_CONFIG_FILE" OVSDB_PROPS+=" -Dconnectus.ovsdb.ssidProfileFileName=$OVSDB_SSIDPROFILE_CONFIG_FILE" OVSDB_PROPS+=" -Dconnectus.ovsdb.locationFileName=$OVSDB_LOCATION_CONFIG_FILE" -OVSDB_PROPS+="-Dconnectus.ovsdb.wifi-iface.default_radio0=$OVSDB_IF_DEFAULT_RADIO_0" -OVSDB_PROPS+="-Dconnectus.ovsdb.wifi-iface.default_radio1=$OVSDB_IF_DEFAULT_RADIO_1" -OVSDB_PROPS+="-Dconnectus.ovsdb.wifi-iface.default_radio2=$OVSDB_IF_DEFAULT_RADIO_2" -OVSDB_PROPS+="-Dconnectus.ovsdb.wifi-device.radio0=$OVSDB_DEVICE_RADIO_0" -OVSDB_PROPS+="-Dconnectus.ovsdb.wifi-device.radio1=$OVSDB_DEVICE_RADIO_1" -OVSDB_PROPS+="-Dconnectus.ovsdb.wifi-device.radio2=$OVSDB_DEVICE_RADIO_2" +OVSDB_PROPS+=" -Dconnectus.ovsdb.wifi-iface.default_bridge=$OVSDB_IF_DEFAULT_BRIDGE" +OVSDB_PROPS+=" -Dconnectus.ovsdb.wifi-iface.default_radio0=$OVSDB_IF_DEFAULT_RADIO_0" +OVSDB_PROPS+=" -Dconnectus.ovsdb.wifi-iface.default_radio1=$OVSDB_IF_DEFAULT_RADIO_1" +OVSDB_PROPS+=" -Dconnectus.ovsdb.wifi-iface.default_radio2=$OVSDB_IF_DEFAULT_RADIO_2" +OVSDB_PROPS+=" -Dconnectus.ovsdb.wifi-device.radio0=$OVSDB_DEVICE_RADIO_0" +OVSDB_PROPS+=" -Dconnectus.ovsdb.wifi-device.radio1=$OVSDB_DEVICE_RADIO_1" +OVSDB_PROPS+=" -Dconnectus.ovsdb.wifi-device.radio2=$OVSDB_DEVICE_RADIO_2" echo OVSDB_PROPS $OVSDB_PROPS diff --git a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/OvsdbDao.java b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/OvsdbDao.java index 1eb8bf8..c26657f 100644 --- a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/OvsdbDao.java +++ b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/OvsdbDao.java @@ -82,6 +82,9 @@ public class OvsdbDao { @org.springframework.beans.factory.annotation.Value("${connectus.ovsdb.timeoutSec:30}") private int ovsdbTimeoutSec; + @org.springframework.beans.factory.annotation.Value("${connectus.ovsdb.wifi-iface.default_bridge:br-home}") + public String bridgeNameVifInterfaces; + @org.springframework.beans.factory.annotation.Value("${connectus.ovsdb.wifi-iface.default_radio1:home-ap-24}") public String ifName2pt4GHz; @org.springframework.beans.factory.annotation.Value("${connectus.ovsdb.wifi-iface.default_radio2:home-ap-l50}") @@ -1040,7 +1043,6 @@ public class OvsdbDao { // public static final String homeApL50 = "home-ap-l50"; // public static final String homeApU50 = "home-ap-u50"; - public static final String brHome = "br-home"; public static final String brWan = "br-wan"; public static final String brLan = "br-lan"; @@ -1064,16 +1066,16 @@ public class OvsdbDao { Map patchW2hOptions = new HashMap<>(); patchH2wOptions.put("peer", "patch-h2w"); - provisionSingleBridgePortInterface(ovsdbClient, patchH2w, brHome, "patch", patchH2wOptions, + provisionSingleBridgePortInterface(ovsdbClient, patchH2w, bridgeNameVifInterfaces, "patch", patchH2wOptions, provisionedInterfaces, provisionedPorts, provisionedBridges); provisionSingleBridgePortInterface(ovsdbClient, patchW2h, brWan, "patch", patchW2hOptions, provisionedInterfaces, provisionedPorts, provisionedBridges); - provisionSingleBridgePortInterface(ovsdbClient, ifName5GHzU, brHome, "vif", null, provisionedInterfaces, + provisionSingleBridgePortInterface(ovsdbClient, ifName5GHzU, bridgeNameVifInterfaces, "vif", null, provisionedInterfaces, provisionedPorts, provisionedBridges); - provisionSingleBridgePortInterface(ovsdbClient, ifName5GHzL, brHome, "vif", null, provisionedInterfaces, + provisionSingleBridgePortInterface(ovsdbClient, ifName5GHzL, bridgeNameVifInterfaces, "vif", null, provisionedInterfaces, provisionedPorts, provisionedBridges); - provisionSingleBridgePortInterface(ovsdbClient, ifName2pt4GHz, brHome, "vif", null, provisionedInterfaces, + provisionSingleBridgePortInterface(ovsdbClient, ifName2pt4GHz, bridgeNameVifInterfaces, "vif", null, provisionedInterfaces, provisionedPorts, provisionedBridges); } catch (OvsdbClientException | TimeoutException | ExecutionException | InterruptedException e) { @@ -1933,39 +1935,33 @@ public class OvsdbDao { opensyncSecurityMode = "WPA-PSK"; else if (ssidSecurityMode.equalsIgnoreCase("wep")) opensyncSecurityMode = "WEP"; - + security.put("encryption", opensyncSecurityMode); - security.put("key", ssidConfig.getKeyStr()); - security.put("mode", Long.toString(ssidConfig.getSecureMode().getId())); - String bridge = brHome; + // key and mode is N/A for OPEN security + if (!opensyncSecurityMode.equals("OPEN")) { + security.put("key", ssidConfig.getKeyStr()); + security.put("mode", Long.toString(ssidConfig.getSecureMode().getId())); + } + boolean enabled = ssidConfig.getSsidAdminState().equals(StateSetting.enabled); String ifName = null; String radioIfName = null; -// int vifRadioIdx = -1; if (radioType == RadioType.is2dot4GHz) { ifName = ifName2pt4GHz; radioIfName = radioName2pt4GHz; -// vifRadioIdx = 1; } else if (radioType == RadioType.is5GHzL) { ifName = ifName5GHzL; radioIfName = radioName5GHzL; -// vifRadioIdx = 2; } else if (radioType == RadioType.is5GHzU) { ifName = ifName5GHzU; radioIfName = radioName5GHzU; -// vifRadioIdx = 3; } -// if (vifRadioIdx == -1) { -// LOG.debug("Cannot determine vif radio idx radioType {} skipping", radioType); -// continue; -// } - if (!provisionedWifiVifConfigs.containsKey(ifName + "_" + ssidConfig.getSsid())) { try { - configureSingleSsid(ovsdbClient, bridge, ifName, ssidConfig.getSsid(), ssidBroadcast, security, + configureSingleSsid(ovsdbClient, bridgeNameVifInterfaces, ifName, ssidConfig.getSsid(), ssidBroadcast, security, provisionedWifiRadioConfigs, radioIfName, ssidConfig.getVlanId(), rrmEnabled, minHwMode, enabled, keyRefresh, uapsdEnabled, apBridge, ssidConfig.getForwardMode(), gateway, inet, dns, ipAssignScheme);