.setCookie(new FlowCookie(input.getCookie()))
.setNode(new NodeRef(deviceState.getNodeInstanceIdentifier()))
.setPriority(input.getPriority())
- .setTableId(input.getTableId().getValue().shortValue());
+ .setTableId(translateTableId(input));
return flowRemovedBld.build();
}
return MatchConvertorImpl.fromOFMatchToSALMatch(flowRemoved.getMatch(),
deviceState.getFeatures().getDatapathId(), OpenflowVersion.OF13);
}
+
+ /**
+ * Translate the table ID in the FLOW_REMOVED message to SAL table ID.
+ *
+ * @param flowRemoved FLOW_REMOVED message.
+ * @return SAL table ID.
+ */
+ protected Short translateTableId(FlowRemoved flowRemoved) {
+ return flowRemoved.getTableId().getValue().shortValue();
+ }
}
return MatchConvertorImpl.fromOFMatchV10ToSALMatch(flowRemoved.getMatchV10(),
deviceState.getFeatures().getDatapathId(), OpenflowVersion.OF10);
}
+
+ /**
+ * Always returns zero because OF10 FLOW_REMOVED doesn't contain table ID.
+ *
+ * @param flowRemoved FLOW_REMOVED message.
+ * @return Zero.
+ */
+ @Override
+ protected Short translateTableId(FlowRemoved flowRemoved) {
+ return Short.valueOf((short)0);
+ }
}
assertEquals(flowRemovedMessage.getCookie(), flowRemoved.getCookie().getValue());
assertEquals(flowRemovedMessage.getPriority(), flowRemoved.getPriority());
- assertEquals((long)flowRemovedMessage.getTableId().getValue(), (long)flowRemoved.getTableId());
+ assertEquals((short)0, flowRemoved.getTableId().shortValue());
}
private org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.FlowRemoved buildMessage(boolean isV10) {
FlowRemovedMessageBuilder builder = new FlowRemovedMessageBuilder()
.setCookie(BigInteger.ONE)
- .setPriority(1)
- .setTableId(new TableId(42l));
+ .setPriority(1);
if (isV10) {
builder.setMatchV10(new MatchV10Builder().setWildcards(flowWildcards).build());
} else {
- builder.setMatch(new MatchBuilder().setMatchEntry(Collections.<MatchEntry>emptyList()).build());
+ builder.setMatch(new MatchBuilder().setMatchEntry(Collections.<MatchEntry>emptyList()).build())
+ .setTableId(new TableId(42l));
}
return builder.build();
}
-}
\ No newline at end of file
+}