Thomas Vachuska

Fixing GUI to work with the new flow objective intents.

Fixing onos-check-flows script; it was broken badly.

Change-Id: I0962dcf879a1030449ac7cd5c0b19c211d5f36df
...@@ -6,16 +6,14 @@ ...@@ -6,16 +6,14 @@
6 aux=/tmp/stc-$$.log 6 aux=/tmp/stc-$$.log
7 trap "rm -f $aux 2>/dev/null" EXIT 7 trap "rm -f $aux 2>/dev/null" EXIT
8 8
9 -onos ${1:-$OCI} "onos:flows" > $aux
10 -cat $aux
11 -
12 for i in {1..5}; do 9 for i in {1..5}; do
13 - let status=0 10 + onos ${1:-$OCI} "onos:flows" > $aux
14 - grep "PENDING_" $aux && let status=status+1 11 + if grep "PENDING_" $aux; then
15 - if [ "$status" == "0" ] 12 + sleep 5
16 - then 13 + else
14 + cat $aux
17 exit 0 15 exit 0
18 fi 16 fi
19 - sleep 5
20 done 17 done
18 +cat $aux
21 exit 1 19 exit 1
......
...@@ -29,6 +29,7 @@ import org.onosproject.net.flow.FlowEntry; ...@@ -29,6 +29,7 @@ import org.onosproject.net.flow.FlowEntry;
29 import org.onosproject.net.flow.TrafficTreatment; 29 import org.onosproject.net.flow.TrafficTreatment;
30 import org.onosproject.net.flow.instructions.Instruction; 30 import org.onosproject.net.flow.instructions.Instruction;
31 import org.onosproject.net.flow.instructions.Instructions.OutputInstruction; 31 import org.onosproject.net.flow.instructions.Instructions.OutputInstruction;
32 +import org.onosproject.net.intent.FlowObjectiveIntent;
32 import org.onosproject.net.intent.FlowRuleIntent; 33 import org.onosproject.net.intent.FlowRuleIntent;
33 import org.onosproject.net.intent.Intent; 34 import org.onosproject.net.intent.Intent;
34 import org.onosproject.net.intent.LinkCollectionIntent; 35 import org.onosproject.net.intent.LinkCollectionIntent;
...@@ -572,6 +573,8 @@ public class TrafficMonitor { ...@@ -572,6 +573,8 @@ public class TrafficMonitor {
572 links = ((PathIntent) installable).path().links(); 573 links = ((PathIntent) installable).path().links();
573 } else if (installable instanceof FlowRuleIntent) { 574 } else if (installable instanceof FlowRuleIntent) {
574 links = linkResources(installable); 575 links = linkResources(installable);
576 + } else if (installable instanceof FlowObjectiveIntent) {
577 + links = linkResources(installable);
575 } else if (installable instanceof LinkCollectionIntent) { 578 } else if (installable instanceof LinkCollectionIntent) {
576 links = ((LinkCollectionIntent) installable).links(); 579 links = ((LinkCollectionIntent) installable).links();
577 } else if (installable instanceof OpticalPathIntent) { 580 } else if (installable instanceof OpticalPathIntent) {
......
...@@ -24,6 +24,7 @@ import org.onosproject.net.Link; ...@@ -24,6 +24,7 @@ import org.onosproject.net.Link;
24 import org.onosproject.net.device.DeviceService; 24 import org.onosproject.net.device.DeviceService;
25 import org.onosproject.net.flow.FlowRule; 25 import org.onosproject.net.flow.FlowRule;
26 import org.onosproject.net.host.HostService; 26 import org.onosproject.net.host.HostService;
27 +import org.onosproject.net.intent.FlowObjectiveIntent;
27 import org.onosproject.net.intent.FlowRuleIntent; 28 import org.onosproject.net.intent.FlowRuleIntent;
28 import org.onosproject.net.intent.HostToHostIntent; 29 import org.onosproject.net.intent.HostToHostIntent;
29 import org.onosproject.net.intent.Intent; 30 import org.onosproject.net.intent.Intent;
...@@ -180,6 +181,10 @@ public class TopoIntentFilter { ...@@ -180,6 +181,10 @@ public class TopoIntentFilter {
180 if (rulesContainDevice(flowRuleIntent.flowRules(), device.id())) { 181 if (rulesContainDevice(flowRuleIntent.flowRules(), device.id())) {
181 return true; 182 return true;
182 } 183 }
184 + } else if (installable instanceof FlowObjectiveIntent) {
185 + FlowObjectiveIntent objectiveIntent = (FlowObjectiveIntent) installable;
186 + return objectiveIntent.devices().contains(device.id());
187 +
183 } else if (installable instanceof LinkCollectionIntent) { 188 } else if (installable instanceof LinkCollectionIntent) {
184 LinkCollectionIntent linksIntent = (LinkCollectionIntent) installable; 189 LinkCollectionIntent linksIntent = (LinkCollectionIntent) installable;
185 if (pathContainsDevice(linksIntent.links(), device.id())) { 190 if (pathContainsDevice(linksIntent.links(), device.id())) {
......