Compare commits

...

5 Commits

Author SHA1 Message Date
ralphlee
b776610d5e Removing unused imports 2020-10-21 15:03:49 -04:00
ralphlee
f9eb99ae65 Merge branch 'master' of github.com:Telecominfraproject/wlan-cloud-opensync-controller into WIFI-797-Rf-Source-Control 2020-10-21 09:53:37 -04:00
ralphlee
fc19bc59df Null check on rfConfig 2020-10-21 09:30:03 -04:00
ralphlee
d5b534c025 Spacing fix 2020-10-20 20:02:12 -04:00
ralphlee
ffc07452c6 Implementing SourceSelection on RRM parameters, updating static json 2020-10-20 16:59:26 -04:00
10 changed files with 413 additions and 623 deletions

View File

@@ -30,10 +30,11 @@ import com.telecominfraproject.wlan.client.session.models.ClientDhcpDetails;
import com.telecominfraproject.wlan.client.session.models.ClientSession;
import com.telecominfraproject.wlan.client.session.models.ClientSessionDetails;
import com.telecominfraproject.wlan.core.model.entity.CountryCode;
import com.telecominfraproject.wlan.core.model.equipment.AutoOrManualValue;
import com.telecominfraproject.wlan.core.model.equipment.EquipmentType;
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
import com.telecominfraproject.wlan.core.model.equipment.SourceSelectionValue;
import com.telecominfraproject.wlan.core.model.equipment.SourceType;
import com.telecominfraproject.wlan.core.model.pagination.PaginationContext;
import com.telecominfraproject.wlan.core.model.pagination.PaginationResponse;
import com.telecominfraproject.wlan.customer.models.Customer;
@@ -285,36 +286,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
// one:
Profile apProfile = createDefaultApProfile(ce, connectNodeInfo);
profileId = apProfile.getId();
// Initialize equipment from RF Profile
ProfileContainer profileContainer = new ProfileContainer(
profileServiceInterface.getProfileWithChildren(profileId));
RfConfiguration rfConfig = (RfConfiguration) profileContainer.getChildOfTypeOrNull(profileId, ProfileType.rf)
.getDetails();
ApElementConfiguration config = (ApElementConfiguration) ce.getDetails();
Map<RadioType, ElementRadioConfiguration> baseRadioMap = config.getRadioMap();
Map<RadioType, RadioConfiguration> advRadioMap = config.getAdvancedRadioMap();
for (RadioType rType : config.getRadioMap().keySet()) {
ElementRadioConfiguration elementRadioConfig = baseRadioMap.get(rType);
RfElementConfiguration rfElementConfig = rfConfig.getRfConfig(rType);
elementRadioConfig.setClientDisconnectThresholdDb(rfElementConfig.getClientDisconnectThresholdDb());
elementRadioConfig.setEirpTxPower(rfElementConfig.getEirpTxPower());
elementRadioConfig.setPerimeterDetectionEnabled(rfElementConfig.getPerimeterDetectionEnabled());
elementRadioConfig.setProbeResponseThresholdDb(rfElementConfig.getProbeResponseThresholdDb());
elementRadioConfig.setRxCellSizeDb(rfElementConfig.getRxCellSizeDb());
}
for (RadioType rType : config.getAdvancedRadioMap().keySet()) {
RadioConfiguration radioConfig = advRadioMap.get(rType);
RfElementConfiguration rfElementConfig = rfConfig.getRfConfig(rType);
radioConfig.setBestApSettings(rfElementConfig.getBestApSettings());
radioConfig.setManagementRate(rfElementConfig.getManagementRate());
}
config.setAdvancedRadioMap(advRadioMap);
config.setRadioMap(baseRadioMap);
ce.setDetails(config);
}
ce.setProfileId(profileId);
@@ -1086,8 +1057,19 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
}
if (radioState.getTxPower() > 0) {
apElementConfiguration.getRadioMap().get(radioState.getFreqBand())
.setEirpTxPower(AutoOrManualValue.createManualInstance(radioState.getTxPower()));
SourceType txPowerSource = apElementConfiguration.getRadioMap().get(radioState.getFreqBand())
.getEirpTxPower().getSource();
// Preserve the source while updating the value
if (txPowerSource == SourceType.auto) {
apElementConfiguration.getRadioMap().get(radioState.getFreqBand())
.setEirpTxPower(SourceSelectionValue.createAutomaticInstance(radioState.getTxPower()));
} else if (txPowerSource == SourceType.profile) {
apElementConfiguration.getRadioMap().get(radioState.getFreqBand())
.setEirpTxPower(SourceSelectionValue.createProfileInstance(radioState.getTxPower()));
} else {
apElementConfiguration.getRadioMap().get(radioState.getFreqBand())
.setEirpTxPower(SourceSelectionValue.createManualInstance(radioState.getTxPower()));
}
LOG.debug("Updated TxPower from Wifi_Radio_State table change for AP {}", apId);
}

