mirror of
				https://github.com/Telecominfraproject/wlan-cloud-opensync-controller.git
				synced 2025-11-04 04:27:59 +00:00 
			
		
		
		
	ft_psk/ft_mobility_domain off by default, can be enabled via SSID profile RadioConfigs set 802.11r == true, HT_MODE cleanup
This commit is contained in:
		@@ -219,7 +219,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
				Set<RadioType> appliedRadios = new HashSet<>();
 | 
									Set<RadioType> appliedRadios = new HashSet<>();
 | 
				
			||||||
				appliedRadios.add(RadioType.is2dot4GHz);
 | 
									appliedRadios.add(RadioType.is2dot4GHz);
 | 
				
			||||||
				ssidConfig.getRadioBasedConfigs().get(RadioType.is2dot4GHz).setEnable80211r(true);
 | 
					//				ssidConfig.getRadioBasedConfigs().get(RadioType.is2dot4GHz).setEnable80211r(true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				ssidConfig.setAppliedRadios(appliedRadios);
 | 
									ssidConfig.setAppliedRadios(appliedRadios);
 | 
				
			||||||
				ssidProfile.setDetails(ssidConfig);
 | 
									ssidProfile.setDetails(ssidConfig);
 | 
				
			||||||
@@ -236,8 +236,8 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
 | 
				
			|||||||
				appliedRadios5g.add(RadioType.is5GHzL);
 | 
									appliedRadios5g.add(RadioType.is5GHzL);
 | 
				
			||||||
				appliedRadios5g.add(RadioType.is5GHzU);
 | 
									appliedRadios5g.add(RadioType.is5GHzU);
 | 
				
			||||||
				ssidConfig5g.setAppliedRadios(appliedRadios5g);
 | 
									ssidConfig5g.setAppliedRadios(appliedRadios5g);
 | 
				
			||||||
				ssidConfig5g.getRadioBasedConfigs().get(RadioType.is5GHzL).setEnable80211r(true);
 | 
					//				ssidConfig5g.getRadioBasedConfigs().get(RadioType.is5GHzL).setEnable80211r(true);
 | 
				
			||||||
				ssidConfig5g.getRadioBasedConfigs().get(RadioType.is5GHzU).setEnable80211r(true);
 | 
					//				ssidConfig5g.getRadioBasedConfigs().get(RadioType.is5GHzU).setEnable80211r(true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				ssidProfile5g.setDetails(ssidConfig5g);
 | 
									ssidProfile5g.setDetails(ssidConfig5g);
 | 
				
			||||||
				ssidProfile5g = profileServiceInterface.create(ssidProfile5g);
 | 
									ssidProfile5g = profileServiceInterface.create(ssidProfile5g);
 | 
				
			||||||
