Async/streaming gRPC client/server proto
This experiment was to fine-tune how we can implement
async gRPC client and server code inside a Twisted
python app.
Change-Id: I945014e27f4b9d6ed624666e0284cc298548adb3
diff --git a/experiments/openflow_13.proto b/experiments/openflow_13.proto
index b6e701f..664c0d2 100644
--- a/experiments/openflow_13.proto
+++ b/experiments/openflow_13.proto
@@ -2215,3 +2215,72 @@
repeated uint32 port_status_mask = 3; /* Bitmasks of OFPPR_* values. */
repeated uint32 flow_removed_mask = 4;/* Bitmasks of OFPRR_* values. */
};
+
+/*
+ * Service API definitions and additional message types needed for it
+ */
+
+service OpenFlow {
+
+ /*
+ * Hello message handshake, initiated by the client (controller)
+ */
+ rpc GetHello(ofp_hello)
+ returns(ofp_hello) {
+ // TODO http option
+ }
+
+ /*
+ * Echo request / reply, initiated by the client (controller)
+ */
+ rpc EchoRequest(ofp_header)
+ returns(ofp_header) {
+ // TODO http option
+ }
+
+ /*
+ * Experimental (extension) RPC
+ */
+ rpc ExperimenterRequest(ofp_experimenter_header)
+ returns(ofp_experimenter_header) {
+ // TODO http option
+ }
+
+ /*
+ * Get Switch Features
+ */
+ rpc GetSwitchFeatures(ofp_header) returns(ofp_switch_features) {
+ // TODO http option
+ }
+
+ /*
+ * Get Switch Config
+ */
+ rpc GetSwitchConfig(ofp_header) returns(ofp_switch_config) {
+ // TODO http option
+ }
+
+ /*
+ * Set Config
+ */
+ rpc SetConfig(ofp_switch_config) returns(ofp_header) {
+ // TODO http option
+ }
+
+ /*
+ * Receive Packet-In messages
+ */
+ rpc ReceivePacketInMessages(ofp_header) returns(stream ofp_packet_in) {
+ // TODO http option
+ }
+
+ /*
+ * Send Packet-Out messages
+ */
+ rpc SendPacketOutMessages(ofp_packet_out) returns(ofp_header) {
+ // TODO http option
+ }
+
+ // TODO continue
+
+}