FlowRule api no longer uses TableTypes. Existing usages are converted to
integer representations via Type.ordinal() call
Change-Id: Ie2a26c5ced166e12f0e1ea22e39cd5195455a1ad
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer13.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer13.java
index f0ce1f4..30711ad 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer13.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer13.java
@@ -124,7 +124,7 @@
.setMatch(match)
.setFlags(Collections.singleton(OFFlowModFlags.SEND_FLOW_REM))
.setPriority(flowRule().priority())
- .setTableId(TableId.of(flowRule().type().ordinal()))
+ .setTableId(TableId.of(flowRule().tableId()))
.build();
return fm;
@@ -161,7 +161,7 @@
.setMatch(match)
.setFlags(Collections.singleton(OFFlowModFlags.SEND_FLOW_REM))
.setPriority(flowRule().priority())
- .setTableId(TableId.of(flowRule().type().ordinal()))
+ .setTableId(TableId.of(flowRule().tableId()))
.build();
return fm;
@@ -180,7 +180,7 @@
.setMatch(match)
.setFlags(Collections.singleton(OFFlowModFlags.SEND_FLOW_REM))
.setPriority(flowRule().priority())
- .setTableId(TableId.of(flowRule().type().ordinal()))
+ .setTableId(TableId.of(flowRule().tableId()))
.build();
return fm;
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
index d19a231..32042fe 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
@@ -144,11 +144,11 @@
private void applyRule(FlowRule flowRule) {
OpenFlowSwitch sw = controller.getSwitch(Dpid.dpid(flowRule.deviceId().uri()));
- if (flowRule.type() == FlowRule.Type.DEFAULT) {
+ if (flowRule.tableId() == 0) {
sw.sendMsg(FlowModBuilder.builder(flowRule, sw.factory(),
Optional.empty()).buildFlowAdd());
} else {
- OpenFlowSwitch.TableType type = getTableType(flowRule.type());
+ OpenFlowSwitch.TableType type = getTableType(flowRule.tableId());
sw.transformAndSendMsg(FlowModBuilder.builder(flowRule, sw.factory(),
Optional.empty()).buildFlowAdd(),
type);
@@ -166,12 +166,12 @@
private void removeRule(FlowRule flowRule) {
OpenFlowSwitch sw = controller.getSwitch(Dpid.dpid(flowRule.deviceId().uri()));
- if (flowRule.type() == FlowRule.Type.DEFAULT) {
+ if (flowRule.tableId() == 0) {
sw.sendMsg(FlowModBuilder.builder(flowRule, sw.factory(),
Optional.empty()).buildFlowDel());
} else {
sw.transformAndSendMsg(FlowModBuilder.builder(flowRule, sw.factory(),
- Optional.empty()).buildFlowDel(), getTableType(flowRule.type()));
+ Optional.empty()).buildFlowDel(), getTableType(flowRule.tableId()));
}
}
@@ -211,10 +211,10 @@
fbe.operator(), fbe);
continue;
}
- if (fbe.target().type() == FlowRule.Type.DEFAULT) {
+ if (fbe.target().tableId() == 0) {
sw.sendMsg(mod);
} else {
- sw.transformAndSendMsg(mod, getTableType(fbe.target().type()));
+ sw.transformAndSendMsg(mod, getTableType(fbe.target().tableId()));
}
}
OFBarrierRequest.Builder builder = sw.factory()
@@ -223,8 +223,8 @@
sw.sendMsg(builder.build());
}
- private OpenFlowSwitch.TableType getTableType(FlowRule.Type type) {
- switch (type) {
+ private OpenFlowSwitch.TableType getTableType(int type) {
+ switch (FlowRule.Type.values()[type]) {
case DEFAULT:
return OpenFlowSwitch.TableType.NONE;