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 a16443d..122ab66 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
@@ -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);
diff --git a/opensync-ext-interface/pom.xml b/opensync-ext-interface/pom.xml
index c44aded..8b5b5c4 100644
--- a/opensync-ext-interface/pom.xml
+++ b/opensync-ext-interface/pom.xml
@@ -22,6 +22,11 @@
tip-wlan-opensync-protobuf
${tip-wlan-cloud.release.version}
+
+ customer-models
+ com.telecominfraproject.wlan
+ ${tip-wlan-cloud.release.version}
+
equipment-models
com.telecominfraproject.wlan
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 d8a33f0..ccfdf43 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
@@ -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 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 getAllowedChannels() {
return allowedChannels;
}
- public void setAllowedChannels(int[] allowedChannels) {
+ public void setAllowedChannels(Set allowedChannels) {
this.allowedChannels = allowedChannels;
}
diff --git a/opensync-gateway-cloud-process/src/main/resources/launchers/OpenSyncProcess (local, KDC certs) cloud.launch b/opensync-gateway-cloud-process/src/main/resources/launchers/OpenSyncProcess (local, KDC certs) cloud.launch
index 2029a41..46bce75 100644
--- a/opensync-gateway-cloud-process/src/main/resources/launchers/OpenSyncProcess (local, KDC certs) cloud.launch
+++ b/opensync-gateway-cloud-process/src/main/resources/launchers/OpenSyncProcess (local, KDC certs) cloud.launch
@@ -20,5 +20,5 @@
-
+
diff --git a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/ConnectusOvsdbClient.java b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/ConnectusOvsdbClient.java
index 1ae5186..2a1e758 100644
--- a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/ConnectusOvsdbClient.java
+++ b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/ConnectusOvsdbClient.java
@@ -256,7 +256,7 @@ public class ConnectusOvsdbClient implements ConnectusOvsdbClientInterface {
CompletableFuture 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 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 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
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 d9175d8..1eb8bf8 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
@@ -424,6 +424,13 @@ public class OvsdbDao {
}
+ public Set getSet(Row row, String columnName) {
+
+ Set set = (row != null) ? row.getSetColumn(columnName) : null;
+
+ return set;
+ }
+
public T getSingleValueFromSet(Row row, String columnName) {
Set 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 conditions = new ArrayList<>();
List 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 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 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 allowedChannels = getSet(row, "allowed_channels");
+
+ Set allowed = new HashSet();
+ 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 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);
diff --git a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/models/WifiInetConfigInfo.java b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/models/WifiInetConfigInfo.java
index 078df48..e8d81de 100644
--- a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/models/WifiInetConfigInfo.java
+++ b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/models/WifiInetConfigInfo.java
@@ -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);
}
}
\ No newline at end of file
diff --git a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/models/WifiRadioConfigInfo.java b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/models/WifiRadioConfigInfo.java
index 365dbae..ebc7129 100644
--- a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/models/WifiRadioConfigInfo.java
+++ b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/models/WifiRadioConfigInfo.java
@@ -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);
}
diff --git a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/models/WifiVifConfigInfo.java b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/models/WifiVifConfigInfo.java
index 36d4474..daf123e 100644
--- a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/models/WifiVifConfigInfo.java
+++ b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/models/WifiVifConfigInfo.java
@@ -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);
}