fixes for office deployment
Change-Id: I322dc856cb2f724e1860f3e30b3bcb5445c8fb65
diff --git a/openflow/api/src/main/java/org/onlab/onos/openflow/controller/DefaultOpenFlowPacketContext.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/DefaultOpenFlowPacketContext.java
index 4cd29c4..0f69bac 100644
--- a/openflow/api/src/main/java/org/onlab/onos/openflow/controller/DefaultOpenFlowPacketContext.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/DefaultOpenFlowPacketContext.java
@@ -48,7 +48,7 @@
OFPacketOut.Builder builder = sw.factory().buildPacketOut();
OFAction act = buildOutput(outPort.getPortNumber());
pktout = builder.setXid(pktin.getXid())
- .setInPort(pktin.getInPort())
+ .setInPort(inport())
.setBufferId(pktin.getBufferId())
.setActions(Collections.singletonList(act))
.build();
@@ -63,7 +63,7 @@
OFAction act = buildOutput(outPort.getPortNumber());
pktout = builder.setXid(pktin.getXid())
.setBufferId(OFBufferId.NO_BUFFER)
- .setInPort(pktin.getInPort())
+ .setInPort(inport())
.setActions(Collections.singletonList(act))
.setData(ethFrame.serialize())
.build();
@@ -88,10 +88,16 @@
@Override
public Integer inPort() {
+ return inport().getPortNumber();
+ }
+
+
+ private OFPort inport() {
+ //FIXME: this has to change in fucking loxi
try {
- return pktin.getInPort().getPortNumber();
+ return pktin.getInPort();
} catch (UnsupportedOperationException e) {
- return pktin.getMatch().get(MatchField.IN_PORT).getPortNumber();
+ return pktin.getMatch().get(MatchField.IN_PORT);
}
}