WIP: Adding PathInstallRuntime for installing flow entries using FlowPusher
I also had to add several methods to our base classes to do type conversion,
which is a bit messy. Also, do to naming overlaps, we need to have some fully
specified class names.
Adding IntentRuntime service to drive the runtimes.
Change-Id: I675fbfe243b0bf18536425dfd9f9e6e5ca795845
diff --git a/src/main/java/net/onrc/onos/intent/FlowEntry.java b/src/main/java/net/onrc/onos/intent/FlowEntry.java
index 4c52324..14d1038 100644
--- a/src/main/java/net/onrc/onos/intent/FlowEntry.java
+++ b/src/main/java/net/onrc/onos/intent/FlowEntry.java
@@ -6,6 +6,9 @@
import net.floodlightcontroller.util.MACAddress;
import net.onrc.onos.ofcontroller.networkgraph.Port;
import net.onrc.onos.ofcontroller.networkgraph.Switch;
+import net.onrc.onos.ofcontroller.util.Dpid;
+import net.onrc.onos.ofcontroller.util.FlowEntryActions;
+import net.onrc.onos.ofcontroller.util.FlowEntryId;
/**
*
@@ -29,4 +32,21 @@
public String toString() {
return match + "->" + actions;
}
+
+ public Switch getSwitch() {
+ return sw;
+ }
+
+ public net.onrc.onos.ofcontroller.util.FlowEntry getFlowEntry() {
+ net.onrc.onos.ofcontroller.util.FlowEntry entry = new net.onrc.onos.ofcontroller.util.FlowEntry();
+ entry.setDpid(new Dpid(sw.getDpid()));
+ entry.setFlowEntryId(new FlowEntryId(0)); // all zero for now
+ entry.setFlowEntryMatch(match.getFlowEntryMatch());
+ FlowEntryActions flowEntryActions = new FlowEntryActions();
+ for(Action action : actions) {
+ flowEntryActions.addAction(action.getFlowEntryAction());
+ }
+ entry.setFlowEntryActions(flowEntryActions);
+ return entry;
+ }
}
\ No newline at end of file