View File

@@ -38,37 +38,28 @@
"channelNumber": 6,
"manualChannelNumber": 6,
"backupChannelNumber": 11,
"autoChannelSelection": false,
"channelBandwidth": "is20MHz",
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -80,
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
@@ -81,37 +72,28 @@
"channelNumber": 149,
"manualChannelNumber": 149,
"backupChannelNumber": 154,
"autoChannelSelection": false,
"channelBandwidth": "is80MHz",
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -80,
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
@@ -124,37 +106,28 @@
"channelNumber": 36,
"manualChannelNumber": 36,
"backupChannelNumber": 44,
"autoChannelSelection": false,
"channelBandwidth": "is80MHz",
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -80,
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
@@ -168,39 +141,25 @@
"radioType": "is2dot4GHz",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"rtsCtsThreshold": 65535,
"autoChannelSelection": "disabled",
"radioMode": "modeN",
"mimoMode": "twoByTwo",
"wmmState": "enabled",
"uapsdState": "enabled",
"maxNumClients": 100,
"stationIsolation": "disabled",
"multicastRate": "auto",
"managementRate": "auto",
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"forceScanDuringVoice": "disabled",
"legacyBSSRate": "enabled",
"beaconInterval": 100,
"deauthAttackDetection": null
},
"is5GHzU": {
@@ -208,39 +167,25 @@
"radioType": "is5GHzU",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"rtsCtsThreshold": 65535,
"autoChannelSelection": "disabled",
"radioMode": "modeAC",
"mimoMode": "twoByTwo",
"wmmState": "enabled",
"uapsdState": "enabled",
"maxNumClients": 100,
"stationIsolation": "disabled",
"multicastRate": "auto",
"managementRate": "auto",
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"forceScanDuringVoice": "disabled",
"legacyBSSRate": "enabled",
"beaconInterval": 100,
"deauthAttackDetection": null
},
"is5GHzL": {
@@ -248,39 +193,25 @@
"radioType": "is5GHzL",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"rtsCtsThreshold": 65535,
"autoChannelSelection": "disabled",
"radioMode": "modeAC",
"mimoMode": "twoByTwo",
"wmmState": "enabled",
"uapsdState": "enabled",
"maxNumClients": 100,
"stationIsolation": "disabled",
"multicastRate": "auto",
"managementRate": "auto",
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"forceScanDuringVoice": "disabled",
"legacyBSSRate": "enabled",
"beaconInterval": 100,
"deauthAttackDetection": null
}
}

View File

@@ -10,6 +10,8 @@
"is5GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHz",
"radioMode": "modeAC",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
@@ -25,26 +27,10 @@
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
@@ -65,11 +51,14 @@
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"minAutoCellSize": -65
},
"is2dot4GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is2dot4GHz",
"radioMode": "modeN",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
@@ -85,26 +74,10 @@
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
@@ -125,11 +98,14 @@
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
}
},
"minAutoCellSize": -65
},
"is5GHzU": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHzU",
"radioMode": "modeAC",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
@@ -145,26 +121,10 @@
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
@@ -185,11 +145,14 @@
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"minAutoCellSize": -65
},
"is5GHzL": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHzL",
"radioMode": "modeAC",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
@@ -205,26 +168,10 @@
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
@@ -245,7 +192,8 @@
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"minAutoCellSize": -65
}
},
"profileType": "rf"

View File

