Merge remote-tracking branch 'origin/master'
diff --git a/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/FlowModBuilderVer13.java b/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/FlowModBuilderVer13.java
index f16ee26..37bdc19 100644
--- a/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/FlowModBuilderVer13.java
+++ b/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/FlowModBuilderVer13.java
@@ -40,7 +40,6 @@
import org.projectfloodlight.openflow.protocol.OFFlowMod;
import org.projectfloodlight.openflow.protocol.OFFlowModFlags;
import org.projectfloodlight.openflow.protocol.action.OFAction;
-import org.projectfloodlight.openflow.protocol.instruction.OFInstruction;
import org.projectfloodlight.openflow.protocol.match.Match;
import org.projectfloodlight.openflow.protocol.oxm.OFOxm;
import org.projectfloodlight.openflow.types.CircuitSignalID;
@@ -78,8 +77,15 @@
@Override
public OFFlowAdd buildFlowAdd() {
Match match = buildMatch();
- OFInstruction writeActions =
- factory().instructions().writeActions(buildActions());
+ List<OFAction> actions = buildActions();
+
+ // FIXME had to revert back to using apply-actions instead of
+ // write-actions because LINC-OE apparently doesn't support
+ // write-actions. I would prefer to change this back in the future
+ // because apply-actions is an optional instruction in OF 1.3.
+
+ //OFInstruction writeActions =
+ //factory().instructions().writeActions(actions);
long cookie = flowRule().id().value();
@@ -88,7 +94,8 @@
.setXid(cookie)
.setCookie(U64.of(cookie))
.setBufferId(OFBufferId.NO_BUFFER)
- .setInstructions(Collections.singletonList(writeActions))
+ .setActions(actions)
+ //.setInstructions(Collections.singletonList(writeActions))
.setMatch(match)
.setFlags(Collections.singleton(OFFlowModFlags.SEND_FLOW_REM))
.setPriority(flowRule().priority())
@@ -100,8 +107,9 @@
@Override
public OFFlowMod buildFlowMod() {
Match match = buildMatch();
- OFInstruction writeActions =
- factory().instructions().writeActions(buildActions());
+ List<OFAction> actions = buildActions();
+ //OFInstruction writeActions =
+ //factory().instructions().writeActions(actions);
long cookie = flowRule().id().value();
@@ -110,7 +118,8 @@
.setXid(cookie)
.setCookie(U64.of(cookie))
.setBufferId(OFBufferId.NO_BUFFER)
- .setInstructions(Collections.singletonList(writeActions))
+ .setActions(actions)
+ //.setInstructions(Collections.singletonList(writeActions))
.setMatch(match)
.setFlags(Collections.singleton(OFFlowModFlags.SEND_FLOW_REM))
.setPriority(flowRule().priority())
@@ -122,8 +131,9 @@
@Override
public OFFlowDelete buildFlowDel() {
Match match = buildMatch();
- OFInstruction writeActions =
- factory().instructions().writeActions(buildActions());
+ List<OFAction> actions = buildActions();
+ //OFInstruction writeActions =
+ //factory().instructions().writeActions(actions);
long cookie = flowRule().id().value();
@@ -131,7 +141,8 @@
.setXid(cookie)
.setCookie(U64.of(cookie))
.setBufferId(OFBufferId.NO_BUFFER)
- .setInstructions(Collections.singletonList(writeActions))
+ .setActions(actions)
+ //.setInstructions(Collections.singletonList(writeActions))
.setMatch(match)
.setFlags(Collections.singleton(OFFlowModFlags.SEND_FLOW_REM))
.setPriority(flowRule().priority())