mirror of
https://github.com/Telecominfraproject/wlan-cloud-opensync-controller.git
synced 2025-11-05 13:08:10 +00:00
TW-208: Notified Table Status changes to ExternalInterfaceKDC
This commit is contained in:
@@ -1,7 +1,10 @@
|
|||||||
package com.telecominfraproject.wlan.opensync.external.integration;
|
package com.telecominfraproject.wlan.opensync.external.integration;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
|
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPConfig;
|
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPConfig;
|
||||||
|
import com.vmware.ovsdb.protocol.operation.notation.Value;
|
||||||
|
|
||||||
import sts.PlumeStats.Report;
|
import sts.PlumeStats.Report;
|
||||||
import traffic.NetworkMetadata.FlowReport;
|
import traffic.NetworkMetadata.FlowReport;
|
||||||
@@ -9,9 +12,24 @@ import wc.stats.IpDnsTelemetry.WCStatsReport;
|
|||||||
|
|
||||||
public interface OpensyncExternalIntegrationInterface {
|
public interface OpensyncExternalIntegrationInterface {
|
||||||
void apConnected(String apId, ConnectNodeInfo connectNodeInfo);
|
void apConnected(String apId, ConnectNodeInfo connectNodeInfo);
|
||||||
|
|
||||||
void apDisconnected(String apId);
|
void apDisconnected(String apId);
|
||||||
|
|
||||||
OpensyncAPConfig getApConfig(String apId);
|
OpensyncAPConfig getApConfig(String apId);
|
||||||
|
|
||||||
|
void wirelessStatusChanged(Map <String,Value> row,String apId);
|
||||||
|
|
||||||
|
void deviceStatusChanged(Map <String,Value> row,String apId);
|
||||||
|
|
||||||
|
void networkStatusChanged(Map <String,Value> row,String apId);
|
||||||
|
|
||||||
void processMqttMessage(String topic, Report report);
|
void processMqttMessage(String topic, Report report);
|
||||||
|
|
||||||
void processMqttMessage(String topic, FlowReport flowReport);
|
void processMqttMessage(String topic, FlowReport flowReport);
|
||||||
|
|
||||||
void processMqttMessage(String topic, WCStatsReport wcStatsReport);
|
void processMqttMessage(String topic, WCStatsReport wcStatsReport);
|
||||||
|
|
||||||
|
void handleClientsChanged(Map <String,Value> row, String connectedClientId);
|
||||||
|
|
||||||
|
void awlanChanged(Map <String,Value> row, String connectedClientId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.telecominfraproject.wlan.opensync.external.integration;
|
package com.telecominfraproject.wlan.opensync.external.integration;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
|
|
||||||
@@ -10,9 +12,9 @@ import org.springframework.beans.factory.annotation.Value;
|
|||||||
import org.springframework.context.annotation.Profile;
|
import org.springframework.context.annotation.Profile;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.OpensyncExternalIntegrationInterface;
|
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
|
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPConfig;
|
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPConfig;
|
||||||
|
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
|
||||||
|
|
||||||
import sts.PlumeStats.Report;
|
import sts.PlumeStats.Report;
|
||||||
import traffic.NetworkMetadata.FlowReport;
|
import traffic.NetworkMetadata.FlowReport;
|
||||||
@@ -28,18 +30,22 @@ public class OpensyncExternalIntegrationSimple implements OpensyncExternalIntegr
|
|||||||
private String configFileName;
|
private String configFileName;
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
private void postCreate(){
|
private void postCreate() {
|
||||||
LOG.info("Using Static integration");
|
LOG.info("Using Static integration");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void apConnected(String apId, ConnectNodeInfo connectNodeInfo) {
|
public void apConnected(String apId, ConnectNodeInfo connectNodeInfo) {
|
||||||
LOG.info("AP {} got connected to the gateway", apId);
|
LOG.info("AP {} got connected to the gateway", apId);
|
||||||
|
LOG.info("ConnectNodeInfo {}", connectNodeInfo);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void apDisconnected(String apId) {
|
public void apDisconnected(String apId) {
|
||||||
LOG.info("AP {} got disconnected from the gateway", apId);
|
LOG.info("AP {} got disconnected from the gateway", apId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public OpensyncAPConfig getApConfig(String apId) {
|
public OpensyncAPConfig getApConfig(String apId) {
|
||||||
LOG.info("Retrieving config for AP {} from file {}", apId, configFileName);
|
LOG.info("Retrieving config for AP {} from file {}", apId, configFileName);
|
||||||
OpensyncAPConfig ret = null;
|
OpensyncAPConfig ret = null;
|
||||||
@@ -56,7 +62,29 @@ public class OpensyncExternalIntegrationSimple implements OpensyncExternalIntegr
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void processMqttMessage(String topic, Report report) {
|
public void processMqttMessage(String topic, Report report) {
|
||||||
LOG.info("Received report on topic {} for ap {}", topic, report.getNodeID());
|
|
||||||
|
LOG.info("Received PlumeStatsReport on topic {} for ap {}", topic, report.getNodeID());
|
||||||
|
|
||||||
|
if (report.getClientsCount() > 0) {
|
||||||
|
LOG.debug("Received {} client reports for AP {}", report.getClientsCount(), report.getNodeID());
|
||||||
|
report.getClientsList().forEach(c -> LOG.trace("ClientReport {}", c));
|
||||||
|
}
|
||||||
|
if (report.getNeighborsCount() > 0) {
|
||||||
|
LOG.debug("Received {} neighbor reports for AP {}", report.getNeighborsCount(), report.getNodeID());
|
||||||
|
report.getNeighborsList().forEach(c -> LOG.trace("NeighborReport {}", c));
|
||||||
|
}
|
||||||
|
if (report.getDeviceCount() > 0) {
|
||||||
|
LOG.debug("Received {} device reports for AP {}", report.getDeviceCount(), report.getNodeID());
|
||||||
|
report.getDeviceList().forEach(c -> LOG.trace("DeviceReport {}", c));
|
||||||
|
}
|
||||||
|
if (report.getSurveyCount() > 0) {
|
||||||
|
LOG.debug("Received {} survey reports for AP {}", report.getSurveyCount(), report.getNodeID());
|
||||||
|
report.getSurveyList().forEach(c -> LOG.trace("SurveyReport {}", c));
|
||||||
|
}
|
||||||
|
if (report.getRssiReportCount() > 0) {
|
||||||
|
LOG.debug("Received {} rssi reports for AP {}", report.getRssiReportCount(), report.getNodeID());
|
||||||
|
report.getRssiReportList().forEach(c -> LOG.trace("RSSI Report {}", c));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void processMqttMessage(String topic, FlowReport flowReport) {
|
public void processMqttMessage(String topic, FlowReport flowReport) {
|
||||||
@@ -64,7 +92,43 @@ public class OpensyncExternalIntegrationSimple implements OpensyncExternalIntegr
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void processMqttMessage(String topic, WCStatsReport wcStatsReport) {
|
public void processMqttMessage(String topic, WCStatsReport wcStatsReport) {
|
||||||
LOG.info("Received wcStatsReport on topic {} for ap {}", topic, wcStatsReport.getObservationPoint().getNodeId());
|
LOG.info("Received wcStatsReport on topic {} for ap {}", topic,
|
||||||
|
wcStatsReport.getObservationPoint().getNodeId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void wirelessStatusChanged(Map<String, com.vmware.ovsdb.protocol.operation.notation.Value> row,
|
||||||
|
String apId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deviceStatusChanged(Map<String, com.vmware.ovsdb.protocol.operation.notation.Value> row, String apId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void networkStatusChanged(Map<String, com.vmware.ovsdb.protocol.operation.notation.Value> row, String apId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handleClientsChanged(Map<String, com.vmware.ovsdb.protocol.operation.notation.Value> row,
|
||||||
|
String connectedClientId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void awlanChanged(Map<String, com.vmware.ovsdb.protocol.operation.notation.Value> row,
|
||||||
|
String connectedClientId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.telecominfraproject.wlan.opensync.ovsdb;
|
|||||||
|
|
||||||
import java.security.cert.X509Certificate;
|
import java.security.cert.X509Certificate;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Map.Entry;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@@ -26,7 +27,6 @@ import com.vmware.ovsdb.callback.MonitorCallback;
|
|||||||
import com.vmware.ovsdb.protocol.methods.RowUpdate;
|
import com.vmware.ovsdb.protocol.methods.RowUpdate;
|
||||||
import com.vmware.ovsdb.protocol.methods.TableUpdates;
|
import com.vmware.ovsdb.protocol.methods.TableUpdates;
|
||||||
import com.vmware.ovsdb.protocol.operation.notation.Row;
|
import com.vmware.ovsdb.protocol.operation.notation.Row;
|
||||||
import com.vmware.ovsdb.protocol.operation.notation.Value;
|
|
||||||
import com.vmware.ovsdb.service.OvsdbClient;
|
import com.vmware.ovsdb.service.OvsdbClient;
|
||||||
import com.vmware.ovsdb.service.OvsdbPassiveConnectionListener;
|
import com.vmware.ovsdb.service.OvsdbPassiveConnectionListener;
|
||||||
|
|
||||||
@@ -66,15 +66,6 @@ public class ConnectusOvsdbClient implements ConnectusOvsdbClientInterface {
|
|||||||
|
|
||||||
public void listenForConnections() {
|
public void listenForConnections() {
|
||||||
|
|
||||||
// This class is only used here, therefore changed it back to an inner
|
|
||||||
// class,
|
|
||||||
// removed the package level class.
|
|
||||||
// All calling classes related to OVSDB are calling the MonitorCallback
|
|
||||||
// interface, so the implementation can remain
|
|
||||||
// hidden. This also gives handy access to the Autowired instances in
|
|
||||||
// the
|
|
||||||
// container class.
|
|
||||||
|
|
||||||
class ConnectusMonitorCallback implements MonitorCallback {
|
class ConnectusMonitorCallback implements MonitorCallback {
|
||||||
|
|
||||||
private String connectedClientId;
|
private String connectedClientId;
|
||||||
@@ -88,61 +79,58 @@ public class ConnectusOvsdbClient implements ConnectusOvsdbClientInterface {
|
|||||||
Set<String> tableNames = tableUpdates.getTableUpdates().keySet();
|
Set<String> tableNames = tableUpdates.getTableUpdates().keySet();
|
||||||
|
|
||||||
for (String name : tableNames) {
|
for (String name : tableNames) {
|
||||||
LOG.trace("Receive update for table {}", name);
|
if (name.equals(OvsdbDao.wifiAssociatedClientsDbTable)) {
|
||||||
|
Map<UUID, RowUpdate> updates = tableUpdates.getTableUpdates().get(name).getRowUpdates();
|
||||||
|
for (UUID id : updates.keySet()) {
|
||||||
|
|
||||||
|
Row row = updates.get(id).getNew();
|
||||||
|
|
||||||
|
if (row != null)
|
||||||
|
extIntegrationInterface.handleClientsChanged(row.getColumns(), connectedClientId);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if (name.equals(OvsdbDao.awlanNodeDbTable)) {
|
||||||
|
Map<UUID, RowUpdate> updates = tableUpdates.getTableUpdates().get(name).getRowUpdates();
|
||||||
|
for (UUID id : updates.keySet()) {
|
||||||
|
|
||||||
|
Row row = updates.get(id).getNew();
|
||||||
|
|
||||||
|
if (row != null)
|
||||||
|
extIntegrationInterface.awlanChanged(row.getColumns(), connectedClientId);
|
||||||
|
}
|
||||||
|
} else if (name.equals(OvsdbDao.wifiVifStateDbTable)) {
|
||||||
|
Map<UUID, RowUpdate> updates = tableUpdates.getTableUpdates().get(name).getRowUpdates();
|
||||||
|
for (UUID id : updates.keySet()) {
|
||||||
|
|
||||||
|
Row row = updates.get(id).getNew();
|
||||||
|
|
||||||
|
if (row != null)
|
||||||
|
extIntegrationInterface.wirelessStatusChanged(row.getColumns(), connectedClientId);
|
||||||
|
}
|
||||||
|
} else if (name.equals(OvsdbDao.wifiInetStateDbTable)) {
|
||||||
Map<UUID, RowUpdate> updates = tableUpdates.getTableUpdates().get(name).getRowUpdates();
|
Map<UUID, RowUpdate> updates = tableUpdates.getTableUpdates().get(name).getRowUpdates();
|
||||||
|
|
||||||
for (UUID id : updates.keySet()) {
|
for (UUID id : updates.keySet()) {
|
||||||
|
|
||||||
LOG.trace("Receive row update for uuid {}", id);
|
Row row = updates.get(id).getNew();
|
||||||
|
|
||||||
RowUpdate rowUpdate = updates.get(id);
|
if (row != null)
|
||||||
|
extIntegrationInterface.networkStatusChanged(row.getColumns(), connectedClientId);
|
||||||
|
}
|
||||||
|
} else if (name.equals(OvsdbDao.wifiRadioStateDbTable)) {
|
||||||
|
Map<UUID, RowUpdate> updates = tableUpdates.getTableUpdates().get(name).getRowUpdates();
|
||||||
|
for (UUID id : updates.keySet()) {
|
||||||
|
|
||||||
Row newRow = rowUpdate.getNew();
|
Row row = updates.get(id).getNew();
|
||||||
if (newRow != null) {
|
|
||||||
Set<String> newRowColumns = newRow.getColumns().keySet();
|
|
||||||
Row oldRow = rowUpdate.getOld();
|
|
||||||
|
|
||||||
for (String column : newRowColumns) {
|
|
||||||
|
|
||||||
Value oldVal = null;
|
|
||||||
if (oldRow != null && oldRow.getColumns().containsKey(column))
|
|
||||||
oldVal = oldRow.getColumns().get(column);
|
|
||||||
|
|
||||||
Value newVal = newRow.getColumns().get(column);
|
|
||||||
|
|
||||||
|
if (row != null)
|
||||||
|
extIntegrationInterface.deviceStatusChanged(row.getColumns(), connectedClientId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// get session information for this client
|
|
||||||
// OvsdbSession ovsdbSession =
|
|
||||||
// ovsdbSessionMapInterface.getSession(connectedClientId);
|
|
||||||
// if (ovsdbSession == null) {
|
|
||||||
// throw new IllegalStateException("AP with id " +
|
|
||||||
// connectedClientId + " is not connected");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// OvsdbClient ovsdbClient = ovsdbSession.getOvsdbClient();
|
|
||||||
// OpensyncAPConfig opensyncAPConfig =
|
|
||||||
// extIntegrationInterface.getApConfig(connectedClientId);
|
|
||||||
|
|
||||||
// TODO:
|
|
||||||
// example wifiVifStateDbTable get MAC ADDRESS via ovsdbClient
|
|
||||||
// from
|
|
||||||
// Wifi_Associated_Clients given the associated UUID for the
|
|
||||||
// client
|
|
||||||
|
|
||||||
// TODO:
|
|
||||||
// Changes from other Status (Wifi, Inet, etc.) tables?
|
|
||||||
// Updates to session etc.
|
|
||||||
// Needs to be reflected in the Cloud
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ConnectionCallback connectionCallback = new ConnectionCallback() {
|
ConnectionCallback connectionCallback = new ConnectionCallback() {
|
||||||
@@ -181,10 +169,11 @@ public class ConnectusOvsdbClient implements ConnectusOvsdbClientInterface {
|
|||||||
ovsdbDao.monitorInetState(ovsdbClient, new ConnectusMonitorCallback(key));
|
ovsdbDao.monitorInetState(ovsdbClient, new ConnectusMonitorCallback(key));
|
||||||
// monitor vif state
|
// monitor vif state
|
||||||
ovsdbDao.monitorVIFState(ovsdbClient, new ConnectusMonitorCallback(key));
|
ovsdbDao.monitorVIFState(ovsdbClient, new ConnectusMonitorCallback(key));
|
||||||
// monitor Route state
|
// monitor AWLAN_Node
|
||||||
ovsdbDao.monitorRouteState(ovsdbClient, new ConnectusMonitorCallback(key));
|
ovsdbDao.monitorAwlanNode(ovsdbClient, new ConnectusMonitorCallback(key));
|
||||||
// monitor Master State
|
// monitor Wifi_Associated_Clients
|
||||||
ovsdbDao.monitorMasterState(ovsdbClient, new ConnectusMonitorCallback(key));
|
ovsdbDao.monitorAssociatedClients(ovsdbClient, new ConnectusMonitorCallback(key));
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("ovsdbClient error", e);
|
LOG.error("ovsdbClient error", e);
|
||||||
// something is wrong with the SSL
|
// something is wrong with the SSL
|
||||||
|
|||||||
@@ -84,81 +84,39 @@ public class OvsdbDao {
|
|||||||
public static final String wifiInetConfigDbTable = "Wifi_Inet_Config";
|
public static final String wifiInetConfigDbTable = "Wifi_Inet_Config";
|
||||||
public static final String wifiInetStateDbTable = "Wifi_Inet_State";
|
public static final String wifiInetStateDbTable = "Wifi_Inet_State";
|
||||||
|
|
||||||
public static final String wifiRouteStateDbTable = "Wifi_Route_State";
|
public static final String wifiAssociatedClientsDbTable = "Wifi_Associated_Clients";
|
||||||
public static final String wifiMasterStateDbTable = "Wifi_Master_State";
|
|
||||||
|
|
||||||
private static final String wifiRadioStateDbTableMonitorId = "Wifi_Radio_State_Monitor_Id";
|
private static final String wifiRadioStateDbTableMonitorId = "Wifi_Radio_State_Monitor_Id";
|
||||||
private static final String wifiInetStateDbTableMonitorId = "Wifi_Inet_State_Monitor_Id";
|
private static final String wifiInetStateDbTableMonitorId = "Wifi_Inet_State_Monitor_Id";
|
||||||
private static final String wifiVifStateDbTableMonitorId = "Wifi_VIF_State_Monitor_Id";
|
private static final String wifiVifStateDbTableMonitorId = "Wifi_VIF_State_Monitor_Id";
|
||||||
private static final String wifiRouteStateDbTableMonitorId = "Wifi_Route_State_Monitor_Id";
|
private static final String wifiAwlanNodeDbTableMonitorId = "AWLAN_Node_Monitor_Id";
|
||||||
private static final String wifiMasterStateDbTableMonitorId = "Wifi_Master_State_Monitor_Id";
|
private static final String wifiAssociatedClientsDbTableMonitorId = "Wifi_Associated_Clients_Monitor_Id";
|
||||||
|
|
||||||
public void monitorRouteState(OvsdbClient ovsdbClient, MonitorCallback monitorCallback) {
|
|
||||||
|
|
||||||
List<String> columns = new ArrayList<>();
|
|
||||||
columns.add("_uuid");
|
|
||||||
columns.add("_version");
|
|
||||||
columns.add("dest_addr");
|
|
||||||
columns.add("dest_mask");
|
|
||||||
columns.add("gateway");
|
|
||||||
columns.add("gateway_hwaddr");
|
|
||||||
columns.add("if_name");
|
|
||||||
|
|
||||||
|
public void monitorAwlanNode(OvsdbClient ovsdbClient, MonitorCallback monitorCallback) {
|
||||||
MonitorRequest monitorRequest = new MonitorRequest();
|
MonitorRequest monitorRequest = new MonitorRequest();
|
||||||
MonitorRequests monitorRequests = new MonitorRequests(ImmutableMap.of(wifiRouteStateDbTable, monitorRequest));
|
MonitorRequests monitorRequests = new MonitorRequests(ImmutableMap.of(awlanNodeDbTable, monitorRequest));
|
||||||
try {
|
|
||||||
ovsdbClient.monitor(ovsdbName, wifiRouteStateDbTableMonitorId, monitorRequests, monitorCallback);
|
|
||||||
} catch (OvsdbClientException e) {
|
|
||||||
LOG.error("Unable to add Monitor to table " + wifiRouteStateDbTable, e);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void monitorMasterState(OvsdbClient ovsdbClient, MonitorCallback monitorCallback) {
|
|
||||||
List<String> columns = new ArrayList<>();
|
|
||||||
columns.add("_uuid");
|
|
||||||
columns.add("_version");
|
|
||||||
columns.add("dhcpc");
|
|
||||||
columns.add("if_name");
|
|
||||||
columns.add("if_type");
|
|
||||||
columns.add("inet_addr");
|
|
||||||
columns.add("netmask");
|
|
||||||
columns.add("network_state");
|
|
||||||
columns.add("port_state");
|
|
||||||
|
|
||||||
MonitorRequest monitorRequest = new MonitorRequest();
|
|
||||||
MonitorRequests monitorRequests = new MonitorRequests(ImmutableMap.of(wifiMasterStateDbTable, monitorRequest));
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
ovsdbClient.monitor(ovsdbName, wifiMasterStateDbTableMonitorId, monitorRequests, monitorCallback);
|
ovsdbClient.monitor(ovsdbName, wifiAwlanNodeDbTableMonitorId, monitorRequests, monitorCallback);
|
||||||
} catch (OvsdbClientException e) {
|
} catch (OvsdbClientException e) {
|
||||||
LOG.error("Unable to add Monitor to table " + wifiMasterStateDbTable, e);
|
LOG.error("Unable to add Monitor to table " + awlanNodeDbTable, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void monitorAssociatedClients(OvsdbClient ovsdbClient, MonitorCallback monitorCallback) {
|
||||||
|
MonitorRequest monitorRequest = new MonitorRequest();
|
||||||
|
MonitorRequests monitorRequests = new MonitorRequests(
|
||||||
|
ImmutableMap.of(wifiAssociatedClientsDbTable, monitorRequest));
|
||||||
|
|
||||||
|
try {
|
||||||
|
ovsdbClient.monitor(ovsdbName, wifiAssociatedClientsDbTableMonitorId, monitorRequests, monitorCallback);
|
||||||
|
} catch (OvsdbClientException e) {
|
||||||
|
LOG.error("Unable to add Monitor to table " + wifiAssociatedClientsDbTable, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void monitorVIFState(OvsdbClient ovsdbClient, MonitorCallback monitorCallback) {
|
public void monitorVIFState(OvsdbClient ovsdbClient, MonitorCallback monitorCallback) {
|
||||||
List<String> columns = new ArrayList<>();
|
|
||||||
columns.add("_uuid");
|
|
||||||
columns.add("_version");
|
|
||||||
columns.add("ap_bridge");
|
|
||||||
columns.add("associated_clients");
|
|
||||||
columns.add("bridge");
|
|
||||||
columns.add("btm");
|
|
||||||
columns.add("channel");
|
|
||||||
columns.add("dynamic_beacon");
|
|
||||||
columns.add("enabled");
|
|
||||||
columns.add("group_rekey");
|
|
||||||
columns.add("if_name");
|
|
||||||
columns.add("mac");
|
|
||||||
columns.add("min_hw_mode");
|
|
||||||
columns.add("mode");
|
|
||||||
columns.add("rrm");
|
|
||||||
columns.add("security");
|
|
||||||
columns.add("ssid");
|
|
||||||
columns.add("ssid_broadcast");
|
|
||||||
columns.add("uapsd_enable");
|
|
||||||
columns.add("vif_config");
|
|
||||||
columns.add("vif_radio_idx");
|
|
||||||
|
|
||||||
MonitorRequest monitorRequest = new MonitorRequest();
|
MonitorRequest monitorRequest = new MonitorRequest();
|
||||||
MonitorRequests monitorRequests = new MonitorRequests(ImmutableMap.of(wifiVifStateDbTable, monitorRequest));
|
MonitorRequests monitorRequests = new MonitorRequests(ImmutableMap.of(wifiVifStateDbTable, monitorRequest));
|
||||||
@@ -208,8 +166,8 @@ public class OvsdbDao {
|
|||||||
ovsdbClient.cancelMonitor(wifiRadioStateDbTableMonitorId);
|
ovsdbClient.cancelMonitor(wifiRadioStateDbTableMonitorId);
|
||||||
ovsdbClient.cancelMonitor(wifiVifStateDbTableMonitorId);
|
ovsdbClient.cancelMonitor(wifiVifStateDbTableMonitorId);
|
||||||
ovsdbClient.cancelMonitor(wifiInetStateDbTableMonitorId);
|
ovsdbClient.cancelMonitor(wifiInetStateDbTableMonitorId);
|
||||||
ovsdbClient.cancelMonitor(wifiRouteStateDbTableMonitorId);
|
ovsdbClient.cancelMonitor(wifiAssociatedClientsDbTableMonitorId);
|
||||||
ovsdbClient.cancelMonitor(wifiMasterStateDbTableMonitorId);
|
ovsdbClient.cancelMonitor(wifiAwlanNodeDbTableMonitorId);
|
||||||
} catch (OvsdbClientException e) {
|
} catch (OvsdbClientException e) {
|
||||||
LOG.debug("Could not cancel Monitor. {}", e.getLocalizedMessage());
|
LOG.debug("Could not cancel Monitor. {}", e.getLocalizedMessage());
|
||||||
}
|
}
|
||||||
@@ -1560,7 +1518,7 @@ public class OvsdbDao {
|
|||||||
updateColumns.put("sampling_interval", new Atom<>(0));
|
updateColumns.put("sampling_interval", new Atom<>(0));
|
||||||
updateColumns.put("stats_type", new Atom<>("device"));
|
updateColumns.put("stats_type", new Atom<>("device"));
|
||||||
// updateColumns.put("survey_interval_ms", new Atom<>(10) );
|
// updateColumns.put("survey_interval_ms", new Atom<>(10) );
|
||||||
// updateColumns.put("survey_type", new Atom<>("on-chan") );
|
updateColumns.put("survey_type", new Atom<>("on-chan"));
|
||||||
// updateColumns.put("threshold", thresholds );
|
// updateColumns.put("threshold", thresholds );
|
||||||
|
|
||||||
row = new Row(updateColumns);
|
row = new Row(updateColumns);
|
||||||
@@ -1641,11 +1599,13 @@ public class OvsdbDao {
|
|||||||
updateColumns = new HashMap<>();
|
updateColumns = new HashMap<>();
|
||||||
// updateColumns.put("channel_list", channels );
|
// updateColumns.put("channel_list", channels );
|
||||||
updateColumns.put("radio_type", new Atom<>("5GL"));
|
updateColumns.put("radio_type", new Atom<>("5GL"));
|
||||||
|
updateColumns.put("report_type", new Atom<>("average"));
|
||||||
|
|
||||||
updateColumns.put("reporting_interval", new Atom<>(60));
|
updateColumns.put("reporting_interval", new Atom<>(60));
|
||||||
updateColumns.put("sampling_interval", new Atom<>(10));
|
updateColumns.put("sampling_interval", new Atom<>(10));
|
||||||
updateColumns.put("stats_type", new Atom<>("client"));
|
updateColumns.put("stats_type", new Atom<>("client"));
|
||||||
// updateColumns.put("survey_interval_ms", new Atom<>(0) );
|
// updateColumns.put("survey_interval_ms", new Atom<>(0) );
|
||||||
// updateColumns.put("survey_type", new Atom<>("on-chan") );
|
updateColumns.put("survey_type", new Atom<>("on-chan"));
|
||||||
// updateColumns.put("threshold", thresholds );
|
// updateColumns.put("threshold", thresholds );
|
||||||
|
|
||||||
row = new Row(updateColumns);
|
row = new Row(updateColumns);
|
||||||
@@ -1658,11 +1618,13 @@ public class OvsdbDao {
|
|||||||
updateColumns = new HashMap<>();
|
updateColumns = new HashMap<>();
|
||||||
// updateColumns.put("channel_list", channels );
|
// updateColumns.put("channel_list", channels );
|
||||||
updateColumns.put("radio_type", new Atom<>("5GU"));
|
updateColumns.put("radio_type", new Atom<>("5GU"));
|
||||||
|
updateColumns.put("report_type", new Atom<>("average"));
|
||||||
|
|
||||||
updateColumns.put("reporting_interval", new Atom<>(60));
|
updateColumns.put("reporting_interval", new Atom<>(60));
|
||||||
updateColumns.put("sampling_interval", new Atom<>(10));
|
updateColumns.put("sampling_interval", new Atom<>(10));
|
||||||
updateColumns.put("stats_type", new Atom<>("client"));
|
updateColumns.put("stats_type", new Atom<>("client"));
|
||||||
// updateColumns.put("survey_interval_ms", new Atom<>(0) );
|
// updateColumns.put("survey_interval_ms", new Atom<>(0) );
|
||||||
// updateColumns.put("survey_type", new Atom<>("on-chan") );
|
updateColumns.put("survey_type", new Atom<>("on-chan"));
|
||||||
// updateColumns.put("threshold", thresholds );
|
// updateColumns.put("threshold", thresholds );
|
||||||
|
|
||||||
row = new Row(updateColumns);
|
row = new Row(updateColumns);
|
||||||
@@ -1692,11 +1654,13 @@ public class OvsdbDao {
|
|||||||
updateColumns = new HashMap<>();
|
updateColumns = new HashMap<>();
|
||||||
// updateColumns.put("channel_list", channels );
|
// updateColumns.put("channel_list", channels );
|
||||||
updateColumns.put("radio_type", new Atom<>("2.4G"));
|
updateColumns.put("radio_type", new Atom<>("2.4G"));
|
||||||
|
updateColumns.put("report_type", new Atom<>("average"));
|
||||||
|
|
||||||
updateColumns.put("reporting_interval", new Atom<>(60));
|
updateColumns.put("reporting_interval", new Atom<>(60));
|
||||||
updateColumns.put("sampling_interval", new Atom<>(10));
|
updateColumns.put("sampling_interval", new Atom<>(10));
|
||||||
updateColumns.put("stats_type", new Atom<>("client"));
|
updateColumns.put("stats_type", new Atom<>("client"));
|
||||||
// updateColumns.put("survey_interval_ms", new Atom<>(0) );
|
// updateColumns.put("survey_interval_ms", new Atom<>(0) );
|
||||||
// updateColumns.put("survey_type", new Atom<>("on-chan") );
|
updateColumns.put("survey_type", new Atom<>("on-chan"));
|
||||||
// updateColumns.put("threshold", thresholds );
|
// updateColumns.put("threshold", thresholds );
|
||||||
|
|
||||||
row = new Row(updateColumns);
|
row = new Row(updateColumns);
|
||||||
@@ -1759,7 +1723,8 @@ public class OvsdbDao {
|
|||||||
updateColumns = new HashMap<>();
|
updateColumns = new HashMap<>();
|
||||||
updateColumns.put("radio_type", new Atom<>(band));
|
updateColumns.put("radio_type", new Atom<>(band));
|
||||||
updateColumns.put("reporting_interval", new Atom<>(120));
|
updateColumns.put("reporting_interval", new Atom<>(120));
|
||||||
updateColumns.put("sampling_interval", new Atom<>(0));
|
updateColumns.put("sampling_interval", new Atom<>(10));
|
||||||
|
updateColumns.put("report_type", new Atom<>("average"));
|
||||||
updateColumns.put("stats_type", new Atom<>("rssi"));
|
updateColumns.put("stats_type", new Atom<>("rssi"));
|
||||||
updateColumns.put("survey_interval_ms", new Atom<>(0));
|
updateColumns.put("survey_interval_ms", new Atom<>(0));
|
||||||
updateColumns.put("survey_type", new Atom<>("on-chan"));
|
updateColumns.put("survey_type", new Atom<>("on-chan"));
|
||||||
|
|||||||
Reference in New Issue
Block a user