Bug fixes for optical use case.
Change-Id: I62bff2ec639957043890bf06b8ba0d9abe0b6b04
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 65499f4..8dcbeff 100644
--- a/apps/newoptical/src/main/java/org/onosproject/newoptical/OpticalPathProvisioner.java
+++ b/apps/newoptical/src/main/java/org/onosproject/newoptical/OpticalPathProvisioner.java
@@ -279,6 +279,11 @@
// Search path with available cross connect points
for (Path path : paths) {
+ // Path service calculates from node to node, we're only interested in port to port
+ if (!path.src().equals(ingress) || !path.dst().equals(egress)) {
+ continue;
+ }
+
OpticalConnectivityId id = setupPath(path, bandwidth, latency);
if (id != null) {
log.info("Assigned OpticalConnectivityId: {}", id);
@@ -455,7 +460,7 @@
.src(src)
.dst(dst)
.signalType(srcOCPort.signalType())
- .bidirectional(true)
+ .bidirectional(false)
.build();
intents.add(circuitIntent);
} else if (srcPort instanceof OchPort && dstPort instanceof OchPort) {
@@ -471,7 +476,7 @@
.src(src)
.dst(dst)
.signalType(srcOchPort.signalType())
- .bidirectional(true)
+ .bidirectional(false)
.build();
intents.add(opticalIntent);
} else {
@@ -668,16 +673,14 @@
if (hasEnoughBandwidth(l.src()) && hasEnoughBandwidth(l.dst())) {
return 1.0;
} else {
- log.trace("Not enought bandwidth on {}", l);
+ log.trace("Not enough bandwidth on {}", l);
return -1.0;
}
} else {
- // TODO needs to differentiate optical and packet?
- if (l.type() == Link.Type.OPTICAL) {
- // Transport links
- return 1.0;
+ // Use everything except our own indirect links
+ if (l.type() == Link.Type.INDIRECT) {
+ return -1.0;
} else {
- // Packet links
return 1.0;
}
}
@@ -844,7 +847,8 @@
BasicLinkConfig.class);
lnkCfg.isAllowed(true);
lnkCfg.isDurable(true);
- lnkCfg.type(Link.Type.DIRECT);
+ lnkCfg.type(Link.Type.INDIRECT);
+ lnkCfg.isBidirectional(false);
lnkCfg.apply();
} catch (Exception ex) {
log.error("Applying BasicLinkConfig failed", ex);