@@ -41,23 +41,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -75,23 +75,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -109,23 +109,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -141,16 +141,23 @@
"radioType": "is2dot4GHz",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeN",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
@@ -160,16 +167,23 @@
"radioType": "is5GHzU",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeAC",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
@@ -179,16 +193,23 @@
"radioType": "is5GHzL",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeAC",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null

View File

@@ -10,6 +10,8 @@
"is5GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHz",
"radioMode": "modeAC",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
@@ -25,26 +27,10 @@
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
@@ -71,6 +57,8 @@
"is2dot4GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is2dot4GHz",
"radioMode": "modeN",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
@@ -86,26 +74,10 @@
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
@@ -132,6 +104,8 @@
"is5GHzU": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHzU",
"radioMode": "modeAC",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
@@ -147,26 +121,10 @@
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
@@ -193,6 +151,8 @@
"is5GHzL": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHzL",
"radioMode": "modeAC",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
@@ -208,26 +168,10 @@
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",

View File

@@ -41,23 +41,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -75,23 +75,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -109,23 +109,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -141,16 +141,23 @@
"radioType": "is2dot4GHz",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeN",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
@@ -160,16 +167,23 @@
"radioType": "is5GHzU",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeAC",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
@@ -179,16 +193,23 @@
"radioType": "is5GHzL",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeAC",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null

View File

@@ -10,6 +10,8 @@
"is5GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHz",
"radioMode": "modeAC",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
@@ -25,26 +27,10 @@
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
@@ -71,6 +57,8 @@
"is2dot4GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is2dot4GHz",
"radioMode": "modeN",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
@@ -86,26 +74,10 @@
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
@@ -132,6 +104,8 @@
"is5GHzU": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHzU",
"radioMode": "modeAC",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
@@ -147,26 +121,10 @@
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
@@ -193,6 +151,8 @@
"is5GHzL": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHzL",
"radioMode": "modeAC",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
@@ -208,26 +168,10 @@
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",

View File

@@ -41,23 +41,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -75,23 +75,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -109,23 +109,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -141,16 +141,23 @@
"radioType": "is2dot4GHz",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeN",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
@@ -160,16 +167,23 @@
"radioType": "is5GHzU",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeAC",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
@@ -179,16 +193,23 @@
"radioType": "is5GHzL",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeAC",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null

View File

@@ -10,6 +10,8 @@
"is5GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHz",
"radioMode": "modeAC",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
@@ -25,26 +27,10 @@
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
@@ -71,6 +57,8 @@
"is2dot4GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is2dot4GHz",
"radioMode": "modeN",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
@@ -86,26 +74,10 @@
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
@@ -132,6 +104,8 @@
"is5GHzU": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHzU",
"radioMode": "modeAC",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
@@ -147,26 +121,10 @@
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
@@ -193,6 +151,8 @@
"is5GHzL": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHzL",
"radioMode": "modeAC",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
@@ -208,26 +168,10 @@
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",

View File

