Implement support for packetIn through p4Runtime
Change-Id: I92cc1a2bd7edde8916aad61c20d7411f93368612
diff --git a/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/DefaultPacketInEvent.java b/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/DefaultPacketInEvent.java
index dd2f021..104999b 100644
--- a/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/DefaultPacketInEvent.java
+++ b/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/DefaultPacketInEvent.java
@@ -17,16 +17,14 @@
package org.onosproject.p4runtime.ctl;
import com.google.common.base.Objects;
-import org.onlab.util.ImmutableByteSequence;
import org.onosproject.event.AbstractEvent;
import org.onosproject.net.DeviceId;
+import org.onosproject.net.pi.runtime.PiPacketOperation;
import org.onosproject.p4runtime.api.P4RuntimeEvent;
import org.onosproject.p4runtime.api.P4RuntimeEventListener;
import org.onosproject.p4runtime.api.P4RuntimeEventSubject;
import org.onosproject.p4runtime.api.P4RuntimePacketIn;
-import java.util.List;
-
import static com.google.common.base.Preconditions.checkNotNull;
/**
@@ -36,9 +34,8 @@
extends AbstractEvent<P4RuntimeEventListener.Type, P4RuntimeEventSubject>
implements P4RuntimeEvent {
- DefaultPacketInEvent(DeviceId deviceId, ImmutableByteSequence data,
- List<ImmutableByteSequence> metadata) {
- super(P4RuntimeEventListener.Type.PACKET_IN, new DefaultPacketIn(deviceId, data, metadata));
+ DefaultPacketInEvent(DeviceId deviceId, PiPacketOperation operation) {
+ super(P4RuntimeEventListener.Type.PACKET_IN, new DefaultPacketIn(deviceId, operation));
}
/**
@@ -47,13 +44,11 @@
private static final class DefaultPacketIn implements P4RuntimePacketIn {
private final DeviceId deviceId;
- private final ImmutableByteSequence data;
- private final List<ImmutableByteSequence> metadata;
+ private final PiPacketOperation operation;
- private DefaultPacketIn(DeviceId deviceId, ImmutableByteSequence data, List<ImmutableByteSequence> metadata) {
+ private DefaultPacketIn(DeviceId deviceId, PiPacketOperation operation) {
this.deviceId = checkNotNull(deviceId);
- this.data = checkNotNull(data);
- this.metadata = checkNotNull(metadata);
+ this.operation = checkNotNull(operation);
}
@Override
@@ -62,13 +57,8 @@
}
@Override
- public ImmutableByteSequence data() {
- return data;
- }
-
- @Override
- public List<ImmutableByteSequence> metadata() {
- return metadata;
+ public PiPacketOperation packetOperation() {
+ return operation;
}
@Override
@@ -81,13 +71,12 @@
}
DefaultPacketIn that = (DefaultPacketIn) o;
return Objects.equal(deviceId, that.deviceId) &&
- Objects.equal(data, that.data) &&
- Objects.equal(metadata, that.metadata);
+ Objects.equal(operation, that.operation);
}
@Override
public int hashCode() {
- return Objects.hashCode(deviceId, data, metadata);
+ return Objects.hashCode(deviceId, operation);
}
}
}