mirror of
https://github.com/Telecominfraproject/wlan-cloud-opensync-controller.git
synced 2025-11-02 03:28:00 +00:00
Take allowed_channels list from Wifi_Radio_State, Retrieval additional attributes from base AP configs, add customer service support and default customer id
This commit is contained in:
@@ -33,6 +33,7 @@ import com.telecominfraproject.wlan.core.model.equipment.EquipmentType;
|
||||
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
|
||||
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
||||
import com.telecominfraproject.wlan.core.model.equipment.SecurityType;
|
||||
import com.telecominfraproject.wlan.customer.models.Customer;
|
||||
import com.telecominfraproject.wlan.customer.service.CustomerServiceInterface;
|
||||
import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface;
|
||||
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
|
||||
@@ -245,6 +246,15 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
|
||||
ce = equipmentServiceInterface.update(ce);
|
||||
}
|
||||
|
||||
Customer customer = customerServiceInterface.getOrNull(ce.getCustomerId());
|
||||
if (customer == null) {
|
||||
customer = new Customer();
|
||||
customer.setId(autoProvisionedCustomerId);
|
||||
customerServiceInterface.create(customer);
|
||||
ce.setCustomerId(customer.getId());
|
||||
equipmentServiceInterface.update(ce);
|
||||
}
|
||||
|
||||
updateApStatus(ce, connectNodeInfo);
|
||||
|
||||
// register equipment routing record
|
||||
@@ -541,10 +551,10 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
|
||||
|
||||
LOG.debug("Config content : Equipment {}", ret.getCustomerEquipment().toPrettyString());
|
||||
LOG.debug("Config content : APProfile {}", ret.getApProfile().toPrettyString());
|
||||
|
||||
ret.getSsidProfile().stream().forEach(ssid -> LOG.debug("Config content : SSIDProfile {}", ssid.toPrettyString()));
|
||||
LOG.debug("Config content : Location {}", ret.getEquipmentLocation().toPrettyString());
|
||||
|
||||
ret.getSsidProfile().stream()
|
||||
.forEach(ssid -> LOG.debug("Config content : SSIDProfile {}", ssid.toPrettyString()));
|
||||
LOG.debug("Config content : Location {}", ret.getEquipmentLocation().toPrettyString());
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -868,7 +878,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()) {
|
||||
cMetrics.setRxBytes(cl.getStats().getRxBytes());
|
||||
@@ -1437,7 +1447,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
|
||||
|
||||
if (radioStateTables == null || radioStateTables.isEmpty() || apId == null)
|
||||
return;
|
||||
|
||||
|
||||
// add to RadioStates States Map
|
||||
OpensyncNode osNode = null;
|
||||
synchronized (opensyncNodeMap) {
|
||||
@@ -1447,6 +1457,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
|
||||
for (OpensyncAPRadioState radioState : radioStateTables) {
|
||||
if (radioState.isEnabled())
|
||||
osNode.updateRadioState(radioState);
|
||||
LOG.debug("RadioState {}", radioState.toPrettyString());
|
||||
}
|
||||
opensyncNodeMap.put(apId, osNode);
|
||||
} else {
|
||||
@@ -1454,6 +1465,8 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
|
||||
for (OpensyncAPRadioState radioState : radioStateTables) {
|
||||
if (radioState.isEnabled())
|
||||
osNode.updateRadioState(radioState);
|
||||
LOG.debug("RadioState {}", radioState.toPrettyString());
|
||||
|
||||
}
|
||||
opensyncNodeMap.put(apId, osNode);
|
||||
|
||||
|
||||
@@ -22,6 +22,11 @@
|
||||
<artifactId>tip-wlan-opensync-protobuf</artifactId>
|
||||
<version>${tip-wlan-cloud.release.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<artifactId>customer-models</artifactId>
|
||||
<groupId>com.telecominfraproject.wlan</groupId>
|
||||
<version>${tip-wlan-cloud.release.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<artifactId>equipment-models</artifactId>
|
||||
<groupId>com.telecominfraproject.wlan</groupId>
|
||||
|
||||
@@ -3,9 +3,8 @@
|
||||
*/
|
||||
package com.telecominfraproject.wlan.opensync.external.integration.models;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.Set;
|
||||
|
||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
||||
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
|
||||
@@ -25,7 +24,7 @@ public class OpensyncAPRadioState extends BaseJsonModel {
|
||||
public String mac;
|
||||
public int bcnInt;
|
||||
public int thermalTxChainmask;
|
||||
public int[] allowedChannels;
|
||||
public Set<Integer> allowedChannels;
|
||||
public int thermalShutdown;
|
||||
public int channelSync;
|
||||
public int hwType;
|
||||
@@ -104,11 +103,11 @@ public class OpensyncAPRadioState extends BaseJsonModel {
|
||||
this.thermalTxChainmask = thermalTxChainmask;
|
||||
}
|
||||
|
||||
public int[] getAllowedChannels() {
|
||||
public Set<Integer> getAllowedChannels() {
|
||||
return allowedChannels;
|
||||
}
|
||||
|
||||
public void setAllowedChannels(int[] allowedChannels) {
|
||||
public void setAllowedChannels(Set<Integer> allowedChannels) {
|
||||
this.allowedChannels = allowedChannels;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,5 +20,5 @@
|
||||
<listAttribute key="org.eclipse.jdt.launching.MODULEPATH"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="opensync-gateway-cloud-process"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="--add-opens java.base/java.lang=ALL-UNNAMED -Dssl.props=file://${project_loc:opensync-gateway-cloud-process}/src/main/resources/app/certs/ssl.properties -Dtip.wlan.httpClientConfig=file://${project_loc:opensync-gateway-cloud-process}/src/main/resources/app/certs/httpClientConfig.json -Djavax.net.ssl.keyStore=${connectus_certs}/client_keystore.jks -Djavax.net.ssl.keyStorePassword=mypassword -Djavax.net.ssl.trustStore=${connectus_certs}/truststore.jks -Djavax.net.ssl.trustStorePassword=mypassword -Dconnectus.ovsdb.managerAddr=${local_server_address} -Dconnectus.ovsdb.listenPort=6640 -Dconnectus.ovsdb.redirector.listenPort=6643 -Dconnectus.ovsdb.timeoutSec=30 -Dconnectus.ovsdb.trustStore=${connectus_certs}/truststore.jks -Dconnectus.ovsdb.keyStore=${connectus_certs}/server.pkcs12 -Dconnectus.mqttBroker.address=${local_server_address} -Dconnectus.mqttBroker.listenPort=1883 -Dtip.wlan.introspectTokenApi.host=localhost:9096 -Dtip.wlan.introspectTokenApi.clientToken=token_placeholder -Dtip.wlan.serviceUser=user -Dtip.wlan.servicePassword=password -Dconnectus.ovsdb.wifi-iface.default_radio1=home-ap-24 -Dconnectus.ovsdb.wifi-iface.default_radio2=home-ap-l50 -Dconnectus.ovsdb.wifi-iface.default_radio0=default_radio0	 -Dconnectus.ovsdb.wifi-device.radio0=wifi2 -Dconnectus.ovsdb.wifi-device.radio1=wifi0 -Dconnectus.ovsdb.wifi-device.radio2=wifi1 -Dspring.main.show-banner=false -Dserver.port=9096 -Dtip.wlan.secondaryPort=9097 -Dtip.wlan.csrf-enabled=false -Dspring.profiles.include=opensync_cloud_config,mqtt_receiver,ovsdb_redirector,ovsdb_manager"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="--add-opens java.base/java.lang=ALL-UNNAMED -Dssl.props=file://${project_loc:opensync-gateway-cloud-process}/src/main/resources/app/certs/ssl.properties -Dtip.wlan.httpClientConfig=file://${project_loc:opensync-gateway-cloud-process}/src/main/resources/app/certs/httpClientConfig.json -Djavax.net.ssl.keyStore=${connectus_certs}/client_keystore.jks -Djavax.net.ssl.keyStorePassword=mypassword -Djavax.net.ssl.trustStore=${connectus_certs}/truststore.jks -Djavax.net.ssl.trustStorePassword=mypassword -Dconnectus.ovsdb.managerAddr=${local_server_address} -Dconnectus.ovsdb.listenPort=6640 -Dconnectus.ovsdb.redirector.listenPort=6643 -Dconnectus.ovsdb.timeoutSec=30 -Dconnectus.ovsdb.trustStore=${connectus_certs}/truststore.jks -Dconnectus.ovsdb.keyStore=${connectus_certs}/server.pkcs12 -Dconnectus.mqttBroker.address=${local_server_address} -Dconnectus.mqttBroker.listenPort=1883 -Dtip.wlan.introspectTokenApi.host=localhost:9096 -Dtip.wlan.introspectTokenApi.clientToken=token_placeholder -Dtip.wlan.serviceUser=user -Dtip.wlan.servicePassword=password -Dconnectus.ovsdb.autoProvisionedCustomerId=2 -Dconnectus.ovsdb.autoProvisionedSsid=Connectus-cloud -Dconnectus.ovsdb.wifi-iface.default_radio1=home-ap-24 -Dconnectus.ovsdb.wifi-iface.default_radio2=home-ap-l50 -Dconnectus.ovsdb.wifi-iface.default_radio0=home-ap-u50	 -Dconnectus.ovsdb.wifi-device.radio0=wifi2 -Dconnectus.ovsdb.wifi-device.radio1=wifi0 -Dconnectus.ovsdb.wifi-device.radio2=wifi1 -Dspring.main.show-banner=false -Dserver.port=9096 -Dtip.wlan.secondaryPort=9097 -Dtip.wlan.csrf-enabled=false -Dspring.profiles.include=opensync_cloud_config,mqtt_receiver,ovsdb_redirector,ovsdb_manager"/>
|
||||
</launchConfiguration>
|
||||
|
||||
@@ -256,7 +256,7 @@ public class ConnectusOvsdbClient implements ConnectusOvsdbClientInterface {
|
||||
CompletableFuture<TableUpdates> rsCf = ovsdbClient
|
||||
.monitor(OvsdbDao.ovsdbName, OvsdbDao.wifiRadioStateDbTable + "_" + key,
|
||||
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiRadioStateDbTable,
|
||||
new MonitorRequest(new MonitorSelect(true, true, false, true)))),
|
||||
new MonitorRequest(new MonitorSelect(true, true, true, true)))),
|
||||
new MonitorCallback() {
|
||||
|
||||
@Override
|
||||
@@ -273,7 +273,7 @@ public class ConnectusOvsdbClient implements ConnectusOvsdbClientInterface {
|
||||
CompletableFuture<TableUpdates> isCf = ovsdbClient
|
||||
.monitor(OvsdbDao.ovsdbName, OvsdbDao.wifiInetStateDbTable + "_" + key,
|
||||
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiInetStateDbTable,
|
||||
new MonitorRequest(new MonitorSelect(true, true, false, true)))),
|
||||
new MonitorRequest(new MonitorSelect(true, true, true, true)))),
|
||||
new MonitorCallback() {
|
||||
|
||||
@Override
|
||||
@@ -383,7 +383,7 @@ public class ConnectusOvsdbClient implements ConnectusOvsdbClientInterface {
|
||||
CompletableFuture<TableUpdates> awCf = ovsdbClient
|
||||
.monitor(OvsdbDao.ovsdbName, OvsdbDao.awlanNodeDbTable + "_" + key,
|
||||
new MonitorRequests(ImmutableMap.of(OvsdbDao.awlanNodeDbTable,
|
||||
new MonitorRequest(new MonitorSelect(true, false, false, true)))),
|
||||
new MonitorRequest(new MonitorSelect(true, true, true, true)))),
|
||||
new MonitorCallback() {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -424,6 +424,13 @@ public class OvsdbDao {
|
||||
|
||||
}
|
||||
|
||||
public <T> Set<T> getSet(Row row, String columnName) {
|
||||
|
||||
Set<T> set = (row != null) ? row.getSetColumn(columnName) : null;
|
||||
|
||||
return set;
|
||||
}
|
||||
|
||||
public <T> T getSingleValueFromSet(Row row, String columnName) {
|
||||
|
||||
Set<T> set = (row != null) ? row.getSetColumn(columnName) : null;
|
||||
@@ -588,7 +595,7 @@ public class OvsdbDao {
|
||||
|
||||
columns.add("_uuid");
|
||||
columns.add("if_name");
|
||||
|
||||
columns.add("bcn_int");
|
||||
columns.add("channel");
|
||||
columns.add("channel_mode");
|
||||
columns.add("country");
|
||||
@@ -598,6 +605,7 @@ public class OvsdbDao {
|
||||
columns.add("vif_configs");
|
||||
columns.add("freq_band");
|
||||
columns.add("hw_config");
|
||||
columns.add("hw_type");
|
||||
|
||||
try {
|
||||
LOG.debug("Retrieving WifiRadioConfig:");
|
||||
@@ -615,6 +623,10 @@ public class OvsdbDao {
|
||||
WifiRadioConfigInfo wifiRadioConfigInfo = new WifiRadioConfigInfo();
|
||||
wifiRadioConfigInfo.uuid = row.getUuidColumn("_uuid");
|
||||
wifiRadioConfigInfo.ifName = row.getStringColumn("if_name");
|
||||
Long beaconTmp = getSingleValueFromSet(row, "bcn_int");
|
||||
if (beaconTmp == null)
|
||||
beaconTmp = 0L;
|
||||
wifiRadioConfigInfo.beaconInterval = beaconTmp.intValue();
|
||||
Long channelTmp = getSingleValueFromSet(row, "channel");
|
||||
if (channelTmp == null) {
|
||||
channelTmp = -1L;
|
||||
@@ -629,7 +641,7 @@ public class OvsdbDao {
|
||||
wifiRadioConfigInfo.vifConfigUuids = row.getSetColumn("vif_configs");
|
||||
wifiRadioConfigInfo.freqBand = row.getStringColumn("freq_band");
|
||||
wifiRadioConfigInfo.hwConfig = row.getMapColumn("hw_config");
|
||||
|
||||
wifiRadioConfigInfo.hwType = row.getStringColumn("hw_type");
|
||||
ret.put(wifiRadioConfigInfo.ifName, wifiRadioConfigInfo);
|
||||
}
|
||||
|
||||
@@ -650,12 +662,14 @@ public class OvsdbDao {
|
||||
List<Condition> conditions = new ArrayList<>();
|
||||
List<String> columns = new ArrayList<>();
|
||||
columns.add("bridge");
|
||||
columns.add("ap_bridge");
|
||||
columns.add("_uuid");
|
||||
columns.add("btm");
|
||||
columns.add("enabled");
|
||||
columns.add("ft_psk");
|
||||
columns.add("group_rekey");
|
||||
columns.add("if_name");
|
||||
columns.add("min_hw_mode");
|
||||
columns.add("mode");
|
||||
columns.add("rrm");
|
||||
columns.add("ssid");
|
||||
@@ -680,18 +694,23 @@ public class OvsdbDao {
|
||||
|
||||
WifiVifConfigInfo wifiVifConfigInfo = new WifiVifConfigInfo();
|
||||
wifiVifConfigInfo.bridge = row.getStringColumn("bridge");
|
||||
wifiVifConfigInfo.apBridge = row.getBooleanColumn("ap_bridge");
|
||||
wifiVifConfigInfo.uuid = row.getUuidColumn("_uuid");
|
||||
wifiVifConfigInfo.btm = row.getIntegerColumn("btm").intValue();
|
||||
wifiVifConfigInfo.enabled = row.getBooleanColumn("enabled");
|
||||
wifiVifConfigInfo.ftPsk = row.getIntegerColumn("ft_psk").intValue();
|
||||
wifiVifConfigInfo.groupRekey = row.getIntegerColumn("group_rekey").intValue();
|
||||
wifiVifConfigInfo.minHwMode = row.getStringColumn("min_hw_mode");
|
||||
wifiVifConfigInfo.ifName = row.getStringColumn("if_name");
|
||||
wifiVifConfigInfo.mode = row.getStringColumn("mode");
|
||||
wifiVifConfigInfo.rrm = row.getIntegerColumn("rrm").intValue();
|
||||
wifiVifConfigInfo.ssid = row.getStringColumn("ssid");
|
||||
wifiVifConfigInfo.ssidBroadcast = row.getStringColumn("ssid_broadcast");
|
||||
wifiVifConfigInfo.uapsdEnable = row.getBooleanColumn("uapsd_enable");
|
||||
// wifiVifConfigInfo.vifRadioIdx = row.getIntegerColumn("vif_radio_idx").intValue();
|
||||
Long radioIdxTmp = getSingleValueFromSet(row, "vif_radio_idx");
|
||||
if (radioIdxTmp == null)
|
||||
radioIdxTmp = 0L;
|
||||
wifiVifConfigInfo.vifRadioIdx = radioIdxTmp.intValue();
|
||||
wifiVifConfigInfo.security = row.getMapColumn("security");
|
||||
|
||||
if (row.getColumns().get("vlan_id") != null && row.getColumns().get("vlan_id").getClass()
|
||||
@@ -719,11 +738,15 @@ public class OvsdbDao {
|
||||
List<String> columns = new ArrayList<>();
|
||||
columns.add("NAT");
|
||||
columns.add("_uuid");
|
||||
columns.add("broadcast");
|
||||
columns.add("enabled");
|
||||
columns.add("if_name");
|
||||
columns.add("if_type");
|
||||
columns.add("ip_assign_scheme");
|
||||
columns.add("network");
|
||||
columns.add("inet_addr");
|
||||
columns.add("mtu");
|
||||
columns.add("netmask");
|
||||
columns.add("vlan_id");
|
||||
|
||||
try {
|
||||
@@ -744,11 +767,27 @@ public class OvsdbDao {
|
||||
wifiInetConfigInfo.nat = natTmp != null ? natTmp : false;
|
||||
|
||||
wifiInetConfigInfo.uuid = row.getUuidColumn("_uuid");
|
||||
if (row.getColumns().get("broadcast") != null && row.getColumns().get("broadcast").getClass()
|
||||
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||
wifiInetConfigInfo.broadcast = row.getStringColumn("broadcast");
|
||||
}
|
||||
wifiInetConfigInfo.enabled = row.getBooleanColumn("enabled");
|
||||
wifiInetConfigInfo.ifName = row.getStringColumn("if_name");
|
||||
wifiInetConfigInfo.ifType = row.getStringColumn("if_type");
|
||||
wifiInetConfigInfo.ipAssignScheme = row.getStringColumn("ip_assign_scheme");
|
||||
wifiInetConfigInfo.network = row.getBooleanColumn("network");
|
||||
if (row.getColumns().get("inet_addr") != null && row.getColumns().get("inet_addr").getClass()
|
||||
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||
wifiInetConfigInfo.inetAddr = (row.getStringColumn("inet_addr"));
|
||||
}
|
||||
if (row.getColumns().get("mtu") != null && row.getColumns().get("mtu").getClass()
|
||||
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||
wifiInetConfigInfo.mtu = (row.getIntegerColumn("mtu").intValue());
|
||||
}
|
||||
if (row.getColumns().get("netmask") != null && row.getColumns().get("netmask").getClass()
|
||||
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||
wifiInetConfigInfo.netmask = (row.getStringColumn("netmask"));
|
||||
}
|
||||
if (row.getColumns().get("vlan_id") != null && row.getColumns().get("vlan_id").getClass()
|
||||
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||
wifiInetConfigInfo.vlanId = (row.getIntegerColumn("vlan_id").intValue());
|
||||
@@ -833,7 +872,6 @@ public class OvsdbDao {
|
||||
Map<String, BridgeInfo> provisionedBridges)
|
||||
throws OvsdbClientException, TimeoutException, ExecutionException, InterruptedException {
|
||||
|
||||
|
||||
LOG.debug("InterfaceName {} BridgeName {} InterfaceType {}", interfaceName, bridgeName, interfaceType);
|
||||
if (!provisionedInterfaces.containsKey(interfaceName)) {
|
||||
// Create this interface and link it to the port and the bridge
|
||||
@@ -1167,8 +1205,9 @@ public class OvsdbDao {
|
||||
configName = radioName2pt4GHz;
|
||||
break;
|
||||
case is5GHz:
|
||||
// 802.11h dfs (Dynamic Frequency Selection) aka military and weather radar avoidance protocol
|
||||
// Must not be disabled (by law)
|
||||
// 802.11h dfs (Dynamic Frequency Selection) aka military and weather radar
|
||||
// avoidance protocol
|
||||
// Must not be disabled (by law)
|
||||
// NA for 2.4GHz
|
||||
hwConfig.put("dfs_enable", "1");
|
||||
hwConfig.put("dfs_ignorecac", "0");
|
||||
@@ -1176,8 +1215,9 @@ public class OvsdbDao {
|
||||
configName = radioName5GHzU;
|
||||
break;
|
||||
case is5GHzL:
|
||||
// 802.11h dfs (Dynamic Frequency Selection) aka military and weather radar avoidance protocol
|
||||
// Must not be disabled (by law)
|
||||
// 802.11h dfs (Dynamic Frequency Selection) aka military and weather radar
|
||||
// avoidance protocol
|
||||
// Must not be disabled (by law)
|
||||
// NA for 2.4GHz
|
||||
hwConfig.put("dfs_enable", "1");
|
||||
hwConfig.put("dfs_ignorecac", "0");
|
||||
@@ -1185,8 +1225,9 @@ public class OvsdbDao {
|
||||
configName = radioName5GHzL;
|
||||
break;
|
||||
case is5GHzU:
|
||||
// 802.11h dfs (Dynamic Frequency Selection) aka military and weather radar avoidance protocol
|
||||
// Must not be disabled (by law)
|
||||
// 802.11h dfs (Dynamic Frequency Selection) aka military and weather radar
|
||||
// avoidance protocol
|
||||
// Must not be disabled (by law)
|
||||
// NA for 2.4GHz
|
||||
hwConfig.put("dfs_enable", "1");
|
||||
hwConfig.put("dfs_ignorecac", "0");
|
||||
@@ -1290,6 +1331,16 @@ public class OvsdbDao {
|
||||
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||
tableState.setVersion(row.getUuidColumn("_uuid"));
|
||||
}
|
||||
if (map.get("allowed_channels") != null) {
|
||||
|
||||
Set<Long> allowedChannels = getSet(row, "allowed_channels");
|
||||
|
||||
Set<Integer> allowed = new HashSet<Integer>();
|
||||
for (Long channel : allowedChannels) {
|
||||
allowed.add(channel.intValue());
|
||||
}
|
||||
tableState.setAllowedChannels(allowed);
|
||||
}
|
||||
|
||||
ret.add(tableState);
|
||||
}
|
||||
@@ -1749,7 +1800,6 @@ public class OvsdbDao {
|
||||
LOG.debug("Provisioned SSID {} on {}", ssid, ifName);
|
||||
|
||||
Uuid vifConfigUuid = null;
|
||||
String vifIfName = null;
|
||||
for (OperationResult res : result) {
|
||||
LOG.debug("Op Result {}", res);
|
||||
if (res instanceof InsertResult) {
|
||||
@@ -1796,17 +1846,16 @@ public class OvsdbDao {
|
||||
}
|
||||
}
|
||||
Map<String, WifiInetConfigInfo> inetConfigs = getProvisionedWifiInetConfigs(ovsdbClient);
|
||||
if (inetConfigs.containsKey(ifName))
|
||||
if (inetConfigs.containsKey(ifName)) {
|
||||
updateWifiInetConfig(ovsdbClient, vlanId, ifName, enabled,
|
||||
(networkForwardMode == NetworkForwardMode.NAT), "vif", gateway, inet, dns, ipAssignScheme,
|
||||
vifConfigUuid);
|
||||
else
|
||||
// do nothing for now
|
||||
} else {
|
||||
LOG.debug("No corresponding WifiInetConfig for this Interface");
|
||||
// TODO: should wait for the default config to take place
|
||||
insertWifiInetConfigForVif(ovsdbClient, vlanId, ifName, enabled,
|
||||
(networkForwardMode == NetworkForwardMode.NAT), "vif", gateway, inet, dns, ipAssignScheme,
|
||||
vifConfigUuid);
|
||||
insertWifiInetConfigForVif(ovsdbClient, vlanId, ifName, enabled,
|
||||
(networkForwardMode == NetworkForwardMode.NAT), "vif", gateway, inet, dns, ipAssignScheme,
|
||||
vifConfigUuid);
|
||||
}
|
||||
|
||||
LOG.info("Provisioned SSID {} on interface {} / {}", ssid, ifName, radioIfName);
|
||||
|
||||
|
||||
@@ -13,6 +13,10 @@ public class WifiInetConfigInfo implements Cloneable{
|
||||
|
||||
public Uuid uuid;
|
||||
public int vlanId;
|
||||
public String broadcast;
|
||||
public String inetAddr;
|
||||
public int mtu;
|
||||
public String netmask;
|
||||
|
||||
@Override
|
||||
public WifiInetConfigInfo clone() {
|
||||
@@ -27,8 +31,8 @@ public class WifiInetConfigInfo implements Cloneable{
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.format(
|
||||
"WifiInetConfigInfo [nat=%s, enabled=%s, ifName=%s, ifType=%s, ipAssignScheme=%s, network=%s, uuid=%s, vlanId=%s]",
|
||||
nat, enabled, ifName, ifType, ipAssignScheme, network, uuid, vlanId);
|
||||
"WifiInetConfigInfo [nat=%s, broadcast=%s, enabled=%s, ifName=%s, ifType=%s, ipAssignScheme=%s, network=%s, uuid=%s, inetAddr=%s, mtu=%s, netmask=%s, vlanId=%s]",
|
||||
nat, broadcast, enabled, ifName, ifType, ipAssignScheme, network, uuid,inetAddr, mtu, netmask, vlanId);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -24,6 +24,8 @@ public class WifiRadioConfigInfo implements Cloneable {
|
||||
public String ifName;
|
||||
public Uuid uuid;
|
||||
|
||||
public String hwType;
|
||||
|
||||
@Override
|
||||
public WifiRadioConfigInfo clone() {
|
||||
try {
|
||||
@@ -44,8 +46,8 @@ public class WifiRadioConfigInfo implements Cloneable {
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.format(
|
||||
"WifiRadioConfigInfo [vifConfigUuids=%s, freqBand=%s, channel=%s, txPower=%s, channelMode=%s, enabled=%s, htMode=%s, hwConfig=%s, country=%s, bcn_int=%s, ifName=%s, uuid=%s]",
|
||||
vifConfigUuids, freqBand, channel, txPower, channelMode, enabled, htMode, hwConfig, country,
|
||||
"WifiRadioConfigInfo [vifConfigUuids=%s, freqBand=%s, channel=%s, txPower=%s, channelMode=%s, enabled=%s, htMode=%s, hwConfig=%s, hwType=%s, country=%s, bcn_int=%s, ifName=%s, uuid=%s]",
|
||||
vifConfigUuids, freqBand, channel, txPower, channelMode, enabled, htMode, hwConfig, hwType,country,
|
||||
beaconInterval, ifName, uuid);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,8 @@ public class WifiVifConfigInfo implements Cloneable{
|
||||
|
||||
public Uuid uuid;
|
||||
public int vlanId;
|
||||
public Boolean apBridge;
|
||||
public String minHwMode;
|
||||
|
||||
@Override
|
||||
public WifiVifConfigInfo clone() {
|
||||
@@ -41,8 +43,8 @@ public class WifiVifConfigInfo implements Cloneable{
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.format(
|
||||
"WifiVifConfigInfo [bridge=%s, btm=%s, enabled=%s, ftPsk=%s, groupRekey=%s, ifName=%s, mode=%s, rrm=%s, ssid=%s, ssidBroadcast=%s, uapsdEnable=%s, vifRadioIdx=%s, security=%s, uuid=%s, vlanId=%s]",
|
||||
bridge, btm, enabled, ftPsk, groupRekey, ifName, mode, rrm, ssid, ssidBroadcast, uapsdEnable,
|
||||
"WifiVifConfigInfo [bridge=%s, ap_bridge=%s, btm=%s, enabled=%s, ftPsk=%s, groupRekey=%s, ifName=%s, minHwMode=%s, mode=%s, rrm=%s, ssid=%s, ssidBroadcast=%s, uapsdEnable=%s, vifRadioIdx=%s, security=%s, uuid=%s, vlanId=%s]",
|
||||
bridge, apBridge, btm, enabled, ftPsk, groupRekey, ifName, minHwMode, mode, rrm, ssid, ssidBroadcast, uapsdEnable,
|
||||
vifRadioIdx, security, uuid,vlanId);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user