@@ -29,6 +29,7 @@ import com.telecominfraproject.wlan.core.model.equipment.ChannelBandwidth;
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
import com.telecominfraproject.wlan.core.model.equipment.RadioBestApSettings;
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
import com.telecominfraproject.wlan.core.model.equipment.SourceType;
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
import com.telecominfraproject.wlan.equipment.models.ElementRadioConfiguration;
@@ -1941,12 +1942,14 @@ public class OvsdbDao {
boolean enabled = radioConfig.getRadioAdminState().equals(StateSetting.enabled);
int txPower = 0;
if (!elementRadioConfig.getEirpTxPower().isAuto()) {
txPower = elementRadioConfig.getEirpTxPower().getValue();
if (elementRadioConfig.getEirpTxPower().getSource() == SourceType.profile) {
txPower = rfElementConfig.getEirpTxPower();
} else {
txPower = (int) elementRadioConfig.getEirpTxPower().getValue();
}
String hwMode = null;
switch (radioConfig.getRadioMode()) {
switch (rfElementConfig.getRadioMode()) {
case modeA:
hwMode = "11a";
break;
@@ -2977,7 +2980,7 @@ public class OvsdbDao {
int dtimPeriod = radioConfiguration.getDtimPeriod();
int rtsCtsThreshold = rfElementConfig.getRtsCtsThreshold();
int fragThresholdBytes = radioConfiguration.getFragmentationThresholdBytes();
RadioMode radioMode = radioConfiguration.getRadioMode();
RadioMode radioMode = rfElementConfig.getRadioMode();
String minHwMode = "11n"; // min_hw_mode is 11ac, wifi 5, we can
// also take ++ (11ax) but 2.4GHz only
// Wifi4 --
@@ -4723,6 +4726,7 @@ public class OvsdbDao {
ApElementConfiguration apElementConfig = (ApElementConfiguration) opensyncApConfig.getCustomerEquipment()
.getDetails();
RfConfiguration rfConfig = (RfConfiguration) opensyncApConfig.getRfProfile().getDetails();
for (RadioType radioType : apElementConfig.getRadioMap().keySet()) {
String freqBand = null;
if (radioType == RadioType.is2dot4GHz) {
@@ -4734,25 +4738,46 @@ public class OvsdbDao {
} else if (radioType == RadioType.is5GHz) {
freqBand = "5G";
}
if (rfConfig == null) {
continue;
}
ElementRadioConfiguration elementRadioConfig = apElementConfig.getRadioMap().get(radioType);
if (elementRadioConfig == null) {
RfElementConfiguration rfElementConfig = rfConfig.getRfConfig(radioType);
if (elementRadioConfig == null || rfElementConfig == null) {
continue; // don't have a radio of this kind in the map
}
AutoOrManualValue rxCellSizeDb = null;
AutoOrManualValue probeResponseThresholdDb = null;
AutoOrManualValue clientDisconnectThresholdDb = null;
if (elementRadioConfig != null && rfElementConfig != null) {
rxCellSizeDb = getSourcedValue(elementRadioConfig.getRxCellSizeDb().getSource(),
rfElementConfig.getRxCellSizeDb(), elementRadioConfig.getRxCellSizeDb().getValue());
probeResponseThresholdDb = getSourcedValue(elementRadioConfig.getProbeResponseThresholdDb().getSource(),
rfElementConfig.getProbeResponseThresholdDb(), elementRadioConfig.getProbeResponseThresholdDb().getValue());
clientDisconnectThresholdDb = getSourcedValue(elementRadioConfig.getClientDisconnectThresholdDb().getSource(),
rfElementConfig.getClientDisconnectThresholdDb(), elementRadioConfig.getClientDisconnectThresholdDb().getValue());
}
RadioConfiguration radioConfig = apElementConfig.getAdvancedRadioMap().get(radioType);
ManagementRate managementRate = null;
RadioBestApSettings bestApSettings = null;
if (radioConfig != null) {
managementRate = radioConfig.getManagementRate();
bestApSettings = radioConfig.getBestApSettings();
if (radioConfig != null && rfElementConfig != null) {
managementRate = radioConfig.getManagementRate().getSource() == SourceType.profile ?
rfElementConfig.getManagementRate() : radioConfig.getManagementRate().getValue();
bestApSettings = radioConfig.getBestApSettings().getSource() == SourceType.profile ?
rfElementConfig.getBestApSettings() : radioConfig.getBestApSettings().getValue();
}
if (freqBand != null) {
try {
configureWifiRrm(ovsdbClient, freqBand, elementRadioConfig.getBackupChannelNumber(),
elementRadioConfig.getRxCellSizeDb(), elementRadioConfig.getProbeResponseThresholdDb(),
elementRadioConfig.getClientDisconnectThresholdDb(), managementRate, bestApSettings);
rxCellSizeDb, probeResponseThresholdDb, clientDisconnectThresholdDb,
managementRate, bestApSettings);
} catch (OvsdbClientException e) {
LOG.error("configureRrm failed with OvsdbClient exception.", e);
throw new RuntimeException(e);
@@ -4901,5 +4926,14 @@ public class OvsdbDao {
}
public AutoOrManualValue getSourcedValue(SourceType source, int profileValue, int equipmentValue) {
if (source == SourceType.profile) {
return AutoOrManualValue.createManualInstance(profileValue);
} else if (source == SourceType.auto) {
return AutoOrManualValue.createAutomaticInstance(equipmentValue);
}
return AutoOrManualValue.createManualInstance(equipmentValue);
}
}