ONOS-7066 ONOS-7067 PI abstractions refactoring and P4Info model parser
Includes changes previously reviewed in #15607, #15877, and #15955.
Change-Id: Ie2ff62e415f2099832ebfe05961a879b7b188fc3
diff --git a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiActionGroup.java b/core/api/src/main/java/org/onosproject/net/pi/runtime/PiActionGroup.java
index 1de4d61..1d9a94b 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiActionGroup.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/runtime/PiActionGroup.java
@@ -21,6 +21,8 @@
import com.google.common.base.Objects;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Maps;
+import org.onosproject.net.pi.model.PiActionGroupType;
+import org.onosproject.net.pi.model.PiActionProfileId;
import java.util.Collection;
import java.util.Map;
@@ -29,27 +31,17 @@
import static com.google.common.base.Preconditions.checkNotNull;
/**
- * Action group of a protocol-independent pipeline.
+ * Instance of an action group of a protocol-independent pipeline.
*/
@Beta
public final class PiActionGroup {
- /**
- * Type of action group.
- */
- public enum Type {
- /**
- * Load-balancing among different members in a group.
- */
- SELECT
- }
-
private final PiActionGroupId id;
- private final Type type;
+ private final PiActionGroupType type;
private final ImmutableSet<PiActionGroupMember> members;
private final PiActionProfileId piActionProfileId;
- private PiActionGroup(PiActionGroupId id, Type type,
+ private PiActionGroup(PiActionGroupId id, PiActionGroupType type,
ImmutableSet<PiActionGroupMember> members,
PiActionProfileId piActionProfileId) {
this.id = id;
@@ -72,7 +64,7 @@
*
* @return action group type
*/
- public Type type() {
+ public PiActionGroupType type() {
return type;
}
@@ -139,7 +131,7 @@
public static final class Builder {
private PiActionGroupId id;
- private Type type;
+ private PiActionGroupType type;
private Map<PiActionGroupMemberId, PiActionGroupMember> members = Maps.newHashMap();
private PiActionProfileId piActionProfileId;
@@ -164,7 +156,7 @@
* @param type action group type
* @return this
*/
- public Builder withType(Type type) {
+ public Builder withType(PiActionGroupType type) {
this.type = type;
return this;
}