Bug fixes for optical use case.
Change-Id: I62bff2ec639957043890bf06b8ba0d9abe0b6b04
diff --git a/apps/optical-model/src/main/java/org/onosproject/net/optical/intent/impl/compiler/OpticalPathIntentCompiler.java b/apps/optical-model/src/main/java/org/onosproject/net/optical/intent/impl/compiler/OpticalPathIntentCompiler.java
index 8b17246..614ab90 100644
--- a/apps/optical-model/src/main/java/org/onosproject/net/optical/intent/impl/compiler/OpticalPathIntentCompiler.java
+++ b/apps/optical-model/src/main/java/org/onosproject/net/optical/intent/impl/compiler/OpticalPathIntentCompiler.java
@@ -123,7 +123,7 @@
for (Link link : intent.path().links()) {
TrafficTreatment.Builder treatmentBuilder = DefaultTrafficTreatment.builder();
- if (!isTransparent(link.src().deviceId())) {
+ if (!isTransparent(current.deviceId())) {
treatmentBuilder.add(Instructions.modL0Lambda(intent.lambda()));
}
treatmentBuilder.setOutput(link.src().port());
@@ -136,6 +136,7 @@
.fromApp(appId)
.makePermanent()
.build();
+ selectorBuilder = DefaultTrafficSelector.builder();
if (!isNoFlowRule(current.deviceId())) {
rules.add(rule);
@@ -143,7 +144,7 @@
current = link.dst();
selectorBuilder.matchInPort(link.dst().port());
- if (!isTransparent(link.dst().deviceId())) {
+ if (!isTransparent(current.deviceId())) {
selectorBuilder.add(Criteria.matchLambda(intent.lambda()));
selectorBuilder.add(Criteria.matchOchSignalType(intent.signalType()));
}
@@ -184,7 +185,7 @@
for (Link link : Lists.reverse(intent.path().links())) {
TrafficTreatment.Builder treatmentBuilder = DefaultTrafficTreatment.builder();
- if (isTransparent(link.dst().deviceId())) {
+ if (!isTransparent(current.deviceId())) {
treatmentBuilder.add(Instructions.modL0Lambda(intent.lambda()));
}
treatmentBuilder.setOutput(link.dst().port());
@@ -197,6 +198,7 @@
.fromApp(appId)
.makePermanent()
.build();
+ selectorBuilder = DefaultTrafficSelector.builder();
if (!isNoFlowRule(current.deviceId())) {
rules.add(rule);
@@ -204,7 +206,7 @@
current = link.src();
selectorBuilder.matchInPort(link.src().port());
- if (isTransparent(link.src().deviceId())) {
+ if (!isTransparent(current.deviceId())) {
selectorBuilder.add(Criteria.matchLambda(intent.lambda()));
selectorBuilder.add(Criteria.matchOchSignalType(intent.signalType()));
}