OpenFlow message processing for new loxi
Depends-On: Id69c8597eb4564653c56cdc90f2dcec50afbdd25
Change-Id: Ib14fbadd3debf98ce1d56343179f8e7929f8ade8
diff --git a/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/MeterModBuilder.java b/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/MeterModBuilder.java
index 406337b..a26e05a 100644
--- a/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/MeterModBuilder.java
+++ b/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/MeterModBuilder.java
@@ -28,8 +28,10 @@
import org.slf4j.Logger;
import java.util.Collection;
+import java.util.EnumSet;
import java.util.List;
import java.util.Objects;
+import java.util.Set;
import java.util.stream.Collectors;
import static com.google.common.base.Preconditions.checkArgument;
@@ -82,37 +84,36 @@
public OFMeterMod add() {
validate();
OFMeterMod.Builder builder = builderMeterMod();
- builder.setCommand(OFMeterModCommand.ADD.ordinal());
+ builder.setCommand(OFMeterModCommand.ADD);
return builder.build();
}
public OFMeterMod remove() {
validate();
OFMeterMod.Builder builder = builderMeterMod();
- builder.setCommand(OFMeterModCommand.DELETE.ordinal());
+ builder.setCommand(OFMeterModCommand.DELETE);
return builder.build();
}
public OFMeterMod modify() {
validate();
OFMeterMod.Builder builder = builderMeterMod();
- builder.setCommand(OFMeterModCommand.MODIFY.ordinal());
+ builder.setCommand(OFMeterModCommand.MODIFY);
return builder.build();
}
private OFMeterMod.Builder builderMeterMod() {
OFMeterMod.Builder builder = factory.buildMeterMod();
- int flags = 0;
+ Set<OFMeterFlags> flags = EnumSet.noneOf(OFMeterFlags.class);
if (burst) {
- // covering loxi short comings.
- flags |= 1 << OFMeterFlags.BURST.ordinal();
+ flags.add(OFMeterFlags.BURST);
}
switch (unit) {
case PKTS_PER_SEC:
- flags |= 1 << OFMeterFlags.PKTPS.ordinal();
+ flags.add(OFMeterFlags.PKTPS);
break;
case KB_PER_SEC:
- flags |= 1 << OFMeterFlags.KBPS.ordinal();
+ flags.add(OFMeterFlags.KBPS);
break;
default:
log.warn("Unknown unit type {}", unit);