@@ -779,6 +779,8 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
 | 
				
			|||||||
					continue;
 | 
										continue;
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				
 | 
									
 | 
				
			||||||
 | 
									LOG.debug ("Processing ClientReport from AP {}", clReport);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				ServiceMetric smr = new ServiceMetric(customerId, equipmentId, new MacAddress(cl.getMacAddress()));
 | 
									ServiceMetric smr = new ServiceMetric(customerId, equipmentId, new MacAddress(cl.getMacAddress()));
 | 
				
			||||||
				metricRecordList.add(smr);
 | 
									metricRecordList.add(smr);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -818,13 +820,14 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
 | 
				
			|||||||
					// session
 | 
										// session
 | 
				
			||||||
					cMetrics.setSessionId(smr.getClientMac());
 | 
										cMetrics.setSessionId(smr.getClientMac());
 | 
				
			||||||
					
 | 
										
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					// populate Rx stats
 | 
										// populate Rx stats
 | 
				
			||||||
					if (cl.getStats().hasRxBytes()) {
 | 
										if (cl.getStats().hasRxBytes()) {
 | 
				
			||||||
						cMetrics.setRxBytes(cl.getStats().getRxBytes());
 | 
											cMetrics.setRxBytes(cl.getStats().getRxBytes());
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					if (cl.getStats().hasRxRate()) {
 | 
										if (cl.getStats().hasRxRate()) {
 | 
				
			||||||
						// cMetrics.setAverageRxRate(cl.getStats().getRxRate());
 | 
											cMetrics.setAverageRxRate(cl.getStats().getRxRate());
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					if (cl.getStats().hasRxErrors()) {
 | 
										if (cl.getStats().hasRxErrors()) {
 | 
				
			||||||
@@ -832,8 +835,8 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
 | 
				
			|||||||
					}
 | 
										}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					if (cl.getStats().hasRxFrames()) {
 | 
										if (cl.getStats().hasRxFrames()) {
 | 
				
			||||||
						// cMetrics.setNumRxFramesReceived(cl.getStats().getRxFrames());
 | 
											cMetrics.setNumRxFramesReceived(cl.getStats().getRxFrames());
 | 
				
			||||||
						cMetrics.setNumRxPackets(cl.getStats().getRxFrames());
 | 
					//						cMetrics.setNumRxPackets(cl.getStats().getRxFrames());
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					if (cl.getStats().hasRxRetries()) {
 | 
										if (cl.getStats().hasRxRetries()) {
 | 
				
			||||||
@@ -846,7 +849,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
 | 
				
			|||||||
					}
 | 
										}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					if (cl.getStats().hasTxRate()) {
 | 
										if (cl.getStats().hasTxRate()) {
 | 
				
			||||||
						// cMetrics.setAverageTxRate(cl.getStats().getTxRate());
 | 
											 cMetrics.setAverageTxRate(cl.getStats().getTxRate());
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					if (cl.getStats().hasTxRate() && cl.getStats().hasRxRate()) {
 | 
										if (cl.getStats().hasTxRate() && cl.getStats().hasRxRate()) {
 | 
				
			||||||
@@ -859,8 +862,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
 | 
				
			|||||||
					}
 | 
										}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					if (cl.getStats().hasRxFrames()) {
 | 
										if (cl.getStats().hasRxFrames()) {
 | 
				
			||||||
						// cMetrics.setNumTxFramesTransmitted(cl.getStats().getTxFrames());
 | 
											 cMetrics.setNumTxFramesTransmitted(cl.getStats().getTxFrames());
 | 
				
			||||||
						cMetrics.setNumTxPackets(cl.getStats().getRxFrames());
 | 
					 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					if (cl.getStats().hasTxRetries()) {
 | 
										if (cl.getStats().hasTxRetries()) {
 | 
				
			||||||
@@ -869,6 +871,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				LOG.debug("ApClientMetrics Report {}", cMetrics);
 | 
									LOG.debug("ApClientMetrics Report {}", cMetrics);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1205,8 +1205,11 @@ public class OvsdbDao {
 | 
				
			|||||||
			case is160MHz:
 | 
								case is160MHz:
 | 
				
			||||||
				ht_mode = "HT160";
 | 
									ht_mode = "HT160";
 | 
				
			||||||
				break;
 | 
									break;
 | 
				
			||||||
 | 
								case auto:
 | 
				
			||||||
 | 
									ht_mode = "0";
 | 
				
			||||||
 | 
									break;
 | 
				
			||||||
			default:
 | 
								default:
 | 
				
			||||||
				ht_mode = "HT20";
 | 
									ht_mode = null;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			elementRadioConfig.getAutoChannelSelection();
 | 
								elementRadioConfig.getAutoChannelSelection();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1780,7 +1783,11 @@ public class OvsdbDao {
 | 
				
			|||||||
		updateColumns.put("hw_config", hwConfigMap);
 | 
							updateColumns.put("hw_config", hwConfigMap);
 | 
				
			||||||
		updateColumns.put("bcn_int", new Atom<>(beaconInterval));
 | 
							updateColumns.put("bcn_int", new Atom<>(beaconInterval));
 | 
				
			||||||
		updateColumns.put("enabled", new Atom<>(enabled));
 | 
							updateColumns.put("enabled", new Atom<>(enabled));
 | 
				
			||||||
//		updateColumns.put("ht_mode", new Atom<>(ht_mode));
 | 
							if (ht_mode != null && !ht_mode.equals("0")) {
 | 
				
			||||||
 | 
								updateColumns.put("ht_mode", new Atom<>(ht_mode));
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								updateColumns.put("ht_mode", new com.vmware.ovsdb.protocol.operation.notation.Set());
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		if (txPower > 0) {
 | 
							if (txPower > 0) {
 | 
				
			||||||
			updateColumns.put("tx_power", new Atom<>(txPower));
 | 
								updateColumns.put("tx_power", new Atom<>(txPower));
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
@@ -1819,6 +1826,7 @@ public class OvsdbDao {
 | 
				
			|||||||
				updateColumns.put("ft_mobility_domain", new Atom<>(17911));
 | 
									updateColumns.put("ft_mobility_domain", new Atom<>(17911));
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				updateColumns.put("ft_psk", new Atom<>(0));
 | 
									updateColumns.put("ft_psk", new Atom<>(0));
 | 
				
			||||||
 | 
									updateColumns.put("ft_mobility_domain", new com.vmware.ovsdb.protocol.operation.notation.Set());
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			updateColumns.put("if_name", new Atom<>(ifName));
 | 
								updateColumns.put("if_name", new Atom<>(ifName));
 | 
				
			||||||
			updateColumns.put("mode", new Atom<>("ap"));
 | 
								updateColumns.put("mode", new Atom<>("ap"));
 | 
				
			||||||
@@ -1970,8 +1978,16 @@ public class OvsdbDao {
 | 
				
			|||||||
				boolean uapsdEnabled = radioConfiguration.getUapsdState() == StateSetting.enabled;
 | 
									boolean uapsdEnabled = radioConfiguration.getUapsdState() == StateSetting.enabled;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				boolean apBridge = radioConfiguration.getStationIsolation() == StateSetting.enabled; // stationIsolation
 | 
									boolean apBridge = radioConfiguration.getStationIsolation() == StateSetting.enabled; // stationIsolation
 | 
				
			||||||
 | 
									boolean enable80211r = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				boolean enable80211r = ssidConfig.getRadioBasedConfigs().get(radioType).getEnable80211r();
 | 
									if (ssidConfig.getRadioBasedConfigs() != null) {
 | 
				
			||||||
 | 
										if (ssidConfig.getRadioBasedConfigs().containsKey(radioType)
 | 
				
			||||||
 | 
												&& ssidConfig.getRadioBasedConfigs().get(radioType) != null) {
 | 
				
			||||||
 | 
											if (ssidConfig.getRadioBasedConfigs().get(radioType).getEnable80211r() != null) {
 | 
				
			||||||
 | 
												enable80211r = ssidConfig.getRadioBasedConfigs().get(radioType).getEnable80211r();
 | 
				
			||||||
 | 
											}
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				String minHwMode = "11n"; // min_hw_mode is 11ac, wifi 5, we can
 | 
									String minHwMode = "11n"; // min_hw_mode is 11ac, wifi 5, we can
 | 
				
			||||||
											// also take ++ (11ax) but 2.4GHz only
 | 
																// also take ++ (11ax) but 2.4GHz only
 | 
				
			||||||
@@ -2661,8 +2677,8 @@ public class OvsdbDao {
 | 
				
			|||||||
				Map<String, Value> rowColumns = new HashMap<>();
 | 
									Map<String, Value> rowColumns = new HashMap<>();
 | 
				
			||||||
				rowColumns.put("radio_type", new Atom<>(rc.freqBand));
 | 
									rowColumns.put("radio_type", new Atom<>(rc.freqBand));
 | 
				
			||||||
				rowColumns.put("reporting_interval", new Atom<>(60));
 | 
									rowColumns.put("reporting_interval", new Atom<>(60));
 | 
				
			||||||
				rowColumns.put("report_type", new Atom<>("raw"));
 | 
									rowColumns.put("report_type", new Atom<>("average"));
 | 
				
			||||||
				rowColumns.put("sampling_interval", new Atom<>(6));
 | 
					//				rowColumns.put("sampling_interval", new Atom<>(6));
 | 
				
			||||||
				rowColumns.put("stats_type", new Atom<>("client"));
 | 
									rowColumns.put("stats_type", new Atom<>("client"));
 | 
				
			||||||
				rowColumns.put("survey_interval_ms", new Atom<>(65));
 | 
									rowColumns.put("survey_interval_ms", new Atom<>(65));
 | 
				
			||||||
//				rowColumns.put("survey_type", new Atom<>("on-chan"));
 | 
					//				rowColumns.put("survey_type", new Atom<>("on-chan"));
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user