mirror of
https://github.com/Telecominfraproject/wlan-cloud-opensync-controller.git
synced 2025-11-03 03:57:54 +00:00
WIFI-2030: SDK Gateway/BE: Proxy-ARP service
Signed-off-by: Mike Hansen <mike.hansen@connectus.ai>
This commit is contained in:
@@ -227,8 +227,9 @@ public class OvsdbSsidConfig extends OvsdbDaoBase {
|
|||||||
customOptions.put("rts_threshold", String.valueOf(rtsCtsThreshold));
|
customOptions.put("rts_threshold", String.valueOf(rtsCtsThreshold));
|
||||||
}
|
}
|
||||||
|
|
||||||
void configureCustomOptionsForUseRadiusProxy(boolean useRadiusProxy, Map<String, String> customOptions) {
|
void configureCustomOptionsForUseRadiusProxyAndHotspot(boolean useRadiusProxy, boolean enableProxyArpForHotspot, Map<String, String> customOptions) {
|
||||||
customOptions.put("radproxy", useRadiusProxy ? "1" : "0");
|
customOptions.put("radproxy", useRadiusProxy ? "1" : "0");
|
||||||
|
customOptions.put("proxy_arp", enableProxyArpForHotspot ? "1" : "0");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -251,13 +252,14 @@ public class OvsdbSsidConfig extends OvsdbDaoBase {
|
|||||||
* @param updateColumns
|
* @param updateColumns
|
||||||
* @param dynamicVlan
|
* @param dynamicVlan
|
||||||
* @param useRadiusProxy
|
* @param useRadiusProxy
|
||||||
|
* @param enableProxyArpForHotspot TODO
|
||||||
*/
|
*/
|
||||||
void configureCustomOptionsForSsid(OvsdbClient ovsdbClient, boolean enable80211k, boolean enable80211r, boolean rateLimitEnable, int ssidDlLimit,
|
void configureCustomOptionsForSsid(OvsdbClient ovsdbClient, boolean enable80211k, boolean enable80211r, boolean rateLimitEnable, int ssidDlLimit,
|
||||||
int ssidUlLimit, int clientDlLimit, int clientUlLimit, int rtsCtsThreshold, int dtimPeriod, String radiusNasId, String radiusNasIp,
|
int ssidUlLimit, int clientDlLimit, int clientUlLimit, int rtsCtsThreshold, int dtimPeriod, String radiusNasId, String radiusNasIp,
|
||||||
String radiusOperatorName, Map<String, Value> updateColumns, int dynamicVlan, Boolean useRadiusProxy) {
|
String radiusOperatorName, Map<String, Value> updateColumns, int dynamicVlan, Boolean useRadiusProxy, Boolean enableProxyArpForHotspot) {
|
||||||
Map<String, String> customOptions = new HashMap<>();
|
Map<String, String> customOptions = new HashMap<>();
|
||||||
|
|
||||||
configureCustomOptionsForUseRadiusProxy(useRadiusProxy, customOptions);
|
configureCustomOptionsForUseRadiusProxyAndHotspot(useRadiusProxy, enableProxyArpForHotspot, customOptions);
|
||||||
|
|
||||||
configureCustomOptionsForRatesAndLimits(rateLimitEnable, ssidDlLimit, ssidUlLimit, clientDlLimit, clientUlLimit, rtsCtsThreshold, customOptions);
|
configureCustomOptionsForRatesAndLimits(rateLimitEnable, ssidDlLimit, ssidUlLimit, clientDlLimit, clientUlLimit, rtsCtsThreshold, customOptions);
|
||||||
|
|
||||||
@@ -277,7 +279,7 @@ public class OvsdbSsidConfig extends OvsdbDaoBase {
|
|||||||
int keyRefresh, boolean uapsdEnabled, boolean apBridge, NetworkForwardMode networkForwardMode, List<MacAddress> macBlockList,
|
int keyRefresh, boolean uapsdEnabled, boolean apBridge, NetworkForwardMode networkForwardMode, List<MacAddress> macBlockList,
|
||||||
boolean rateLimitEnable, int ssidDlLimit, int ssidUlLimit, int clientDlLimit, int clientUlLimit, int rtsCtsThreshold, int dtimPeriod,
|
boolean rateLimitEnable, int ssidDlLimit, int ssidUlLimit, int clientDlLimit, int clientUlLimit, int rtsCtsThreshold, int dtimPeriod,
|
||||||
Map<String, String> captiveMap, List<String> walledGardenAllowlist, String radiusNasId, String radiusNasIp, String radiusOperatorName,
|
Map<String, String> captiveMap, List<String> walledGardenAllowlist, String radiusNasId, String radiusNasIp, String radiusOperatorName,
|
||||||
String greTunnelName, int dynamicVlan, Boolean useRadiusProxy, List<Operation> operations) {
|
String greTunnelName, int dynamicVlan, Boolean useRadiusProxy, List<Operation> operations, Boolean enableProxyArpForHotspot) {
|
||||||
|
|
||||||
Map<String, Value> updateColumns = new HashMap<>();
|
Map<String, Value> updateColumns = new HashMap<>();
|
||||||
// If we are doing a NAT SSID, no bridge, else yes
|
// If we are doing a NAT SSID, no bridge, else yes
|
||||||
@@ -334,7 +336,7 @@ public class OvsdbSsidConfig extends OvsdbDaoBase {
|
|||||||
com.vmware.ovsdb.protocol.operation.notation.Map<String, String> securityMap = com.vmware.ovsdb.protocol.operation.notation.Map.of(security);
|
com.vmware.ovsdb.protocol.operation.notation.Map<String, String> securityMap = com.vmware.ovsdb.protocol.operation.notation.Map.of(security);
|
||||||
updateColumns.put("security", securityMap);
|
updateColumns.put("security", securityMap);
|
||||||
configureCustomOptionsForSsid(ovsdbClient, enable80211k, enable80211r, rateLimitEnable, ssidDlLimit, ssidUlLimit, clientDlLimit, clientUlLimit,
|
configureCustomOptionsForSsid(ovsdbClient, enable80211k, enable80211r, rateLimitEnable, ssidDlLimit, ssidUlLimit, clientDlLimit, clientUlLimit,
|
||||||
rtsCtsThreshold, dtimPeriod, radiusNasId, radiusNasIp, radiusOperatorName, updateColumns, dynamicVlan, useRadiusProxy);
|
rtsCtsThreshold, dtimPeriod, radiusNasId, radiusNasIp, radiusOperatorName, updateColumns, dynamicVlan, useRadiusProxy, enableProxyArpForHotspot);
|
||||||
updateBlockList(updateColumns, macBlockList);
|
updateBlockList(updateColumns, macBlockList);
|
||||||
Row row = new Row(updateColumns);
|
Row row = new Row(updateColumns);
|
||||||
operations.add(new Insert(wifiVifConfigDbTable, row));
|
operations.add(new Insert(wifiVifConfigDbTable, row));
|
||||||
@@ -550,11 +552,15 @@ public class OvsdbSsidConfig extends OvsdbDaoBase {
|
|||||||
if (ssidConfig.getUseRadiusProxy() != null) {
|
if (ssidConfig.getUseRadiusProxy() != null) {
|
||||||
useRadiusProxy = ssidConfig.getUseRadiusProxy();
|
useRadiusProxy = ssidConfig.getUseRadiusProxy();
|
||||||
}
|
}
|
||||||
|
boolean enableProxyArpForHotspot = false;
|
||||||
|
if (ssidConfig.getEnableProxyArpForHotspot() != null) {
|
||||||
|
enableProxyArpForHotspot = false;
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
configureSingleSsid(ovsdbClient, ifName, ssidConfig.getSsid(), ssidBroadcast, security, vlanId, rrmEnabled, enable80211r, mobilityDomain,
|
configureSingleSsid(ovsdbClient, ifName, ssidConfig.getSsid(), ssidBroadcast, security, vlanId, rrmEnabled, enable80211r, mobilityDomain,
|
||||||
enable80211v, enable80211k, minHwMode, enabled, keyRefresh, uapsdEnabled, apBridge, ssidConfig.getForwardMode(), macBlockList,
|
enable80211v, enable80211k, minHwMode, enabled, keyRefresh, uapsdEnabled, apBridge, ssidConfig.getForwardMode(), macBlockList,
|
||||||
rateLimitEnable, ssidDlLimit, ssidUlLimit, clientDlLimit, clientUlLimit, rtsCtsThreshold, dtimPeriod, captiveMap,
|
rateLimitEnable, ssidDlLimit, ssidUlLimit, clientDlLimit, clientUlLimit, rtsCtsThreshold, dtimPeriod, captiveMap,
|
||||||
walledGardenAllowlist, radiusNasId, radiusNasIp, radiusOperName, greTunnelName, dynamicVlan, useRadiusProxy, operations);
|
walledGardenAllowlist, radiusNasId, radiusNasIp, radiusOperName, greTunnelName, dynamicVlan, useRadiusProxy, operations, enableProxyArpForHotspot);
|
||||||
|
|
||||||
networkConfig.configureInetVifInterface(ovsdbClient, ifName, enabled, ssidConfig.getForwardMode(), operations);
|
networkConfig.configureInetVifInterface(ovsdbClient, ifName, enabled, ssidConfig.getForwardMode(), operations);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user