[ONOS-7885] Adding Terminal_device device Type
Change-Id: I42a8f8aeef73e1d51d4b5128b9eb7e8879d0418c
diff --git a/apps/newoptical/src/main/java/org/onosproject/newoptical/OpticalPathProvisioner.java b/apps/newoptical/src/main/java/org/onosproject/newoptical/OpticalPathProvisioner.java
index f39b01a..abedb45 100644
--- a/apps/newoptical/src/main/java/org/onosproject/newoptical/OpticalPathProvisioner.java
+++ b/apps/newoptical/src/main/java/org/onosproject/newoptical/OpticalPathProvisioner.java
@@ -563,11 +563,11 @@
* Verifies if given device type is NOT in packet layer, i.e., switch or router device.
*
* @param type device type
- * @return true if in packet layer, false otherwise
+ * @return true if in optical layer, false otherwise
*/
private boolean isTransportLayer(Device.Type type) {
return type == Device.Type.ROADM || type == Device.Type.OTN || type == Device.Type.ROADM_OTN ||
- type == Device.Type.OLS;
+ type == Device.Type.OLS || type == Device.Type.TERMINAL_DEVICE;
}
/**
diff --git a/apps/optical-model/src/main/java/org/onosproject/net/optical/util/OpticalIntentUtility.java b/apps/optical-model/src/main/java/org/onosproject/net/optical/util/OpticalIntentUtility.java
index 758db56..4a6af72 100644
--- a/apps/optical-model/src/main/java/org/onosproject/net/optical/util/OpticalIntentUtility.java
+++ b/apps/optical-model/src/main/java/org/onosproject/net/optical/util/OpticalIntentUtility.java
@@ -34,6 +34,7 @@
import org.onosproject.net.intent.OpticalOduIntent;
import org.onosproject.net.optical.OchPort;
+import static org.onosproject.net.Device.Type;
import static org.onosproject.net.optical.device.OpticalDeviceServiceView.opticalView;
import org.slf4j.Logger;
@@ -90,9 +91,9 @@
}
CltSignalType signalType = ((OduCltPort) srcPort).signalType();
- if (Device.Type.ROADM.equals(srcDevice.type()) ||
- Device.Type.ROADM_OTN.equals(srcDevice.type()) ||
- Device.Type.OLS.equals(srcDevice.type())) {
+ if (Type.ROADM.equals(srcDevice.type()) ||
+ Type.ROADM_OTN.equals(srcDevice.type()) ||
+ Type.OLS.equals(srcDevice.type())) {
intent = OpticalCircuitIntent.builder()
.appId(appId)
.key(key)
@@ -101,7 +102,7 @@
.signalType(signalType)
.bidirectional(bidirectional)
.build();
- } else if (Device.Type.OTN.equals(srcDevice.type())) {
+ } else if (Type.OTN.equals(srcDevice.type()) || Type.TERMINAL_DEVICE.equals(srcDevice.type())) {
intent = OpticalOduIntent.builder()
.appId(appId)
.key(key)
@@ -173,9 +174,9 @@
}
CltSignalType signalType = ((OduCltPort) srcPort).signalType();
- if (Device.Type.ROADM.equals(srcDevice.type()) ||
- Device.Type.ROADM_OTN.equals(srcDevice.type()) ||
- Device.Type.OLS.equals(srcDevice.type())) {
+ if (Type.ROADM.equals(srcDevice.type()) ||
+ Type.ROADM_OTN.equals(srcDevice.type()) ||
+ Type.OLS.equals(srcDevice.type())) {
intent = OpticalCircuitIntent.builder()
.appId(appId)
.key(key)
@@ -184,7 +185,7 @@
.signalType(signalType)
.bidirectional(bidirectional)
.build();
- } else if (Device.Type.OTN.equals(srcDevice.type())) {
+ } else if (Type.OTN.equals(srcDevice.type()) || Type.TERMINAL_DEVICE.equals(srcDevice.type())) {
intent = OpticalOduIntent.builder()
.appId(appId)
.key(key)
diff --git a/core/api/src/main/java/org/onosproject/net/Device.java b/core/api/src/main/java/org/onosproject/net/Device.java
index da9a72e..e0a3d69 100644
--- a/core/api/src/main/java/org/onosproject/net/Device.java
+++ b/core/api/src/main/java/org/onosproject/net/Device.java
@@ -27,7 +27,8 @@
*/
enum Type {
SWITCH, ROUTER, ROADM, OTN, ROADM_OTN, FIREWALL, BALANCER, IPS, IDS, CONTROLLER,
- VIRTUAL, FIBER_SWITCH, MICROWAVE, OLT, ONU, OPTICAL_AMPLIFIER, OLS, OTHER, SERVER
+ VIRTUAL, FIBER_SWITCH, MICROWAVE, OLT, ONU, OPTICAL_AMPLIFIER, OLS, TERMINAL_DEVICE,
+ OTHER, SERVER
}
/**
diff --git a/core/net/src/main/java/org/onosproject/net/device/impl/DeviceManager.java b/core/net/src/main/java/org/onosproject/net/device/impl/DeviceManager.java
index 513e648..0f0069e 100644
--- a/core/net/src/main/java/org/onosproject/net/device/impl/DeviceManager.java
+++ b/core/net/src/main/java/org/onosproject/net/device/impl/DeviceManager.java
@@ -707,8 +707,8 @@
log.trace("Device not found: {}", deviceId);
return;
}
- if ((Device.Type.ROADM.equals(device.type())) ||
- (Device.Type.OTN.equals(device.type())) || (Device.Type.OLS.equals(device.type()))) {
+ if ((Type.ROADM.equals(device.type())) || (Type.OTN.equals(device.type())) ||
+ (Type.OLS.equals(device.type())) || (Type.TERMINAL_DEVICE.equals(device.type()))) {
// FIXME This is ignoring all other info in portDescription given as input??
PortDescription storedPortDesc = store.getPortDescription(provider().id(),
deviceId,
diff --git a/core/protobuf/models/proto/net/device/DeviceEnumsProto.proto b/core/protobuf/models/proto/net/device/DeviceEnumsProto.proto
index aaecef0..e74503c 100644
--- a/core/protobuf/models/proto/net/device/DeviceEnumsProto.proto
+++ b/core/protobuf/models/proto/net/device/DeviceEnumsProto.proto
@@ -34,6 +34,7 @@
FIBER_SWITCH = 12;
MICROWAVE = 13;
OLS = 14;
+ TERMINAL_DEVICE = 15;
}
enum DeviceEventTypeProto {
diff --git a/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/CassiniTerminalDeviceDiscovery.java b/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/CassiniTerminalDeviceDiscovery.java
index ca7fbc2..acb6c4a 100644
--- a/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/CassiniTerminalDeviceDiscovery.java
+++ b/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/CassiniTerminalDeviceDiscovery.java
@@ -140,7 +140,7 @@
@Override
public DeviceDescription discoverDeviceDetails() {
return new DefaultDeviceDescription(handler().data().deviceId().uri(),
- Device.Type.OTN,
+ Device.Type.TERMINAL_DEVICE,
"EDGECORE",
"Cassini",
"OcNOS",
diff --git a/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/InfineraOpenConfigDeviceDiscovery.java b/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/InfineraOpenConfigDeviceDiscovery.java
index 55eb6c7..e137b92 100644
--- a/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/InfineraOpenConfigDeviceDiscovery.java
+++ b/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/InfineraOpenConfigDeviceDiscovery.java
@@ -64,7 +64,7 @@
@Override
public DeviceDescription discoverDeviceDetails() {
return new DefaultDeviceDescription(handler().data().deviceId().uri(),
- Device.Type.OTN, "Infinera", "XT-3300",
+ Device.Type.TERMINAL_DEVICE, "Infinera", "XT-3300",
"unknown", "unknown", new ChassisId());
}
diff --git a/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/OpenConfigDeviceDiscovery.java b/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/OpenConfigDeviceDiscovery.java
index fa5b14e..086c5ab 100644
--- a/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/OpenConfigDeviceDiscovery.java
+++ b/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/OpenConfigDeviceDiscovery.java
@@ -64,7 +64,7 @@
@Override
public DeviceDescription discoverDeviceDetails() {
return new DefaultDeviceDescription(handler().data().deviceId().uri(),
- Device.Type.OTN, "unknown", "unknown",
+ Device.Type.TERMINAL_DEVICE, "unknown", "unknown",
"unknown", "unknown", new ChassisId());
}
diff --git a/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/openconfig/TerminalDeviceDiscovery.java b/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/openconfig/TerminalDeviceDiscovery.java
index b65f15c..36926e8 100644
--- a/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/openconfig/TerminalDeviceDiscovery.java
+++ b/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/openconfig/TerminalDeviceDiscovery.java
@@ -257,7 +257,7 @@
// Other option "OTHER", we use ROADM for now
org.onosproject.net.Device.Type type =
- org.onosproject.net.Device.Type.ROADM;
+ Device.Type.TERMINAL_DEVICE;
// Some defaults
String vendor = "NOVENDOR";
diff --git a/providers/lldp/src/main/java/org/onosproject/provider/lldp/impl/LldpLinkProvider.java b/providers/lldp/src/main/java/org/onosproject/provider/lldp/impl/LldpLinkProvider.java
index 4f44307..768c207 100644
--- a/providers/lldp/src/main/java/org/onosproject/provider/lldp/impl/LldpLinkProvider.java
+++ b/providers/lldp/src/main/java/org/onosproject/provider/lldp/impl/LldpLinkProvider.java
@@ -189,7 +189,8 @@
Device.Type.FIBER_SWITCH,
Device.Type.OPTICAL_AMPLIFIER,
Device.Type.OTN,
- Device.Type.OLS),
+ Device.Type.OLS,
+ Device.Type.TERMINAL_DEVICE),
ImmutableMap.of(NO_LLDP, SuppressionRules.ANY_VALUE));
private SuppressionRules rules = LldpLinkProvider.DEFAULT_RULES;
diff --git a/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/OpenFlowMeterProvider.java b/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/OpenFlowMeterProvider.java
index 0767230..ca34e10 100644
--- a/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/OpenFlowMeterProvider.java
+++ b/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/OpenFlowMeterProvider.java
@@ -121,7 +121,9 @@
ImmutableSet.copyOf(EnumSet.of(Device.Type.ROADM,
Device.Type.ROADM_OTN,
Device.Type.FIBER_SWITCH,
- Device.Type.OTN));
+ Device.Type.OTN,
+ Device.Type.OLS,
+ Device.Type.TERMINAL_DEVICE));
/**
* Creates a OpenFlow meter provider.
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandler.java b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandler.java
index 021e4e1..5f30bf8 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandler.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandler.java
@@ -775,14 +775,16 @@
// Send optical first, others later for layered rendering
for (Device device : services.device().getDevices()) {
if ((device.type() == Device.Type.ROADM) ||
- (device.type() == Device.Type.OTN) || (device.type() == Device.Type.OLS)) {
+ (device.type() == Device.Type.OTN) ||
+ (device.type() == Device.Type.OLS) ||
+ (device.type() == Device.Type.TERMINAL_DEVICE)) {
sendMessage(deviceMessage(new DeviceEvent(DEVICE_ADDED, device)));
}
}
for (Device device : services.device().getDevices()) {
if ((device.type() != Device.Type.ROADM) &&
(device.type() != Device.Type.OTN) && (device.type() != Device.Type.OLS) &&
- (device.type() != Device.Type.CONTROLLER)) {
+ (device.type() != Device.Type.TERMINAL_DEVICE) && (device.type() != Device.Type.CONTROLLER)) {
sendMessage(deviceMessage(new DeviceEvent(DEVICE_ADDED, device)));
}
}
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java
index 6f370b8..994f014 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java
@@ -142,6 +142,7 @@
DEVICE_GLYPHS.put(Device.Type.ROADM, "m_roadm");
DEVICE_GLYPHS.put(Device.Type.OLS, "m_roadm");
DEVICE_GLYPHS.put(Device.Type.OTN, "m_otn");
+ DEVICE_GLYPHS.put(Device.Type.TERMINAL_DEVICE, "m_otn");
DEVICE_GLYPHS.put(Device.Type.ROADM_OTN, "m_roadm_otn");
DEVICE_GLYPHS.put(Device.Type.BALANCER, "m_balancer");
DEVICE_GLYPHS.put(Device.Type.IPS, "m_ips");
diff --git a/web/gui/src/main/webapp/app/view/topo/topoD3.js b/web/gui/src/main/webapp/app/view/topo/topoD3.js
index 15499a5..1b73fbf 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoD3.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoD3.js
@@ -74,6 +74,8 @@
'switch': 'm_switch',
roadm: 'm_roadm',
otn: 'm_otn',
+ ols: 'm_roadm',
+ terminal_device: 'm_otn',
roadm_otn: 'm_roadm_otn',
fiber_switch: 'm_fiberSwitch',
microwave: 'm_microwave',
diff --git a/web/gui/src/main/webapp/app/view/topo/topoFilter.js b/web/gui/src/main/webapp/app/view/topo/topoFilter.js
index b5a5283..5e4d43a 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoFilter.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoFilter.js
@@ -52,6 +52,9 @@
router: 'pkt',
roadm: 'opt',
otn: 'opt',
+ ols: 'opt',
+ terminal_device: 'opt',
+ roadm_otn: 'opt',
},
link: {
hostLink: 'pkt',