mirror of
https://github.com/Telecominfraproject/wlan-cloud-opensync-controller.git
synced 2025-11-03 03:57:54 +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}"
|
OVSDB_IF_DEFAULT_BRIDGE="${OVSDB_IF_DEFAULT_BRIDGE:=br-home}"
|
||||||
echo $OVSDB_IF_DEFAULT_BRIDGE
|
echo $OVSDB_IF_DEFAULT_BRIDGE
|
||||||
OVSDB_IF_DEFAULT_RADIO_5G="${OVSDB_IF_DEFAULT_RADIO_5G:=home-ap-50}"
|
OVSDB_IF_DEFAULT_RADIO_0="${OVSDB_IF_DEFAULT_RADIO_0:=home-ap-24}"
|
||||||
echo $OVSDB_IF_DEFAULT_RADIO_5G
|
echo $OVSDB_IF_DEFAULT_RADIO_0
|
||||||
OVSDB_IF_DEFAULT_RADIO_5GU="${OVSDB_IF_DEFAULT_RADIO_5GU:=home-ap-u50}"
|
OVSDB_IF_DEFAULT_RADIO_1="${OVSDB_IF_DEFAULT_RADIO_1:=home-ap-l50}"
|
||||||
echo $OVSDB_IF_DEFAULT_RADIO_5GU
|
echo $OVSDB_IF_DEFAULT_RADIO_1
|
||||||
OVSDB_IF_DEFAULT_RADIO_2G="${OVSDB_IF_DEFAULT_RADIO_2G:=home-ap-24}"
|
OVSDB_IF_DEFAULT_RADIO_2="${OVSDB_IF_DEFAULT_RADIO_2:=home-ap-u50}"
|
||||||
echo $OVSDB_IF_DEFAULT_RADIO_2G
|
echo $OVSDB_IF_DEFAULT_RADIO_2
|
||||||
OVSDB_IF_DEFAULT_RADIO_5GL="${OVSDB_IF_DEFAULT_RADIO_5GL:=home-ap-l50}"
|
|
||||||
echo $OVSDB_IF_DEFAULT_RADIO_5GL
|
|
||||||
OVSDB_DEVICE_DEFAULT_WAN_TYPE="${OVSDB_DEVICE_DEFAULT_WAN_NAME:=eth}"
|
OVSDB_DEVICE_DEFAULT_WAN_TYPE="${OVSDB_DEVICE_DEFAULT_WAN_NAME:=eth}"
|
||||||
echo $OVSDB_DEVICE_DEFAULT_WAN
|
echo $OVSDB_DEVICE_DEFAULT_WAN
|
||||||
OVSDB_DEVICE_DEFAULT_LAN_TYPE="${OVSDB_DEVICE_DEFAULT_LAN_TYPE:=br-lan}"
|
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_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_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_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_radio0=$OVSDB_IF_DEFAULT_RADIO_0"
|
||||||
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_radio1=$OVSDB_IF_DEFAULT_RADIO_1"
|
||||||
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_radio2=$OVSDB_IF_DEFAULT_RADIO_2"
|
||||||
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_radio5gl=$OVSDB_IF_DEFAULT_RADIO_5GL"
|
|
||||||
|
|
||||||
echo OVSDB_PROPS $OVSDB_PROPS
|
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_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_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_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_radio0=$OVSDB_IF_DEFAULT_RADIO_0"
|
||||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_radio5gu=$OVSDB_IF_DEFAULT_RADIO_5GU"
|
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_radio1=$OVSDB_IF_DEFAULT_RADIO_1"
|
||||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_radio2g=$OVSDB_IF_DEFAULT_RADIO_2G"
|
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_radio2=$OVSDB_IF_DEFAULT_RADIO_2"
|
||||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_radio5gl=$OVSDB_IF_DEFAULT_RADIO_5GL"
|
|
||||||
|
|
||||||
echo OVSDB_PROPS $OVSDB_PROPS
|
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}")
|
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_wan_type:eth}")
|
||||||
public String defaultWanInterfaceType;
|
public String defaultWanInterfaceType;
|
||||||
|
|
||||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_radio2g:home-ap-24}")
|
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_radio0:home-ap-24}")
|
||||||
public String ifPfx2pt4GHz;
|
public String defaultRadio0;
|
||||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_radio5gl:home-ap-l50}")
|
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_radio1:home-ap-l50}")
|
||||||
public String ifPfx5GHzL;
|
public String defaultRadio1;
|
||||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_radio5gu:home-ap-u50}")
|
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_radio2:home-ap-u50}")
|
||||||
public String ifPfx5GHzU;
|
public String defaultRadio2;
|
||||||
@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-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}")
|
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.max:8}")
|
||||||
public int maxInterfacesPerRadio;
|
public int maxInterfacesPerRadio;
|
||||||
|
|
||||||
@@ -1538,13 +1544,11 @@ public class OvsdbDao {
|
|||||||
provisionedInterfaces, provisionedPorts, provisionedBridges);
|
provisionedInterfaces, provisionedPorts, provisionedBridges);
|
||||||
provisionSingleBridgePortInterface(ovsdbClient, patchW2h, defaultWanInterfaceType, "patch", patchW2hOptions,
|
provisionSingleBridgePortInterface(ovsdbClient, patchW2h, defaultWanInterfaceType, "patch", patchW2hOptions,
|
||||||
provisionedInterfaces, provisionedPorts, provisionedBridges);
|
provisionedInterfaces, provisionedPorts, provisionedBridges);
|
||||||
provisionSingleBridgePortInterface(ovsdbClient, ifPfx5GHz, bridgeNameVifInterfaces, "vif", null,
|
provisionSingleBridgePortInterface(ovsdbClient, defaultRadio0, bridgeNameVifInterfaces, "vif", null,
|
||||||
provisionedInterfaces, provisionedPorts, provisionedBridges);
|
provisionedInterfaces, provisionedPorts, provisionedBridges);
|
||||||
provisionSingleBridgePortInterface(ovsdbClient, ifPfx5GHzU, bridgeNameVifInterfaces, "vif", null,
|
provisionSingleBridgePortInterface(ovsdbClient, defaultRadio1, bridgeNameVifInterfaces, "vif", null,
|
||||||
provisionedInterfaces, provisionedPorts, provisionedBridges);
|
provisionedInterfaces, provisionedPorts, provisionedBridges);
|
||||||
provisionSingleBridgePortInterface(ovsdbClient, ifPfx5GHzL, bridgeNameVifInterfaces, "vif", null,
|
provisionSingleBridgePortInterface(ovsdbClient, defaultRadio2, bridgeNameVifInterfaces, "vif", null,
|
||||||
provisionedInterfaces, provisionedPorts, provisionedBridges);
|
|
||||||
provisionSingleBridgePortInterface(ovsdbClient, ifPfx2pt4GHz, bridgeNameVifInterfaces, "vif", null,
|
|
||||||
provisionedInterfaces, provisionedPorts, provisionedBridges);
|
provisionedInterfaces, provisionedPorts, provisionedBridges);
|
||||||
|
|
||||||
} catch (OvsdbClientException | TimeoutException | ExecutionException | InterruptedException e) {
|
} catch (OvsdbClientException | TimeoutException | ExecutionException | InterruptedException e) {
|
||||||
@@ -2430,12 +2434,50 @@ public class OvsdbDao {
|
|||||||
// radioType);
|
// radioType);
|
||||||
// continue;
|
// 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();
|
int keyRefresh = ssidConfig.getKeyRefresh();
|
||||||
|
|
||||||
boolean ssidBroadcast = ssidConfig.getBroadcastSsid() == StateSetting.enabled;
|
boolean ssidBroadcast = ssidConfig.getBroadcastSsid() == StateSetting.enabled;
|
||||||
Map<String, String> security = new HashMap<>();
|
|
||||||
String ssidSecurityMode = ssidConfig.getSecureMode().name();
|
|
||||||
String opensyncSecurityMode = "OPEN";
|
|
||||||
|
|
||||||
String ipAssignScheme = "none";
|
String ipAssignScheme = "none";
|
||||||
// the following 5 attributes only applicable to static config,
|
// the following 5 attributes only applicable to static config,
|
||||||
@@ -2462,7 +2504,17 @@ public class OvsdbDao {
|
|||||||
if (radioConfiguration == null) {
|
if (radioConfiguration == null) {
|
||||||
continue; // don't have a radio of this kind in the map
|
continue; // don't have a radio of this kind in the map
|
||||||
}
|
}
|
||||||
|
|
||||||
RadioMode radioMode = radioConfiguration.getRadioMode();
|
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;
|
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
|
Map<String, String> security = new HashMap<>();
|
||||||
// also take ++ (11ax) but 2.4GHz only
|
String ssidSecurityMode = ssidConfig.getSecureMode().name();
|
||||||
// Wifi4 --
|
String opensyncSecurityMode = "OPEN";
|
||||||
if (!radioType.equals(RadioType.is2dot4GHz)) {
|
|
||||||
minHwMode = "11ac";
|
|
||||||
}
|
|
||||||
if (!radioType.equals(RadioType.is2dot4GHz) && radioMode.equals(RadioMode.modeX)) {
|
|
||||||
minHwMode = "11x";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ssidSecurityMode.equals("wpaPSK") || ssidSecurityMode.equals("wpa2PSK")
|
if (ssidSecurityMode.equals("wpaPSK") || ssidSecurityMode.equals("wpa2PSK")
|
||||||
|| ssidSecurityMode.equals("wpa2OnlyPSK")) {
|
|| ssidSecurityMode.equals("wpa2OnlyPSK")) {
|
||||||
@@ -2502,7 +2548,6 @@ public class OvsdbDao {
|
|||||||
} else if (ssidSecurityMode.equals("wpaEAP") || ssidSecurityMode.equals("wpa2EAP")
|
} else if (ssidSecurityMode.equals("wpaEAP") || ssidSecurityMode.equals("wpa2EAP")
|
||||||
|| ssidSecurityMode.equals("wpa2OnlyEAP")) {
|
|| ssidSecurityMode.equals("wpa2OnlyEAP")) {
|
||||||
opensyncSecurityMode = "WPA-EAP";
|
opensyncSecurityMode = "WPA-EAP";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
security.put("encryption", opensyncSecurityMode);
|
security.put("encryption", opensyncSecurityMode);
|
||||||
@@ -2534,23 +2579,6 @@ public class OvsdbDao {
|
|||||||
|
|
||||||
boolean enabled = ssidConfig.getSsidAdminState().equals(StateSetting.enabled);
|
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;
|
int numberOfInterfaces = 0;
|
||||||
for (String key : getProvisionedWifiVifConfigs(ovsdbClient).keySet()) {
|
for (String key : getProvisionedWifiVifConfigs(ovsdbClient).keySet()) {
|
||||||
if (key.startsWith(ifName)) {
|
if (key.startsWith(ifName)) {
|
||||||
@@ -3016,7 +3044,7 @@ public class OvsdbDao {
|
|||||||
operations.add(new Update(awlanNodeDbTable, row));
|
operations.add(new Update(awlanNodeDbTable, row));
|
||||||
|
|
||||||
CompletableFuture<OperationResult[]> fResult = ovsdbClient.transact(ovsdbName, operations);
|
CompletableFuture<OperationResult[]> fResult = ovsdbClient.transact(ovsdbName, operations);
|
||||||
|
|
||||||
OperationResult[] result = fResult.join();
|
OperationResult[] result = fResult.join();
|
||||||
for (OperationResult r : result) {
|
for (OperationResult r : result) {
|
||||||
LOG.debug("Op Result {}", r);
|
LOG.debug("Op Result {}", r);
|
||||||
|
|||||||
Reference in New Issue
Block a user