ONOS-6561 BMv2 handshaker via P4Runtime
+ support fort device-specific default pipeconf
+ improvements to P4runtime and gRPC protocol stuff
Change-Id: I8986fce3959df564454ea3d31859860f61eabcae
diff --git a/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/Bmv2PacketProgrammable.java b/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/Bmv2PacketProgrammable.java
index 4b76067..7bf2258 100644
--- a/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/Bmv2PacketProgrammable.java
+++ b/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/Bmv2PacketProgrammable.java
@@ -16,40 +16,32 @@
package org.onosproject.drivers.bmv2;
-import io.grpc.stub.StreamObserver;
-import org.onosproject.grpc.api.GrpcChannelId;
-import org.onosproject.grpc.api.GrpcController;
-import org.onosproject.grpc.api.GrpcObserverHandler;
-import org.onosproject.grpc.api.GrpcServiceId;
-import org.onosproject.grpc.api.GrpcStreamObserverId;
-import org.onosproject.net.DeviceId;
import org.onosproject.net.driver.AbstractHandlerBehaviour;
-import org.onosproject.net.driver.DriverHandler;
import org.onosproject.net.packet.OutboundPacket;
import org.onosproject.net.packet.PacketProgrammable;
-import java.util.Optional;
-
/**
* Packet Programmable behaviour for BMv2 devices.
*/
public class Bmv2PacketProgrammable extends AbstractHandlerBehaviour implements PacketProgrammable {
+
@Override
public void emit(OutboundPacket packet) {
- DriverHandler handler = handler();
- GrpcController controller = handler.get(GrpcController.class);
- DeviceId deviceId = handler.data().deviceId();
- GrpcChannelId channelId = GrpcChannelId.of(deviceId, "bmv2");
- GrpcServiceId serviceId = GrpcServiceId.of(channelId, "p4runtime");
- GrpcStreamObserverId observerId = GrpcStreamObserverId.of(serviceId,
- this.getClass().getSimpleName());
- Optional<GrpcObserverHandler> manager = controller.getObserverManager(observerId);
- if (!manager.isPresent()) {
- //this is the first time the behaviour is called
- controller.addObserver(observerId, new Bmv2PacketInObserverHandler());
- }
- //other already registered the observer for us.
- Optional<StreamObserver> observer = manager.get().requestStreamObserver();
- observer.ifPresent(objectStreamObserver -> objectStreamObserver.onNext(packet));
+ // TODO: implement using P4runtime client.
+ // DriverHandler handler = handler();
+ // GrpcController controller = handler.get(GrpcController.class);
+ // DeviceId deviceId = handler.data().deviceId();
+ // GrpcChannelId channelId = GrpcChannelId.of(deviceId, "bmv2");
+ // GrpcServiceId serviceId = GrpcServiceId.of(channelId, "p4runtime");
+ // GrpcStreamObserverId observerId = GrpcStreamObserverId.of(serviceId,
+ // this.getClass().getSimpleName());
+ // Optional<GrpcObserverHandler> manager = controller.getObserverManager(observerId);
+ // if (!manager.isPresent()) {
+ // //this is the first time the behaviour is called
+ // controller.addObserver(observerId, new Bmv2PacketInObserverHandler());
+ // }
+ // //other already registered the observer for us.
+ // Optional<StreamObserver> observer = manager.get().requestStreamObserver();
+ // observer.ifPresent(objectStreamObserver -> objectStreamObserver.onNext(packet));
}
}