mirror of
https://github.com/Telecominfraproject/wlan-cloud-opensync-controller.git
synced 2025-11-01 19:17:52 +00:00
align mapping of tip.wlan.ovsdb.wifi-device.radio with tip.wlan.ovsdb.wifi-iface.default_radio
This commit is contained in:
@@ -39,14 +39,12 @@ OVSDB_RADIUSPROFILE_CONFIG_FILE="${OVSDB_RADIUSPROFILE_CONFIG_FILE:=/app/opensyn
|
||||
|
||||
OVSDB_IF_DEFAULT_BRIDGE="${OVSDB_IF_DEFAULT_BRIDGE:=br-home}"
|
||||
echo $OVSDB_IF_DEFAULT_BRIDGE
|
||||
OVSDB_IF_DEFAULT_RADIO_5G="${OVSDB_IF_DEFAULT_RADIO_5G:=home-ap-50}"
|
||||
echo $OVSDB_IF_DEFAULT_RADIO_5G
|
||||
OVSDB_IF_DEFAULT_RADIO_5GU="${OVSDB_IF_DEFAULT_RADIO_5GU:=home-ap-u50}"
|
||||
echo $OVSDB_IF_DEFAULT_RADIO_5GU
|
||||
OVSDB_IF_DEFAULT_RADIO_2G="${OVSDB_IF_DEFAULT_RADIO_2G:=home-ap-24}"
|
||||
echo $OVSDB_IF_DEFAULT_RADIO_2G
|
||||
OVSDB_IF_DEFAULT_RADIO_5GL="${OVSDB_IF_DEFAULT_RADIO_5GL:=home-ap-l50}"
|
||||
echo $OVSDB_IF_DEFAULT_RADIO_5GL
|
||||
OVSDB_IF_DEFAULT_RADIO_0="${OVSDB_IF_DEFAULT_RADIO_0:=home-ap-24}"
|
||||
echo $OVSDB_IF_DEFAULT_RADIO_0
|
||||
OVSDB_IF_DEFAULT_RADIO_1="${OVSDB_IF_DEFAULT_RADIO_1:=home-ap-l50}"
|
||||
echo $OVSDB_IF_DEFAULT_RADIO_1
|
||||
OVSDB_IF_DEFAULT_RADIO_2="${OVSDB_IF_DEFAULT_RADIO_2:=home-ap-u50}"
|
||||
echo $OVSDB_IF_DEFAULT_RADIO_2
|
||||
OVSDB_DEVICE_DEFAULT_WAN_TYPE="${OVSDB_DEVICE_DEFAULT_WAN_NAME:=eth}"
|
||||
echo $OVSDB_DEVICE_DEFAULT_WAN
|
||||
OVSDB_DEVICE_DEFAULT_LAN_TYPE="${OVSDB_DEVICE_DEFAULT_LAN_TYPE:=br-lan}"
|
||||
@@ -134,10 +132,9 @@ OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_bridge=$OVSDB_IF_D
|
||||
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_wan_type=$OVSDB_DEVICE_DEFAULT_WAN_TYPE"
|
||||
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_lan_type=$OVSDB_DEVICE_DEFAULT_LAN_TYPE"
|
||||
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_lan_name=$OVSDB_DEVICE_DEFAULT_LAN_NAME"
|
||||
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_radio5g=$OVSDB_IF_DEFAULT_RADIO_5G"
|
||||
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_radio5gu=$OVSDB_IF_DEFAULT_RADIO_5GU"
|
||||
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_radio2g=$OVSDB_IF_DEFAULT_RADIO_2G"
|
||||
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_radio5gl=$OVSDB_IF_DEFAULT_RADIO_5GL"
|
||||
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_radio0=$OVSDB_IF_DEFAULT_RADIO_0"
|
||||
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_radio1=$OVSDB_IF_DEFAULT_RADIO_1"
|
||||
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_radio2=$OVSDB_IF_DEFAULT_RADIO_2"
|
||||
|
||||
echo OVSDB_PROPS $OVSDB_PROPS
|
||||
|
||||
|
||||
@@ -28,10 +28,9 @@ OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_bridge=$OVSDB_IF_DEFAULT_BRID
|
||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_wan_type=$OVSDB_DEVICE_DEFAULT_WAN_TYPE"
|
||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_lan_type=$OVSDB_DEVICE_DEFAULT_LAN_TYPE"
|
||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_lan_name=$OVSDB_DEVICE_DEFAULT_LAN_NAME"
|
||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_radio5g=$OVSDB_IF_DEFAULT_RADIO_5G"
|
||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_radio5gu=$OVSDB_IF_DEFAULT_RADIO_5GU"
|
||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_radio2g=$OVSDB_IF_DEFAULT_RADIO_2G"
|
||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_radio5gl=$OVSDB_IF_DEFAULT_RADIO_5GL"
|
||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_radio0=$OVSDB_IF_DEFAULT_RADIO_0"
|
||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_radio1=$OVSDB_IF_DEFAULT_RADIO_1"
|
||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_radio2=$OVSDB_IF_DEFAULT_RADIO_2"
|
||||
|
||||
echo OVSDB_PROPS $OVSDB_PROPS
|
||||
|
||||
|
||||
@@ -108,14 +108,20 @@ public class OvsdbDao {
|
||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_wan_type:eth}")
|
||||
public String defaultWanInterfaceType;
|
||||
|
||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_radio2g:home-ap-24}")
|
||||
public String ifPfx2pt4GHz;
|
||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_radio5gl:home-ap-l50}")
|
||||
public String ifPfx5GHzL;
|
||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_radio5gu:home-ap-u50}")
|
||||
public String ifPfx5GHzU;
|
||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_radio5g:home-ap-50}")
|
||||
public String ifPfx5GHz;
|
||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_radio0:home-ap-24}")
|
||||
public String defaultRadio0;
|
||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_radio1:home-ap-l50}")
|
||||
public String defaultRadio1;
|
||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_radio2:home-ap-u50}")
|
||||
public String defaultRadio2;
|
||||
|
||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-device.radio0:wifi0}")
|
||||
public String radio0;
|
||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-device.radio1:wifi1}")
|
||||
public String radio1;
|
||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-device.radio2:wifi2}")
|
||||
public String radio2;
|
||||
|
||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.max:8}")
|
||||
public int maxInterfacesPerRadio;
|
||||
|
||||
@@ -1538,13 +1544,11 @@ public class OvsdbDao {
|
||||
provisionedInterfaces, provisionedPorts, provisionedBridges);
|
||||
provisionSingleBridgePortInterface(ovsdbClient, patchW2h, defaultWanInterfaceType, "patch", patchW2hOptions,
|
||||
provisionedInterfaces, provisionedPorts, provisionedBridges);
|
||||
provisionSingleBridgePortInterface(ovsdbClient, ifPfx5GHz, bridgeNameVifInterfaces, "vif", null,
|
||||
provisionSingleBridgePortInterface(ovsdbClient, defaultRadio0, bridgeNameVifInterfaces, "vif", null,
|
||||
provisionedInterfaces, provisionedPorts, provisionedBridges);
|
||||
provisionSingleBridgePortInterface(ovsdbClient, ifPfx5GHzU, bridgeNameVifInterfaces, "vif", null,
|
||||
provisionSingleBridgePortInterface(ovsdbClient, defaultRadio1, bridgeNameVifInterfaces, "vif", null,
|
||||
provisionedInterfaces, provisionedPorts, provisionedBridges);
|
||||
provisionSingleBridgePortInterface(ovsdbClient, ifPfx5GHzL, bridgeNameVifInterfaces, "vif", null,
|
||||
provisionedInterfaces, provisionedPorts, provisionedBridges);
|
||||
provisionSingleBridgePortInterface(ovsdbClient, ifPfx2pt4GHz, bridgeNameVifInterfaces, "vif", null,
|
||||
provisionSingleBridgePortInterface(ovsdbClient, defaultRadio2, bridgeNameVifInterfaces, "vif", null,
|
||||
provisionedInterfaces, provisionedPorts, provisionedBridges);
|
||||
|
||||
} catch (OvsdbClientException | TimeoutException | ExecutionException | InterruptedException e) {
|
||||
@@ -2430,12 +2434,50 @@ public class OvsdbDao {
|
||||
// radioType);
|
||||
// continue;
|
||||
// }
|
||||
|
||||
Map<String, WifiRadioConfigInfo> provisionedRadioConfigs = getProvisionedWifiRadioConfigs(ovsdbClient);
|
||||
String freqBand = null;
|
||||
String ifName = null;
|
||||
String radioName = null;
|
||||
for (Entry<String, WifiRadioConfigInfo> entry : provisionedRadioConfigs.entrySet()) {
|
||||
if (radioType == RadioType.is2dot4GHz && entry.getValue().freqBand.equals("2.4G")) {
|
||||
freqBand = "2.4G";
|
||||
radioName = entry.getKey();
|
||||
break;
|
||||
} else if (radioType == RadioType.is5GHzL && entry.getValue().freqBand.equals("5GL")) {
|
||||
freqBand = "5GL";
|
||||
radioName = entry.getKey();
|
||||
break;
|
||||
} else if (radioType == RadioType.is5GHzU && entry.getValue().freqBand.equals("5GU")) {
|
||||
freqBand = "5GU";
|
||||
radioName = entry.getKey();
|
||||
break;
|
||||
} else if (radioType == RadioType.is5GHz && entry.getValue().freqBand.equals("5G")) {
|
||||
freqBand = "5G";
|
||||
radioName = entry.getKey();
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (radioName == null || freqBand == null) {
|
||||
LOG.debug("Cannot provision SSID with radio if_name {} and freqBand {}", radioName, freqBand);
|
||||
continue;
|
||||
}
|
||||
if (radioName.equals(radio0)) {
|
||||
ifName = defaultRadio0;
|
||||
} else if (radioName.equals(radio1)) {
|
||||
ifName = defaultRadio1;
|
||||
} else if (radioName.equals(radio2)) {
|
||||
ifName = defaultRadio2;
|
||||
}
|
||||
if (ifName == null) {
|
||||
LOG.debug("Cannot provision SSID for radio {} freqBand {} with VIF if_name {}", radioName, freqBand,
|
||||
ifName);
|
||||
continue;
|
||||
}
|
||||
|
||||
int keyRefresh = ssidConfig.getKeyRefresh();
|
||||
|
||||
boolean ssidBroadcast = ssidConfig.getBroadcastSsid() == StateSetting.enabled;
|
||||
Map<String, String> security = new HashMap<>();
|
||||
String ssidSecurityMode = ssidConfig.getSecureMode().name();
|
||||
String opensyncSecurityMode = "OPEN";
|
||||
|
||||
String ipAssignScheme = "none";
|
||||
// the following 5 attributes only applicable to static config,
|
||||
@@ -2462,7 +2504,17 @@ public class OvsdbDao {
|
||||
if (radioConfiguration == null) {
|
||||
continue; // don't have a radio of this kind in the map
|
||||
}
|
||||
|
||||
RadioMode radioMode = radioConfiguration.getRadioMode();
|
||||
String minHwMode = "11n"; // min_hw_mode is 11ac, wifi 5, we can
|
||||
// also take ++ (11ax) but 2.4GHz only
|
||||
// Wifi4 --
|
||||
if (!radioType.equals(RadioType.is2dot4GHz)) {
|
||||
minHwMode = "11ac";
|
||||
}
|
||||
if (!radioType.equals(RadioType.is2dot4GHz) && radioMode.equals(RadioMode.modeX)) {
|
||||
minHwMode = "11x";
|
||||
}
|
||||
|
||||
boolean uapsdEnabled = radioConfiguration.getUapsdState() == StateSetting.enabled;
|
||||
|
||||
@@ -2484,15 +2536,9 @@ public class OvsdbDao {
|
||||
}
|
||||
}
|
||||
|
||||
String minHwMode = "11n"; // min_hw_mode is 11ac, wifi 5, we can
|
||||
// also take ++ (11ax) but 2.4GHz only
|
||||
// Wifi4 --
|
||||
if (!radioType.equals(RadioType.is2dot4GHz)) {
|
||||
minHwMode = "11ac";
|
||||
}
|
||||
if (!radioType.equals(RadioType.is2dot4GHz) && radioMode.equals(RadioMode.modeX)) {
|
||||
minHwMode = "11x";
|
||||
}
|
||||
Map<String, String> security = new HashMap<>();
|
||||
String ssidSecurityMode = ssidConfig.getSecureMode().name();
|
||||
String opensyncSecurityMode = "OPEN";
|
||||
|
||||
if (ssidSecurityMode.equals("wpaPSK") || ssidSecurityMode.equals("wpa2PSK")
|
||||
|| ssidSecurityMode.equals("wpa2OnlyPSK")) {
|
||||
@@ -2502,7 +2548,6 @@ public class OvsdbDao {
|
||||
} else if (ssidSecurityMode.equals("wpaEAP") || ssidSecurityMode.equals("wpa2EAP")
|
||||
|| ssidSecurityMode.equals("wpa2OnlyEAP")) {
|
||||
opensyncSecurityMode = "WPA-EAP";
|
||||
|
||||
}
|
||||
|
||||
security.put("encryption", opensyncSecurityMode);
|
||||
@@ -2534,23 +2579,6 @@ public class OvsdbDao {
|
||||
|
||||
boolean enabled = ssidConfig.getSsidAdminState().equals(StateSetting.enabled);
|
||||
|
||||
String ifName = null;
|
||||
String freqBand = null;
|
||||
|
||||
if (radioType == RadioType.is2dot4GHz) {
|
||||
ifName = ifPfx2pt4GHz;
|
||||
freqBand = "2.4G";
|
||||
} else if (radioType == RadioType.is5GHzL) {
|
||||
ifName = ifPfx5GHzL;
|
||||
freqBand = "5GL";
|
||||
} else if (radioType == RadioType.is5GHzU) {
|
||||
ifName = ifPfx5GHzU;
|
||||
freqBand = "5GU";
|
||||
} else if (radioType == RadioType.is5GHz) {
|
||||
ifName = ifPfx5GHz;
|
||||
freqBand = "5G";
|
||||
}
|
||||
|
||||
int numberOfInterfaces = 0;
|
||||
for (String key : getProvisionedWifiVifConfigs(ovsdbClient).keySet()) {
|
||||
if (key.startsWith(ifName)) {
|
||||
@@ -3016,7 +3044,7 @@ public class OvsdbDao {
|
||||
operations.add(new Update(awlanNodeDbTable, row));
|
||||
|
||||
CompletableFuture<OperationResult[]> fResult = ovsdbClient.transact(ovsdbName, operations);
|
||||
|
||||
|
||||
OperationResult[] result = fResult.join();
|
||||
for (OperationResult r : result) {
|
||||
LOG.debug("Op Result {}", r);
|
||||
|
||||
Reference in New Issue
Block a user