From d3cffd570f4080e9ea066f0822f5d9bde59242ad Mon Sep 17 00:00:00 2001 From: Thomas Leung Date: Mon, 15 Nov 2021 15:49:57 +0000 Subject: [PATCH 1/2] Merged in NETEXP-3580 (pull request #30) [NETEXP-3580] Opensync: support channel bandwidth in AP status API Approved-by: mike.hansen --- .../OpensyncExternalIntegrationCloud.java | 23 ++++++++++++++++++- .../models/OpensyncAPRadioState.java | 2 +- 2 files changed, 23 insertions(+), 2 deletions(-) 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 a28c54a..22e0579 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 @@ -47,6 +47,7 @@ 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.ChannelBandwidth; import com.telecominfraproject.wlan.core.model.equipment.EquipmentType; import com.telecominfraproject.wlan.core.model.equipment.LedStatus; import com.telecominfraproject.wlan.core.model.equipment.MacAddress; @@ -1352,10 +1353,30 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra channelStatus.setDetails(channelStatusData); } ((EquipmentChannelStatusData) channelStatus.getDetails()).getChannelNumberStatusDataMap().put(radioState.getFreqBand(), radioState.getChannel()); + ChannelBandwidth channelBandwidth = convertHtModeToChannelBandwidth(radioState.getHtMode()); + ((EquipmentChannelStatusData) channelStatus.getDetails()).getChannelBandwidthStatusDataMap().put(radioState.getFreqBand(), channelBandwidth); ((EquipmentChannelStatusData) channelStatus.getDetails()).getTxPowerDataMap().put(radioState.getFreqBand(), radioState.getTxPower()); return channelStatus; } - + + private ChannelBandwidth convertHtModeToChannelBandwidth(String htMode) { + switch (htMode) { + case "HT20": + return ChannelBandwidth.is20MHz; + case "HT40": + case "HT40-": + case "HT40+": + return ChannelBandwidth.is40MHz; + case "HT80": + return ChannelBandwidth.is80MHz; + case "HT160": + return ChannelBandwidth.is160MHz; + default: + LOG.warn("Unrecognized channel HtMode {}", htMode); + return ChannelBandwidth.UNSUPPORTED; + } + } + private boolean updateChannelPowerLevels(String apId, ApElementConfiguration apElementConfiguration, OpensyncAPRadioState radioState) { boolean configStateMismatch = false; diff --git a/opensync-ext-interface/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/models/OpensyncAPRadioState.java b/opensync-ext-interface/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/models/OpensyncAPRadioState.java index 11e77a5..1962f72 100644 --- a/opensync-ext-interface/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/models/OpensyncAPRadioState.java +++ b/opensync-ext-interface/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/models/OpensyncAPRadioState.java @@ -42,7 +42,7 @@ public class OpensyncAPRadioState extends OpensyncAPBase { public Map hwConfig; public int channel; public int txPower; - public String htMode; + public String htMode; // used in channel bandwidth public int thermalDowngradeTemp; public String hwMode; public boolean enabled; From 3470b01ea1c9eae4c49c101e90926af4a19e39d1 Mon Sep 17 00:00:00 2001 From: Thomas Leung Date: Mon, 15 Nov 2021 17:13:19 +0000 Subject: [PATCH 2/2] Merged in NETEXP-3580 (pull request #32) [NETEXP-3580] fix failed test Approved-by: mike.hansen --- .../external/integration/OpensyncExternalIntegrationCloud.java | 3 +++ 1 file changed, 3 insertions(+) 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 22e0579..323643e 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 @@ -1360,6 +1360,9 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra } private ChannelBandwidth convertHtModeToChannelBandwidth(String htMode) { + if (htMode == null) { + return null; + } switch (htMode) { case "HT20": return ChannelBandwidth.is20MHz;