diff --git a/opensync-ext-cloud/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/OpensyncExternalIntegrationCloud.java b/opensync-ext-cloud/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/OpensyncExternalIntegrationCloud.java index ddb4ede..68a94fd 100644 --- a/opensync-ext-cloud/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/OpensyncExternalIntegrationCloud.java +++ b/opensync-ext-cloud/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/OpensyncExternalIntegrationCloud.java @@ -219,7 +219,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra Set appliedRadios = new HashSet<>(); appliedRadios.add(RadioType.is2dot4GHz); - ssidConfig.getRadioBasedConfigs().get(RadioType.is2dot4GHz).setEnable80211r(true); +// ssidConfig.getRadioBasedConfigs().get(RadioType.is2dot4GHz).setEnable80211r(true); ssidConfig.setAppliedRadios(appliedRadios); ssidProfile.setDetails(ssidConfig); @@ -236,8 +236,8 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra appliedRadios5g.add(RadioType.is5GHzL); appliedRadios5g.add(RadioType.is5GHzU); ssidConfig5g.setAppliedRadios(appliedRadios5g); - ssidConfig5g.getRadioBasedConfigs().get(RadioType.is5GHzL).setEnable80211r(true); - ssidConfig5g.getRadioBasedConfigs().get(RadioType.is5GHzU).setEnable80211r(true); +// ssidConfig5g.getRadioBasedConfigs().get(RadioType.is5GHzL).setEnable80211r(true); +// ssidConfig5g.getRadioBasedConfigs().get(RadioType.is5GHzU).setEnable80211r(true); ssidProfile5g.setDetails(ssidConfig5g); ssidProfile5g = profileServiceInterface.create(ssidProfile5g); @@ -778,6 +778,8 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra cl); continue; } + + LOG.debug ("Processing ClientReport from AP {}", clReport); ServiceMetric smr = new ServiceMetric(customerId, equipmentId, new MacAddress(cl.getMacAddress())); metricRecordList.add(smr); @@ -817,6 +819,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra // we'll report each device as having a single (very long) // session cMetrics.setSessionId(smr.getClientMac()); + // populate Rx stats if (cl.getStats().hasRxBytes()) { @@ -824,7 +827,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra } if (cl.getStats().hasRxRate()) { - // cMetrics.setAverageRxRate(cl.getStats().getRxRate()); + cMetrics.setAverageRxRate(cl.getStats().getRxRate()); } if (cl.getStats().hasRxErrors()) { @@ -832,8 +835,8 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra } if (cl.getStats().hasRxFrames()) { - // cMetrics.setNumRxFramesReceived(cl.getStats().getRxFrames()); - cMetrics.setNumRxPackets(cl.getStats().getRxFrames()); + cMetrics.setNumRxFramesReceived(cl.getStats().getRxFrames()); +// cMetrics.setNumRxPackets(cl.getStats().getRxFrames()); } if (cl.getStats().hasRxRetries()) { @@ -846,7 +849,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra } if (cl.getStats().hasTxRate()) { - // cMetrics.setAverageTxRate(cl.getStats().getTxRate()); + cMetrics.setAverageTxRate(cl.getStats().getTxRate()); } if (cl.getStats().hasTxRate() && cl.getStats().hasRxRate()) { @@ -859,8 +862,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra } if (cl.getStats().hasRxFrames()) { - // cMetrics.setNumTxFramesTransmitted(cl.getStats().getTxFrames()); - cMetrics.setNumTxPackets(cl.getStats().getRxFrames()); + cMetrics.setNumTxFramesTransmitted(cl.getStats().getTxFrames()); } if (cl.getStats().hasTxRetries()) { @@ -868,6 +870,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra } } + LOG.debug("ApClientMetrics Report {}", cMetrics); 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 48a5333..40a58ad 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 @@ -1205,8 +1205,11 @@ public class OvsdbDao { case is160MHz: ht_mode = "HT160"; break; + case auto: + ht_mode = "0"; + break; default: - ht_mode = "HT20"; + ht_mode = null; } elementRadioConfig.getAutoChannelSelection(); @@ -1780,7 +1783,11 @@ public class OvsdbDao { updateColumns.put("hw_config", hwConfigMap); updateColumns.put("bcn_int", new Atom<>(beaconInterval)); 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) { updateColumns.put("tx_power", new Atom<>(txPower)); } else { @@ -1819,6 +1826,7 @@ public class OvsdbDao { updateColumns.put("ft_mobility_domain", new Atom<>(17911)); } else { 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("mode", new Atom<>("ap")); @@ -1970,8 +1978,16 @@ public class OvsdbDao { boolean uapsdEnabled = radioConfiguration.getUapsdState() == StateSetting.enabled; 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 // also take ++ (11ax) but 2.4GHz only @@ -2661,8 +2677,8 @@ public class OvsdbDao { Map rowColumns = new HashMap<>(); rowColumns.put("radio_type", new Atom<>(rc.freqBand)); rowColumns.put("reporting_interval", new Atom<>(60)); - rowColumns.put("report_type", new Atom<>("raw")); - rowColumns.put("sampling_interval", new Atom<>(6)); + rowColumns.put("report_type", new Atom<>("average")); +// rowColumns.put("sampling_interval", new Atom<>(6)); rowColumns.put("stats_type", new Atom<>("client")); rowColumns.put("survey_interval_ms", new Atom<>(65)); // rowColumns.put("survey_type", new Atom<>("on-chan"));