From f9cf072cac4144f89acbeeb19a107f56ef6acc05 Mon Sep 17 00:00:00 2001 From: Mike Hansen Date: Thu, 24 Sep 2020 12:34:29 -0400 Subject: [PATCH] WIFI-828: Cloud SDK BE: support configuration of DTIM interval Adding set of dtim_period on AP in Wifi_VIF_Config if value exists > 0. Need to obtain value from RadioConfig or SSID config, looking at cloud model to see if value exists already for DTIM_PERIOD ( i.e. what nth becaons have TIM ) WIFI-829: Cloud BE: support configuration of RTS/CTS threshold WIFI-830: Cloud BE: support configuration of fragmentation threshold Set frag_threshold on AP in Wifi_VIF_Config table per ssid based on Cloud equipment configuration advance radio map value for fragThresholdBytes --- .../wlan/opensync/ovsdb/dao/OvsdbDao.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) 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 1098760..d538442 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 @@ -2383,7 +2383,7 @@ public class OvsdbDao { int keyRefresh, boolean uapsdEnabled, boolean apBridge, NetworkForwardMode networkForwardMode, String gateway, String inet, Map dns, String ipAssignScheme, List macBlockList, boolean rateLimitEnable, int ssidDlLimit, int ssidUlLimit, int clientDlLimit, int clientUlLimit, - int rtsCtsThreshold, Map captiveMap, List walledGardenAllowlist, + int rtsCtsThreshold, int fragThresholdBytes, int dtimPeriod, Map captiveMap, List walledGardenAllowlist, Map> bonjourServiceMap) { List operations = new ArrayList<>(); @@ -2487,6 +2487,12 @@ public class OvsdbDao { if (rtsCtsThreshold > 0) { customOptions.put("rts_threshold", String.valueOf(rtsCtsThreshold)); } + if (fragThresholdBytes > 0) { + customOptions.put("frag_threshold", String.valueOf(fragThresholdBytes)); + } + if (dtimPeriod > 0) { + customOptions.put("dtim_period", String.valueOf(dtimPeriod)); + } if (enable80211k) { customOptions.put("ieee80211k", String.valueOf(1)); @@ -2769,14 +2775,14 @@ public class OvsdbDao { ipAssignScheme = "dhcp"; } - ElementRadioConfiguration elementRadioConfiguration = apElementConfig.getRadioMap().get(radioType); - - RadioConfiguration radioConfiguration = apElementConfig.getAdvancedRadioMap().get(radioType); if (radioConfiguration == null) { continue; // don't have a radio of this kind in the map } + // TODO: Need this value from Profile/Config indicating intervals for beacons including TIM, i.e. every nth beacon + int dtimPeriod = 0; int rtsCtsThreshold = radioConfiguration.getRtsCtsThreshold(); + int fragThresholdBytes = radioConfiguration.getFragmentationThresholdBytes(); RadioMode radioMode = radioConfiguration.getRadioMode(); String minHwMode = "11n"; // min_hw_mode is 11ac, wifi 5, we can // also take ++ (11ax) but 2.4GHz only @@ -2903,7 +2909,7 @@ public class OvsdbDao { ssidConfig.getVlanId(), rrmEnabled, enable80211r, mobilityDomain, enable80211v, enable80211k, minHwMode, enabled, keyRefresh, uapsdEnabled, apBridge, ssidConfig.getForwardMode(), gateway, inet, dns, ipAssignScheme, macBlockList, - rateLimitEnable, ssidDlLimit, ssidUlLimit, clientDlLimit, clientUlLimit, rtsCtsThreshold, + rateLimitEnable, ssidDlLimit, ssidUlLimit, clientDlLimit, clientUlLimit, rtsCtsThreshold,fragThresholdBytes,dtimPeriod, captiveMap, walledGardenAllowlist, bonjourServiceMap); } catch (IllegalStateException e) {