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/protocols/p4runtime/api/src/main/java/org/onosproject/p4runtime/api/P4RuntimeController.java b/protocols/p4runtime/api/src/main/java/org/onosproject/p4runtime/api/P4RuntimeController.java
index 3b8074f..ecdcb31 100644
--- a/protocols/p4runtime/api/src/main/java/org/onosproject/p4runtime/api/P4RuntimeController.java
+++ b/protocols/p4runtime/api/src/main/java/org/onosproject/p4runtime/api/P4RuntimeController.java
@@ -65,4 +65,14 @@
* @return true if client exists, false otherwise.
*/
boolean hasClient(DeviceId deviceId);
+
+ /**
+ * Returns true if the P4Runtime server running on the given device is reachable, i.e. the channel is open and the
+ * server is able to respond to RPCs, false otherwise. Reachability can be tested only if a client was previously
+ * created using {@link #createClient(DeviceId, int, ManagedChannelBuilder)}, otherwise this method returns false.
+ *
+ * @param deviceId device identifier.
+ * @return true if a client was created and is able to contact the P4Runtime server, false otherwise.
+ */
+ boolean isReacheable(DeviceId deviceId);
}