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
Major cleanup of openflow_13.proto
Change-Id: I4e54eaf87b682124ec518a0ade1a6050a6ec6da8
Relocated openflow_13.proto to voltha
Change-Id: I66ae45a9142d180c2c6651e75c7a1ee08aef7ef8
Removed forced utest from make build
Change-Id: If0da58e9d135ebde6ca68c3316688a03a7b10f2f
twisted openflow agent first pass
Change-Id: Ibe5b4727ccfe92e6fd464ccd3baf6275569ef5d3
store openflow derived files
Change-Id: Ib3e1384bb2ca2a9c0872767f7b793f96b0a154e2
Minor cleanup
Change-Id: I1280ed3acb606121b616a0efd573f5f59d010dca
Factored out common utils
Change-Id: Icd86fcd50f60d0900924674cbcd65e13e47782a1
Refactored twisted agent
Change-Id: I71f26ce5357a4f98477df60b8c5ddc068cf75d43
Relocated openflow agent to ofagent
... and preserved obsolete working (non-twisted) agent under
~/obsolete, so we can still run the olt-oftest and pass tests,
unit the new twisted based agent reaches that maturity point.
Change-Id: I727f8d7144b1291a40276dad2966b7643bd7bc4b
olt-oftest in fake mode works with new agent
Change-Id: I43b4f5812e8dfaa9f45e4a77fdcf6c30ac520f8d
Initial ofagent/voltha operation
Change-Id: Ia8104f1285a6b1c51635d36d7d78fc113f800e79
Additional callouts to Voltha
Change-Id: If8f483d5140d3c9d45f22b480b8d33249a29cd4e
More gRPC calls
Change-Id: I7d24fadf9425217fb26ffe18f25359d072ef38fa
Flow add/list now works
Change-Id: Ie3e3e73108645b47891cef798fc61372a022fd93
Missed some files
Change-Id: I29e81238ff1a26c095c0c73e521579edf7092e21
diff --git a/ofagent/protos/voltha_pb2.py b/ofagent/protos/voltha_pb2.py
new file mode 100644
index 0000000..d800877
--- /dev/null
+++ b/ofagent/protos/voltha_pb2.py
@@ -0,0 +1,1759 @@
+# Generated by the protocol buffer compiler. DO NOT EDIT!
+# source: voltha.proto
+
+import sys
+_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+from google.protobuf import descriptor_pb2
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
+import openflow_13_pb2 as openflow__13__pb2
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+ name='voltha.proto',
+ package='voltha',
+ syntax='proto3',
+ serialized_pb=_b('\n\x0cvoltha.proto\x12\x06voltha\x1a\x1cgoogle/api/annotations.proto\x1a\x11openflow_13.proto\"\r\n\x0bNullMessage\"v\n\x0cHealthStatus\x12/\n\x05state\x18\x01 \x01(\x0e\x32 .voltha.HealthStatus.HealthState\"5\n\x0bHealthState\x12\x0b\n\x07HEALTHY\x10\x00\x12\x0e\n\nOVERLOADED\x10\x01\x12\t\n\x05\x44YING\x10\x02\"q\n\x07\x41\x64\x64ress\x12\n\n\x02id\x18\x07 \x01(\t\x12\x0e\n\x06street\x18\x01 \x01(\t\x12\x0f\n\x07street2\x18\x02 \x01(\t\x12\x0f\n\x07street3\x18\x03 \x01(\t\x12\x0c\n\x04\x63ity\x18\x04 \x01(\t\x12\r\n\x05state\x18\x05 \x01(\t\x12\x0b\n\x03zip\x18\x06 \x01(\r\"/\n\tAddresses\x12\"\n\taddresses\x18\x01 \x03(\x0b\x32\x0f.voltha.Address\"\x9f\x01\n\x0bMoreComplex\x12$\n\x06health\x18\x01 \x01(\x0b\x32\x14.voltha.HealthStatus\x12\x13\n\x0b\x66oo_counter\x18\x02 \x01(\x05\x12\x0c\n\x04name\x18\x03 \x01(\t\x12%\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x13.voltha.MoreComplex\x12 \n\x07\x61\x64\x64ress\x18\x05 \x01(\x0b\x32\x0f.voltha.Address\"\x10\n\x02ID\x12\n\n\x02id\x18\x01 \x01(\t\"\x18\n\nSubscriber\x12\n\n\x02id\x18\x01 \x01(\t\"0\n\x0bSubscribers\x12!\n\x05items\x18\x01 \x03(\x0b\x32\x12.voltha.Subscriber\"U\n\rLogicalDevice\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x61tapath_id\x18\x02 \x01(\x04\x12#\n\x04\x64\x65sc\x18\x03 \x01(\x0b\x32\x15.openflow_13.ofp_desc\"6\n\x0eLogicalDevices\x12$\n\x05items\x18\x01 \x03(\x0b\x32\x15.voltha.LogicalDevice\"4\n\x0cLogicalPorts\x12$\n\x05items\x18\x01 \x03(\x0b\x32\x15.openflow_13.ofp_port\"\x97\x01\n\x14LogicalDeviceDetails\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x61tapath_id\x18\x02 \x01(\x04\x12#\n\x04\x64\x65sc\x18\x03 \x01(\x0b\x32\x15.openflow_13.ofp_desc\x12\x39\n\x0fswitch_features\x18\x04 \x01(\x0b\x32 .openflow_13.ofp_switch_features\"J\n\x0f\x46lowTableUpdate\x12\n\n\x02id\x18\x01 \x01(\t\x12+\n\x08\x66low_mod\x18\x02 \x01(\x0b\x32\x19.openflow_13.ofp_flow_mod\"3\n\x05\x46lows\x12*\n\x05items\x18\x01 \x03(\x0b\x32\x1b.openflow_13.ofp_flow_stats2^\n\rHealthService\x12M\n\x0fGetHealthStatus\x12\x13.voltha.NullMessage\x1a\x14.voltha.HealthStatus\"\x0f\x82\xd3\xe4\x93\x02\t\x12\x07/health2\xff\x06\n\x12VolthaLogicalLayer\x12Y\n\x12ListLogicalDevices\x12\x13.voltha.NullMessage\x1a\x16.voltha.LogicalDevices\"\x16\x82\xd3\xe4\x93\x02\x10\x12\x0e/local/devices\x12Y\n\x10GetLogicalDevice\x12\n.voltha.ID\x1a\x1c.voltha.LogicalDeviceDetails\"\x1b\x82\xd3\xe4\x93\x02\x15\x12\x13/local/devices/{id}\x12]\n\x16ListLogicalDevicePorts\x12\n.voltha.ID\x1a\x14.voltha.LogicalPorts\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/local/devices/{id}/ports\x12\x65\n\x0fUpdateFlowTable\x12\x17.voltha.FlowTableUpdate\x1a\x13.voltha.NullMessage\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/local/devices/{id}/flows:\x01*\x12O\n\x0fListDeviceFlows\x12\n.voltha.ID\x1a\r.voltha.Flows\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/local/devices/{id}/flows\x12S\n\x10\x43reateSubscriber\x12\x12.voltha.Subscriber\x1a\x12.voltha.Subscriber\"\x17\x82\xd3\xe4\x93\x02\x11\"\x0c/subscribers:\x01*\x12J\n\rGetSubscriber\x12\n.voltha.ID\x1a\x12.voltha.Subscriber\"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/subscribers/{id}\x12X\n\x10UpdateSubscriber\x12\x12.voltha.Subscriber\x1a\x12.voltha.Subscriber\"\x1c\x82\xd3\xe4\x93\x02\x16\x32\x11/subscribers/{id}:\x01*\x12N\n\x10\x44\x65leteSubscriber\x12\n.voltha.ID\x1a\x13.voltha.NullMessage\"\x19\x82\xd3\xe4\x93\x02\x13*\x11/subscribers/{id}\x12Q\n\x0fListSubscribers\x12\x13.voltha.NullMessage\x1a\x13.voltha.Subscribers\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/subscribers2\x85\x03\n\x0e\x45xampleService\x12H\n\rCreateAddress\x12\x0f.voltha.Address\x1a\x0f.voltha.Address\"\x15\x82\xd3\xe4\x93\x02\x0f\"\n/addresses:\x01*\x12\x42\n\nGetAddress\x12\n.voltha.ID\x1a\x0f.voltha.Address\"\x17\x82\xd3\xe4\x93\x02\x11\x12\x0f/addresses/{id}\x12M\n\rUpdateAddress\x12\x0f.voltha.Address\x1a\x0f.voltha.Address\"\x1a\x82\xd3\xe4\x93\x02\x14\x32\x0f/addresses/{id}:\x01*\x12I\n\rDeleteAddress\x12\n.voltha.ID\x1a\x13.voltha.NullMessage\"\x17\x82\xd3\xe4\x93\x02\x11*\x0f/addresses/{id}\x12K\n\rListAddresses\x12\x13.voltha.NullMessage\x1a\x11.voltha.Addresses\"\x12\x82\xd3\xe4\x93\x02\x0c\x12\n/addresses2\xfd\x04\n\x08OpenFlow\x12<\n\x08GetHello\x12\x16.openflow_13.ofp_hello\x1a\x16.openflow_13.ofp_hello\"\x00\x12\x41\n\x0b\x45\x63hoRequest\x12\x17.openflow_13.ofp_header\x1a\x17.openflow_13.ofp_header\"\x00\x12\x63\n\x13\x45xperimenterRequest\x12$.openflow_13.ofp_experimenter_header\x1a$.openflow_13.ofp_experimenter_header\"\x00\x12P\n\x11GetSwitchFeatures\x12\x17.openflow_13.ofp_header\x1a .openflow_13.ofp_switch_features\"\x00\x12L\n\x0fGetSwitchConfig\x12\x17.openflow_13.ofp_header\x1a\x1e.openflow_13.ofp_switch_config\"\x00\x12\x46\n\tSetConfig\x12\x1e.openflow_13.ofp_switch_config\x1a\x17.openflow_13.ofp_header\"\x00\x12R\n\x17ReceivePacketInMessages\x12\x17.openflow_13.ofp_header\x1a\x1a.openflow_13.ofp_packet_in\"\x00\x30\x01\x12O\n\x15SendPacketOutMessages\x12\x1b.openflow_13.ofp_packet_out\x1a\x17.openflow_13.ofp_header\"\x00\x42<\n\x13org.opencord.volthaB\x0cVolthaProtos\xaa\x02\x16Opencord.Voltha.Volthab\x06proto3')
+ ,
+ dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,openflow__13__pb2.DESCRIPTOR,])
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+
+
+_HEALTHSTATUS_HEALTHSTATE = _descriptor.EnumDescriptor(
+ name='HealthState',
+ full_name='voltha.HealthStatus.HealthState',
+ filename=None,
+ file=DESCRIPTOR,
+ values=[
+ _descriptor.EnumValueDescriptor(
+ name='HEALTHY', index=0, number=0,
+ options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='OVERLOADED', index=1, number=1,
+ options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='DYING', index=2, number=2,
+ options=None,
+ type=None),
+ ],
+ containing_type=None,
+ options=None,
+ serialized_start=153,
+ serialized_end=206,
+)
+_sym_db.RegisterEnumDescriptor(_HEALTHSTATUS_HEALTHSTATE)
+
+
+_NULLMESSAGE = _descriptor.Descriptor(
+ name='NullMessage',
+ full_name='voltha.NullMessage',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=73,
+ serialized_end=86,
+)
+
+
+_HEALTHSTATUS = _descriptor.Descriptor(
+ name='HealthStatus',
+ full_name='voltha.HealthStatus',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='state', full_name='voltha.HealthStatus.state', index=0,
+ number=1, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ _HEALTHSTATUS_HEALTHSTATE,
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=88,
+ serialized_end=206,
+)
+
+
+_ADDRESS = _descriptor.Descriptor(
+ name='Address',
+ full_name='voltha.Address',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='id', full_name='voltha.Address.id', index=0,
+ number=7, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ _descriptor.FieldDescriptor(
+ name='street', full_name='voltha.Address.street', index=1,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ _descriptor.FieldDescriptor(
+ name='street2', full_name='voltha.Address.street2', index=2,
+ number=2, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ _descriptor.FieldDescriptor(
+ name='street3', full_name='voltha.Address.street3', index=3,
+ number=3, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ _descriptor.FieldDescriptor(
+ name='city', full_name='voltha.Address.city', index=4,
+ number=4, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ _descriptor.FieldDescriptor(
+ name='state', full_name='voltha.Address.state', index=5,
+ number=5, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ _descriptor.FieldDescriptor(
+ name='zip', full_name='voltha.Address.zip', index=6,
+ number=6, type=13, cpp_type=3, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=208,
+ serialized_end=321,
+)
+
+
+_ADDRESSES = _descriptor.Descriptor(
+ name='Addresses',
+ full_name='voltha.Addresses',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='addresses', full_name='voltha.Addresses.addresses', index=0,
+ number=1, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=323,
+ serialized_end=370,
+)
+
+
+_MORECOMPLEX = _descriptor.Descriptor(
+ name='MoreComplex',
+ full_name='voltha.MoreComplex',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='health', full_name='voltha.MoreComplex.health', index=0,
+ number=1, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ _descriptor.FieldDescriptor(
+ name='foo_counter', full_name='voltha.MoreComplex.foo_counter', index=1,
+ number=2, type=5, cpp_type=1, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ _descriptor.FieldDescriptor(
+ name='name', full_name='voltha.MoreComplex.name', index=2,
+ number=3, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ _descriptor.FieldDescriptor(
+ name='children', full_name='voltha.MoreComplex.children', index=3,
+ number=4, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ _descriptor.FieldDescriptor(
+ name='address', full_name='voltha.MoreComplex.address', index=4,
+ number=5, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=373,
+ serialized_end=532,
+)
+
+
+_ID = _descriptor.Descriptor(
+ name='ID',
+ full_name='voltha.ID',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='id', full_name='voltha.ID.id', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=534,
+ serialized_end=550,
+)
+
+
+_SUBSCRIBER = _descriptor.Descriptor(
+ name='Subscriber',
+ full_name='voltha.Subscriber',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='id', full_name='voltha.Subscriber.id', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=552,
+ serialized_end=576,
+)
+
+
+_SUBSCRIBERS = _descriptor.Descriptor(
+ name='Subscribers',
+ full_name='voltha.Subscribers',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='items', full_name='voltha.Subscribers.items', index=0,
+ number=1, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=578,
+ serialized_end=626,
+)
+
+
+_LOGICALDEVICE = _descriptor.Descriptor(
+ name='LogicalDevice',
+ full_name='voltha.LogicalDevice',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='id', full_name='voltha.LogicalDevice.id', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ _descriptor.FieldDescriptor(
+ name='datapath_id', full_name='voltha.LogicalDevice.datapath_id', index=1,
+ number=2, type=4, cpp_type=4, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ _descriptor.FieldDescriptor(
+ name='desc', full_name='voltha.LogicalDevice.desc', index=2,
+ number=3, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=628,
+ serialized_end=713,
+)
+
+
+_LOGICALDEVICES = _descriptor.Descriptor(
+ name='LogicalDevices',
+ full_name='voltha.LogicalDevices',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='items', full_name='voltha.LogicalDevices.items', index=0,
+ number=1, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=715,
+ serialized_end=769,
+)
+
+
+_LOGICALPORTS = _descriptor.Descriptor(
+ name='LogicalPorts',
+ full_name='voltha.LogicalPorts',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='items', full_name='voltha.LogicalPorts.items', index=0,
+ number=1, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=771,
+ serialized_end=823,
+)
+
+
+_LOGICALDEVICEDETAILS = _descriptor.Descriptor(
+ name='LogicalDeviceDetails',
+ full_name='voltha.LogicalDeviceDetails',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='id', full_name='voltha.LogicalDeviceDetails.id', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ _descriptor.FieldDescriptor(
+ name='datapath_id', full_name='voltha.LogicalDeviceDetails.datapath_id', index=1,
+ number=2, type=4, cpp_type=4, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ _descriptor.FieldDescriptor(
+ name='desc', full_name='voltha.LogicalDeviceDetails.desc', index=2,
+ number=3, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ _descriptor.FieldDescriptor(
+ name='switch_features', full_name='voltha.LogicalDeviceDetails.switch_features', index=3,
+ number=4, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=826,
+ serialized_end=977,
+)
+
+
+_FLOWTABLEUPDATE = _descriptor.Descriptor(
+ name='FlowTableUpdate',
+ full_name='voltha.FlowTableUpdate',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='id', full_name='voltha.FlowTableUpdate.id', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ _descriptor.FieldDescriptor(
+ name='flow_mod', full_name='voltha.FlowTableUpdate.flow_mod', index=1,
+ number=2, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=979,
+ serialized_end=1053,
+)
+
+
+_FLOWS = _descriptor.Descriptor(
+ name='Flows',
+ full_name='voltha.Flows',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='items', full_name='voltha.Flows.items', index=0,
+ number=1, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1055,
+ serialized_end=1106,
+)
+
+_HEALTHSTATUS.fields_by_name['state'].enum_type = _HEALTHSTATUS_HEALTHSTATE
+_HEALTHSTATUS_HEALTHSTATE.containing_type = _HEALTHSTATUS
+_ADDRESSES.fields_by_name['addresses'].message_type = _ADDRESS
+_MORECOMPLEX.fields_by_name['health'].message_type = _HEALTHSTATUS
+_MORECOMPLEX.fields_by_name['children'].message_type = _MORECOMPLEX
+_MORECOMPLEX.fields_by_name['address'].message_type = _ADDRESS
+_SUBSCRIBERS.fields_by_name['items'].message_type = _SUBSCRIBER
+_LOGICALDEVICE.fields_by_name['desc'].message_type = openflow__13__pb2._OFP_DESC
+_LOGICALDEVICES.fields_by_name['items'].message_type = _LOGICALDEVICE
+_LOGICALPORTS.fields_by_name['items'].message_type = openflow__13__pb2._OFP_PORT
+_LOGICALDEVICEDETAILS.fields_by_name['desc'].message_type = openflow__13__pb2._OFP_DESC
+_LOGICALDEVICEDETAILS.fields_by_name['switch_features'].message_type = openflow__13__pb2._OFP_SWITCH_FEATURES
+_FLOWTABLEUPDATE.fields_by_name['flow_mod'].message_type = openflow__13__pb2._OFP_FLOW_MOD
+_FLOWS.fields_by_name['items'].message_type = openflow__13__pb2._OFP_FLOW_STATS
+DESCRIPTOR.message_types_by_name['NullMessage'] = _NULLMESSAGE
+DESCRIPTOR.message_types_by_name['HealthStatus'] = _HEALTHSTATUS
+DESCRIPTOR.message_types_by_name['Address'] = _ADDRESS
+DESCRIPTOR.message_types_by_name['Addresses'] = _ADDRESSES
+DESCRIPTOR.message_types_by_name['MoreComplex'] = _MORECOMPLEX
+DESCRIPTOR.message_types_by_name['ID'] = _ID
+DESCRIPTOR.message_types_by_name['Subscriber'] = _SUBSCRIBER
+DESCRIPTOR.message_types_by_name['Subscribers'] = _SUBSCRIBERS
+DESCRIPTOR.message_types_by_name['LogicalDevice'] = _LOGICALDEVICE
+DESCRIPTOR.message_types_by_name['LogicalDevices'] = _LOGICALDEVICES
+DESCRIPTOR.message_types_by_name['LogicalPorts'] = _LOGICALPORTS
+DESCRIPTOR.message_types_by_name['LogicalDeviceDetails'] = _LOGICALDEVICEDETAILS
+DESCRIPTOR.message_types_by_name['FlowTableUpdate'] = _FLOWTABLEUPDATE
+DESCRIPTOR.message_types_by_name['Flows'] = _FLOWS
+
+NullMessage = _reflection.GeneratedProtocolMessageType('NullMessage', (_message.Message,), dict(
+ DESCRIPTOR = _NULLMESSAGE,
+ __module__ = 'voltha_pb2'
+ # @@protoc_insertion_point(class_scope:voltha.NullMessage)
+ ))
+_sym_db.RegisterMessage(NullMessage)
+
+HealthStatus = _reflection.GeneratedProtocolMessageType('HealthStatus', (_message.Message,), dict(
+ DESCRIPTOR = _HEALTHSTATUS,
+ __module__ = 'voltha_pb2'
+ # @@protoc_insertion_point(class_scope:voltha.HealthStatus)
+ ))
+_sym_db.RegisterMessage(HealthStatus)
+
+Address = _reflection.GeneratedProtocolMessageType('Address', (_message.Message,), dict(
+ DESCRIPTOR = _ADDRESS,
+ __module__ = 'voltha_pb2'
+ # @@protoc_insertion_point(class_scope:voltha.Address)
+ ))
+_sym_db.RegisterMessage(Address)
+
+Addresses = _reflection.GeneratedProtocolMessageType('Addresses', (_message.Message,), dict(
+ DESCRIPTOR = _ADDRESSES,
+ __module__ = 'voltha_pb2'
+ # @@protoc_insertion_point(class_scope:voltha.Addresses)
+ ))
+_sym_db.RegisterMessage(Addresses)
+
+MoreComplex = _reflection.GeneratedProtocolMessageType('MoreComplex', (_message.Message,), dict(
+ DESCRIPTOR = _MORECOMPLEX,
+ __module__ = 'voltha_pb2'
+ # @@protoc_insertion_point(class_scope:voltha.MoreComplex)
+ ))
+_sym_db.RegisterMessage(MoreComplex)
+
+ID = _reflection.GeneratedProtocolMessageType('ID', (_message.Message,), dict(
+ DESCRIPTOR = _ID,
+ __module__ = 'voltha_pb2'
+ # @@protoc_insertion_point(class_scope:voltha.ID)
+ ))
+_sym_db.RegisterMessage(ID)
+
+Subscriber = _reflection.GeneratedProtocolMessageType('Subscriber', (_message.Message,), dict(
+ DESCRIPTOR = _SUBSCRIBER,
+ __module__ = 'voltha_pb2'
+ # @@protoc_insertion_point(class_scope:voltha.Subscriber)
+ ))
+_sym_db.RegisterMessage(Subscriber)
+
+Subscribers = _reflection.GeneratedProtocolMessageType('Subscribers', (_message.Message,), dict(
+ DESCRIPTOR = _SUBSCRIBERS,
+ __module__ = 'voltha_pb2'
+ # @@protoc_insertion_point(class_scope:voltha.Subscribers)
+ ))
+_sym_db.RegisterMessage(Subscribers)
+
+LogicalDevice = _reflection.GeneratedProtocolMessageType('LogicalDevice', (_message.Message,), dict(
+ DESCRIPTOR = _LOGICALDEVICE,
+ __module__ = 'voltha_pb2'
+ # @@protoc_insertion_point(class_scope:voltha.LogicalDevice)
+ ))
+_sym_db.RegisterMessage(LogicalDevice)
+
+LogicalDevices = _reflection.GeneratedProtocolMessageType('LogicalDevices', (_message.Message,), dict(
+ DESCRIPTOR = _LOGICALDEVICES,
+ __module__ = 'voltha_pb2'
+ # @@protoc_insertion_point(class_scope:voltha.LogicalDevices)
+ ))
+_sym_db.RegisterMessage(LogicalDevices)
+
+LogicalPorts = _reflection.GeneratedProtocolMessageType('LogicalPorts', (_message.Message,), dict(
+ DESCRIPTOR = _LOGICALPORTS,
+ __module__ = 'voltha_pb2'
+ # @@protoc_insertion_point(class_scope:voltha.LogicalPorts)
+ ))
+_sym_db.RegisterMessage(LogicalPorts)
+
+LogicalDeviceDetails = _reflection.GeneratedProtocolMessageType('LogicalDeviceDetails', (_message.Message,), dict(
+ DESCRIPTOR = _LOGICALDEVICEDETAILS,
+ __module__ = 'voltha_pb2'
+ # @@protoc_insertion_point(class_scope:voltha.LogicalDeviceDetails)
+ ))
+_sym_db.RegisterMessage(LogicalDeviceDetails)
+
+FlowTableUpdate = _reflection.GeneratedProtocolMessageType('FlowTableUpdate', (_message.Message,), dict(
+ DESCRIPTOR = _FLOWTABLEUPDATE,
+ __module__ = 'voltha_pb2'
+ # @@protoc_insertion_point(class_scope:voltha.FlowTableUpdate)
+ ))
+_sym_db.RegisterMessage(FlowTableUpdate)
+
+Flows = _reflection.GeneratedProtocolMessageType('Flows', (_message.Message,), dict(
+ DESCRIPTOR = _FLOWS,
+ __module__ = 'voltha_pb2'
+ # @@protoc_insertion_point(class_scope:voltha.Flows)
+ ))
+_sym_db.RegisterMessage(Flows)
+
+
+DESCRIPTOR.has_options = True
+DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\023org.opencord.volthaB\014VolthaProtos\252\002\026Opencord.Voltha.Voltha'))
+import grpc
+from grpc.beta import implementations as beta_implementations
+from grpc.beta import interfaces as beta_interfaces
+from grpc.framework.common import cardinality
+from grpc.framework.interfaces.face import utilities as face_utilities
+
+
+class HealthServiceStub(object):
+ """Health related services
+ """
+
+ def __init__(self, channel):
+ """Constructor.
+
+ Args:
+ channel: A grpc.Channel.
+ """
+ self.GetHealthStatus = channel.unary_unary(
+ '/voltha.HealthService/GetHealthStatus',
+ request_serializer=NullMessage.SerializeToString,
+ response_deserializer=HealthStatus.FromString,
+ )
+
+
+class HealthServiceServicer(object):
+ """Health related services
+ """
+
+ def GetHealthStatus(self, request, context):
+ """Return current health status of a Voltha instance
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+
+def add_HealthServiceServicer_to_server(servicer, server):
+ rpc_method_handlers = {
+ 'GetHealthStatus': grpc.unary_unary_rpc_method_handler(
+ servicer.GetHealthStatus,
+ request_deserializer=NullMessage.FromString,
+ response_serializer=HealthStatus.SerializeToString,
+ ),
+ }
+ generic_handler = grpc.method_handlers_generic_handler(
+ 'voltha.HealthService', rpc_method_handlers)
+ server.add_generic_rpc_handlers((generic_handler,))
+
+
+class BetaHealthServiceServicer(object):
+ """Health related services
+ """
+ def GetHealthStatus(self, request, context):
+ """Return current health status of a Voltha instance
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+
+
+class BetaHealthServiceStub(object):
+ """Health related services
+ """
+ def GetHealthStatus(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """Return current health status of a Voltha instance
+ """
+ raise NotImplementedError()
+ GetHealthStatus.future = None
+
+
+def beta_create_HealthService_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
+ request_deserializers = {
+ ('voltha.HealthService', 'GetHealthStatus'): NullMessage.FromString,
+ }
+ response_serializers = {
+ ('voltha.HealthService', 'GetHealthStatus'): HealthStatus.SerializeToString,
+ }
+ method_implementations = {
+ ('voltha.HealthService', 'GetHealthStatus'): face_utilities.unary_unary_inline(servicer.GetHealthStatus),
+ }
+ server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
+ return beta_implementations.server(method_implementations, options=server_options)
+
+
+def beta_create_HealthService_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
+ request_serializers = {
+ ('voltha.HealthService', 'GetHealthStatus'): NullMessage.SerializeToString,
+ }
+ response_deserializers = {
+ ('voltha.HealthService', 'GetHealthStatus'): HealthStatus.FromString,
+ }
+ cardinalities = {
+ 'GetHealthStatus': cardinality.Cardinality.UNARY_UNARY,
+ }
+ stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
+ return beta_implementations.dynamic_stub(channel, 'voltha.HealthService', cardinalities, options=stub_options)
+
+
+class VolthaLogicalLayerStub(object):
+
+ def __init__(self, channel):
+ """Constructor.
+
+ Args:
+ channel: A grpc.Channel.
+ """
+ self.ListLogicalDevices = channel.unary_unary(
+ '/voltha.VolthaLogicalLayer/ListLogicalDevices',
+ request_serializer=NullMessage.SerializeToString,
+ response_deserializer=LogicalDevices.FromString,
+ )
+ self.GetLogicalDevice = channel.unary_unary(
+ '/voltha.VolthaLogicalLayer/GetLogicalDevice',
+ request_serializer=ID.SerializeToString,
+ response_deserializer=LogicalDeviceDetails.FromString,
+ )
+ self.ListLogicalDevicePorts = channel.unary_unary(
+ '/voltha.VolthaLogicalLayer/ListLogicalDevicePorts',
+ request_serializer=ID.SerializeToString,
+ response_deserializer=LogicalPorts.FromString,
+ )
+ self.UpdateFlowTable = channel.unary_unary(
+ '/voltha.VolthaLogicalLayer/UpdateFlowTable',
+ request_serializer=FlowTableUpdate.SerializeToString,
+ response_deserializer=NullMessage.FromString,
+ )
+ self.ListDeviceFlows = channel.unary_unary(
+ '/voltha.VolthaLogicalLayer/ListDeviceFlows',
+ request_serializer=ID.SerializeToString,
+ response_deserializer=Flows.FromString,
+ )
+ self.CreateSubscriber = channel.unary_unary(
+ '/voltha.VolthaLogicalLayer/CreateSubscriber',
+ request_serializer=Subscriber.SerializeToString,
+ response_deserializer=Subscriber.FromString,
+ )
+ self.GetSubscriber = channel.unary_unary(
+ '/voltha.VolthaLogicalLayer/GetSubscriber',
+ request_serializer=ID.SerializeToString,
+ response_deserializer=Subscriber.FromString,
+ )
+ self.UpdateSubscriber = channel.unary_unary(
+ '/voltha.VolthaLogicalLayer/UpdateSubscriber',
+ request_serializer=Subscriber.SerializeToString,
+ response_deserializer=Subscriber.FromString,
+ )
+ self.DeleteSubscriber = channel.unary_unary(
+ '/voltha.VolthaLogicalLayer/DeleteSubscriber',
+ request_serializer=ID.SerializeToString,
+ response_deserializer=NullMessage.FromString,
+ )
+ self.ListSubscribers = channel.unary_unary(
+ '/voltha.VolthaLogicalLayer/ListSubscribers',
+ request_serializer=NullMessage.SerializeToString,
+ response_deserializer=Subscribers.FromString,
+ )
+
+
+class VolthaLogicalLayerServicer(object):
+
+ def ListLogicalDevices(self, request, context):
+ """List logical devices owned by this Voltha instance
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def GetLogicalDevice(self, request, context):
+ """Get detailed info on logical device owned by this Voltha instance
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def ListLogicalDevicePorts(self, request, context):
+ """List ports of a logical device
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def UpdateFlowTable(self, request, context):
+ """Update flow table for device
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def ListDeviceFlows(self, request, context):
+ """List all flows of a logical device
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def CreateSubscriber(self, request, context):
+ """Create a subscriber record
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def GetSubscriber(self, request, context):
+ """Return an subscriber by ID
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def UpdateSubscriber(self, request, context):
+ """Update an existing subscriber record by ID
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def DeleteSubscriber(self, request, context):
+ """Delete a subscriber record by ID
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def ListSubscribers(self, request, context):
+ """List subscribers
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+
+def add_VolthaLogicalLayerServicer_to_server(servicer, server):
+ rpc_method_handlers = {
+ 'ListLogicalDevices': grpc.unary_unary_rpc_method_handler(
+ servicer.ListLogicalDevices,
+ request_deserializer=NullMessage.FromString,
+ response_serializer=LogicalDevices.SerializeToString,
+ ),
+ 'GetLogicalDevice': grpc.unary_unary_rpc_method_handler(
+ servicer.GetLogicalDevice,
+ request_deserializer=ID.FromString,
+ response_serializer=LogicalDeviceDetails.SerializeToString,
+ ),
+ 'ListLogicalDevicePorts': grpc.unary_unary_rpc_method_handler(
+ servicer.ListLogicalDevicePorts,
+ request_deserializer=ID.FromString,
+ response_serializer=LogicalPorts.SerializeToString,
+ ),
+ 'UpdateFlowTable': grpc.unary_unary_rpc_method_handler(
+ servicer.UpdateFlowTable,
+ request_deserializer=FlowTableUpdate.FromString,
+ response_serializer=NullMessage.SerializeToString,
+ ),
+ 'ListDeviceFlows': grpc.unary_unary_rpc_method_handler(
+ servicer.ListDeviceFlows,
+ request_deserializer=ID.FromString,
+ response_serializer=Flows.SerializeToString,
+ ),
+ 'CreateSubscriber': grpc.unary_unary_rpc_method_handler(
+ servicer.CreateSubscriber,
+ request_deserializer=Subscriber.FromString,
+ response_serializer=Subscriber.SerializeToString,
+ ),
+ 'GetSubscriber': grpc.unary_unary_rpc_method_handler(
+ servicer.GetSubscriber,
+ request_deserializer=ID.FromString,
+ response_serializer=Subscriber.SerializeToString,
+ ),
+ 'UpdateSubscriber': grpc.unary_unary_rpc_method_handler(
+ servicer.UpdateSubscriber,
+ request_deserializer=Subscriber.FromString,
+ response_serializer=Subscriber.SerializeToString,
+ ),
+ 'DeleteSubscriber': grpc.unary_unary_rpc_method_handler(
+ servicer.DeleteSubscriber,
+ request_deserializer=ID.FromString,
+ response_serializer=NullMessage.SerializeToString,
+ ),
+ 'ListSubscribers': grpc.unary_unary_rpc_method_handler(
+ servicer.ListSubscribers,
+ request_deserializer=NullMessage.FromString,
+ response_serializer=Subscribers.SerializeToString,
+ ),
+ }
+ generic_handler = grpc.method_handlers_generic_handler(
+ 'voltha.VolthaLogicalLayer', rpc_method_handlers)
+ server.add_generic_rpc_handlers((generic_handler,))
+
+
+class BetaVolthaLogicalLayerServicer(object):
+ def ListLogicalDevices(self, request, context):
+ """List logical devices owned by this Voltha instance
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def GetLogicalDevice(self, request, context):
+ """Get detailed info on logical device owned by this Voltha instance
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def ListLogicalDevicePorts(self, request, context):
+ """List ports of a logical device
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def UpdateFlowTable(self, request, context):
+ """Update flow table for device
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def ListDeviceFlows(self, request, context):
+ """List all flows of a logical device
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def CreateSubscriber(self, request, context):
+ """Create a subscriber record
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def GetSubscriber(self, request, context):
+ """Return an subscriber by ID
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def UpdateSubscriber(self, request, context):
+ """Update an existing subscriber record by ID
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def DeleteSubscriber(self, request, context):
+ """Delete a subscriber record by ID
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def ListSubscribers(self, request, context):
+ """List subscribers
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+
+
+class BetaVolthaLogicalLayerStub(object):
+ def ListLogicalDevices(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """List logical devices owned by this Voltha instance
+ """
+ raise NotImplementedError()
+ ListLogicalDevices.future = None
+ def GetLogicalDevice(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """Get detailed info on logical device owned by this Voltha instance
+ """
+ raise NotImplementedError()
+ GetLogicalDevice.future = None
+ def ListLogicalDevicePorts(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """List ports of a logical device
+ """
+ raise NotImplementedError()
+ ListLogicalDevicePorts.future = None
+ def UpdateFlowTable(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """Update flow table for device
+ """
+ raise NotImplementedError()
+ UpdateFlowTable.future = None
+ def ListDeviceFlows(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """List all flows of a logical device
+ """
+ raise NotImplementedError()
+ ListDeviceFlows.future = None
+ def CreateSubscriber(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """Create a subscriber record
+ """
+ raise NotImplementedError()
+ CreateSubscriber.future = None
+ def GetSubscriber(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """Return an subscriber by ID
+ """
+ raise NotImplementedError()
+ GetSubscriber.future = None
+ def UpdateSubscriber(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """Update an existing subscriber record by ID
+ """
+ raise NotImplementedError()
+ UpdateSubscriber.future = None
+ def DeleteSubscriber(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """Delete a subscriber record by ID
+ """
+ raise NotImplementedError()
+ DeleteSubscriber.future = None
+ def ListSubscribers(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """List subscribers
+ """
+ raise NotImplementedError()
+ ListSubscribers.future = None
+
+
+def beta_create_VolthaLogicalLayer_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
+ request_deserializers = {
+ ('voltha.VolthaLogicalLayer', 'CreateSubscriber'): Subscriber.FromString,
+ ('voltha.VolthaLogicalLayer', 'DeleteSubscriber'): ID.FromString,
+ ('voltha.VolthaLogicalLayer', 'GetLogicalDevice'): ID.FromString,
+ ('voltha.VolthaLogicalLayer', 'GetSubscriber'): ID.FromString,
+ ('voltha.VolthaLogicalLayer', 'ListDeviceFlows'): ID.FromString,
+ ('voltha.VolthaLogicalLayer', 'ListLogicalDevicePorts'): ID.FromString,
+ ('voltha.VolthaLogicalLayer', 'ListLogicalDevices'): NullMessage.FromString,
+ ('voltha.VolthaLogicalLayer', 'ListSubscribers'): NullMessage.FromString,
+ ('voltha.VolthaLogicalLayer', 'UpdateFlowTable'): FlowTableUpdate.FromString,
+ ('voltha.VolthaLogicalLayer', 'UpdateSubscriber'): Subscriber.FromString,
+ }
+ response_serializers = {
+ ('voltha.VolthaLogicalLayer', 'CreateSubscriber'): Subscriber.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'DeleteSubscriber'): NullMessage.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'GetLogicalDevice'): LogicalDeviceDetails.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'GetSubscriber'): Subscriber.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'ListDeviceFlows'): Flows.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'ListLogicalDevicePorts'): LogicalPorts.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'ListLogicalDevices'): LogicalDevices.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'ListSubscribers'): Subscribers.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'UpdateFlowTable'): NullMessage.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'UpdateSubscriber'): Subscriber.SerializeToString,
+ }
+ method_implementations = {
+ ('voltha.VolthaLogicalLayer', 'CreateSubscriber'): face_utilities.unary_unary_inline(servicer.CreateSubscriber),
+ ('voltha.VolthaLogicalLayer', 'DeleteSubscriber'): face_utilities.unary_unary_inline(servicer.DeleteSubscriber),
+ ('voltha.VolthaLogicalLayer', 'GetLogicalDevice'): face_utilities.unary_unary_inline(servicer.GetLogicalDevice),
+ ('voltha.VolthaLogicalLayer', 'GetSubscriber'): face_utilities.unary_unary_inline(servicer.GetSubscriber),
+ ('voltha.VolthaLogicalLayer', 'ListDeviceFlows'): face_utilities.unary_unary_inline(servicer.ListDeviceFlows),
+ ('voltha.VolthaLogicalLayer', 'ListLogicalDevicePorts'): face_utilities.unary_unary_inline(servicer.ListLogicalDevicePorts),
+ ('voltha.VolthaLogicalLayer', 'ListLogicalDevices'): face_utilities.unary_unary_inline(servicer.ListLogicalDevices),
+ ('voltha.VolthaLogicalLayer', 'ListSubscribers'): face_utilities.unary_unary_inline(servicer.ListSubscribers),
+ ('voltha.VolthaLogicalLayer', 'UpdateFlowTable'): face_utilities.unary_unary_inline(servicer.UpdateFlowTable),
+ ('voltha.VolthaLogicalLayer', 'UpdateSubscriber'): face_utilities.unary_unary_inline(servicer.UpdateSubscriber),
+ }
+ server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
+ return beta_implementations.server(method_implementations, options=server_options)
+
+
+def beta_create_VolthaLogicalLayer_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
+ request_serializers = {
+ ('voltha.VolthaLogicalLayer', 'CreateSubscriber'): Subscriber.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'DeleteSubscriber'): ID.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'GetLogicalDevice'): ID.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'GetSubscriber'): ID.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'ListDeviceFlows'): ID.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'ListLogicalDevicePorts'): ID.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'ListLogicalDevices'): NullMessage.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'ListSubscribers'): NullMessage.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'UpdateFlowTable'): FlowTableUpdate.SerializeToString,
+ ('voltha.VolthaLogicalLayer', 'UpdateSubscriber'): Subscriber.SerializeToString,
+ }
+ response_deserializers = {
+ ('voltha.VolthaLogicalLayer', 'CreateSubscriber'): Subscriber.FromString,
+ ('voltha.VolthaLogicalLayer', 'DeleteSubscriber'): NullMessage.FromString,
+ ('voltha.VolthaLogicalLayer', 'GetLogicalDevice'): LogicalDeviceDetails.FromString,
+ ('voltha.VolthaLogicalLayer', 'GetSubscriber'): Subscriber.FromString,
+ ('voltha.VolthaLogicalLayer', 'ListDeviceFlows'): Flows.FromString,
+ ('voltha.VolthaLogicalLayer', 'ListLogicalDevicePorts'): LogicalPorts.FromString,
+ ('voltha.VolthaLogicalLayer', 'ListLogicalDevices'): LogicalDevices.FromString,
+ ('voltha.VolthaLogicalLayer', 'ListSubscribers'): Subscribers.FromString,
+ ('voltha.VolthaLogicalLayer', 'UpdateFlowTable'): NullMessage.FromString,
+ ('voltha.VolthaLogicalLayer', 'UpdateSubscriber'): Subscriber.FromString,
+ }
+ cardinalities = {
+ 'CreateSubscriber': cardinality.Cardinality.UNARY_UNARY,
+ 'DeleteSubscriber': cardinality.Cardinality.UNARY_UNARY,
+ 'GetLogicalDevice': cardinality.Cardinality.UNARY_UNARY,
+ 'GetSubscriber': cardinality.Cardinality.UNARY_UNARY,
+ 'ListDeviceFlows': cardinality.Cardinality.UNARY_UNARY,
+ 'ListLogicalDevicePorts': cardinality.Cardinality.UNARY_UNARY,
+ 'ListLogicalDevices': cardinality.Cardinality.UNARY_UNARY,
+ 'ListSubscribers': cardinality.Cardinality.UNARY_UNARY,
+ 'UpdateFlowTable': cardinality.Cardinality.UNARY_UNARY,
+ 'UpdateSubscriber': cardinality.Cardinality.UNARY_UNARY,
+ }
+ stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
+ return beta_implementations.dynamic_stub(channel, 'voltha.VolthaLogicalLayer', cardinalities, options=stub_options)
+
+
+class ExampleServiceStub(object):
+ """(placeholder) This is an example service
+ """
+
+ def __init__(self, channel):
+ """Constructor.
+
+ Args:
+ channel: A grpc.Channel.
+ """
+ self.CreateAddress = channel.unary_unary(
+ '/voltha.ExampleService/CreateAddress',
+ request_serializer=Address.SerializeToString,
+ response_deserializer=Address.FromString,
+ )
+ self.GetAddress = channel.unary_unary(
+ '/voltha.ExampleService/GetAddress',
+ request_serializer=ID.SerializeToString,
+ response_deserializer=Address.FromString,
+ )
+ self.UpdateAddress = channel.unary_unary(
+ '/voltha.ExampleService/UpdateAddress',
+ request_serializer=Address.SerializeToString,
+ response_deserializer=Address.FromString,
+ )
+ self.DeleteAddress = channel.unary_unary(
+ '/voltha.ExampleService/DeleteAddress',
+ request_serializer=ID.SerializeToString,
+ response_deserializer=NullMessage.FromString,
+ )
+ self.ListAddresses = channel.unary_unary(
+ '/voltha.ExampleService/ListAddresses',
+ request_serializer=NullMessage.SerializeToString,
+ response_deserializer=Addresses.FromString,
+ )
+
+
+class ExampleServiceServicer(object):
+ """(placeholder) This is an example service
+ """
+
+ def CreateAddress(self, request, context):
+ """Create an address record
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def GetAddress(self, request, context):
+ """Return an address by ID
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def UpdateAddress(self, request, context):
+ """Update an existing address record by ID
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def DeleteAddress(self, request, context):
+ """Delete an address record by ID
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def ListAddresses(self, request, context):
+ """Return a bit more complex objects
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+
+def add_ExampleServiceServicer_to_server(servicer, server):
+ rpc_method_handlers = {
+ 'CreateAddress': grpc.unary_unary_rpc_method_handler(
+ servicer.CreateAddress,
+ request_deserializer=Address.FromString,
+ response_serializer=Address.SerializeToString,
+ ),
+ 'GetAddress': grpc.unary_unary_rpc_method_handler(
+ servicer.GetAddress,
+ request_deserializer=ID.FromString,
+ response_serializer=Address.SerializeToString,
+ ),
+ 'UpdateAddress': grpc.unary_unary_rpc_method_handler(
+ servicer.UpdateAddress,
+ request_deserializer=Address.FromString,
+ response_serializer=Address.SerializeToString,
+ ),
+ 'DeleteAddress': grpc.unary_unary_rpc_method_handler(
+ servicer.DeleteAddress,
+ request_deserializer=ID.FromString,
+ response_serializer=NullMessage.SerializeToString,
+ ),
+ 'ListAddresses': grpc.unary_unary_rpc_method_handler(
+ servicer.ListAddresses,
+ request_deserializer=NullMessage.FromString,
+ response_serializer=Addresses.SerializeToString,
+ ),
+ }
+ generic_handler = grpc.method_handlers_generic_handler(
+ 'voltha.ExampleService', rpc_method_handlers)
+ server.add_generic_rpc_handlers((generic_handler,))
+
+
+class BetaExampleServiceServicer(object):
+ """(placeholder) This is an example service
+ """
+ def CreateAddress(self, request, context):
+ """Create an address record
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def GetAddress(self, request, context):
+ """Return an address by ID
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def UpdateAddress(self, request, context):
+ """Update an existing address record by ID
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def DeleteAddress(self, request, context):
+ """Delete an address record by ID
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def ListAddresses(self, request, context):
+ """Return a bit more complex objects
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+
+
+class BetaExampleServiceStub(object):
+ """(placeholder) This is an example service
+ """
+ def CreateAddress(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """Create an address record
+ """
+ raise NotImplementedError()
+ CreateAddress.future = None
+ def GetAddress(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """Return an address by ID
+ """
+ raise NotImplementedError()
+ GetAddress.future = None
+ def UpdateAddress(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """Update an existing address record by ID
+ """
+ raise NotImplementedError()
+ UpdateAddress.future = None
+ def DeleteAddress(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """Delete an address record by ID
+ """
+ raise NotImplementedError()
+ DeleteAddress.future = None
+ def ListAddresses(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """Return a bit more complex objects
+ """
+ raise NotImplementedError()
+ ListAddresses.future = None
+
+
+def beta_create_ExampleService_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
+ request_deserializers = {
+ ('voltha.ExampleService', 'CreateAddress'): Address.FromString,
+ ('voltha.ExampleService', 'DeleteAddress'): ID.FromString,
+ ('voltha.ExampleService', 'GetAddress'): ID.FromString,
+ ('voltha.ExampleService', 'ListAddresses'): NullMessage.FromString,
+ ('voltha.ExampleService', 'UpdateAddress'): Address.FromString,
+ }
+ response_serializers = {
+ ('voltha.ExampleService', 'CreateAddress'): Address.SerializeToString,
+ ('voltha.ExampleService', 'DeleteAddress'): NullMessage.SerializeToString,
+ ('voltha.ExampleService', 'GetAddress'): Address.SerializeToString,
+ ('voltha.ExampleService', 'ListAddresses'): Addresses.SerializeToString,
+ ('voltha.ExampleService', 'UpdateAddress'): Address.SerializeToString,
+ }
+ method_implementations = {
+ ('voltha.ExampleService', 'CreateAddress'): face_utilities.unary_unary_inline(servicer.CreateAddress),
+ ('voltha.ExampleService', 'DeleteAddress'): face_utilities.unary_unary_inline(servicer.DeleteAddress),
+ ('voltha.ExampleService', 'GetAddress'): face_utilities.unary_unary_inline(servicer.GetAddress),
+ ('voltha.ExampleService', 'ListAddresses'): face_utilities.unary_unary_inline(servicer.ListAddresses),
+ ('voltha.ExampleService', 'UpdateAddress'): face_utilities.unary_unary_inline(servicer.UpdateAddress),
+ }
+ server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
+ return beta_implementations.server(method_implementations, options=server_options)
+
+
+def beta_create_ExampleService_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
+ request_serializers = {
+ ('voltha.ExampleService', 'CreateAddress'): Address.SerializeToString,
+ ('voltha.ExampleService', 'DeleteAddress'): ID.SerializeToString,
+ ('voltha.ExampleService', 'GetAddress'): ID.SerializeToString,
+ ('voltha.ExampleService', 'ListAddresses'): NullMessage.SerializeToString,
+ ('voltha.ExampleService', 'UpdateAddress'): Address.SerializeToString,
+ }
+ response_deserializers = {
+ ('voltha.ExampleService', 'CreateAddress'): Address.FromString,
+ ('voltha.ExampleService', 'DeleteAddress'): NullMessage.FromString,
+ ('voltha.ExampleService', 'GetAddress'): Address.FromString,
+ ('voltha.ExampleService', 'ListAddresses'): Addresses.FromString,
+ ('voltha.ExampleService', 'UpdateAddress'): Address.FromString,
+ }
+ cardinalities = {
+ 'CreateAddress': cardinality.Cardinality.UNARY_UNARY,
+ 'DeleteAddress': cardinality.Cardinality.UNARY_UNARY,
+ 'GetAddress': cardinality.Cardinality.UNARY_UNARY,
+ 'ListAddresses': cardinality.Cardinality.UNARY_UNARY,
+ 'UpdateAddress': cardinality.Cardinality.UNARY_UNARY,
+ }
+ stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
+ return beta_implementations.dynamic_stub(channel, 'voltha.ExampleService', cardinalities, options=stub_options)
+
+
+class OpenFlowStub(object):
+
+ def __init__(self, channel):
+ """Constructor.
+
+ Args:
+ channel: A grpc.Channel.
+ """
+ self.GetHello = channel.unary_unary(
+ '/voltha.OpenFlow/GetHello',
+ request_serializer=openflow__13__pb2.ofp_hello.SerializeToString,
+ response_deserializer=openflow__13__pb2.ofp_hello.FromString,
+ )
+ self.EchoRequest = channel.unary_unary(
+ '/voltha.OpenFlow/EchoRequest',
+ request_serializer=openflow__13__pb2.ofp_header.SerializeToString,
+ response_deserializer=openflow__13__pb2.ofp_header.FromString,
+ )
+ self.ExperimenterRequest = channel.unary_unary(
+ '/voltha.OpenFlow/ExperimenterRequest',
+ request_serializer=openflow__13__pb2.ofp_experimenter_header.SerializeToString,
+ response_deserializer=openflow__13__pb2.ofp_experimenter_header.FromString,
+ )
+ self.GetSwitchFeatures = channel.unary_unary(
+ '/voltha.OpenFlow/GetSwitchFeatures',
+ request_serializer=openflow__13__pb2.ofp_header.SerializeToString,
+ response_deserializer=openflow__13__pb2.ofp_switch_features.FromString,
+ )
+ self.GetSwitchConfig = channel.unary_unary(
+ '/voltha.OpenFlow/GetSwitchConfig',
+ request_serializer=openflow__13__pb2.ofp_header.SerializeToString,
+ response_deserializer=openflow__13__pb2.ofp_switch_config.FromString,
+ )
+ self.SetConfig = channel.unary_unary(
+ '/voltha.OpenFlow/SetConfig',
+ request_serializer=openflow__13__pb2.ofp_switch_config.SerializeToString,
+ response_deserializer=openflow__13__pb2.ofp_header.FromString,
+ )
+ self.ReceivePacketInMessages = channel.unary_stream(
+ '/voltha.OpenFlow/ReceivePacketInMessages',
+ request_serializer=openflow__13__pb2.ofp_header.SerializeToString,
+ response_deserializer=openflow__13__pb2.ofp_packet_in.FromString,
+ )
+ self.SendPacketOutMessages = channel.unary_unary(
+ '/voltha.OpenFlow/SendPacketOutMessages',
+ request_serializer=openflow__13__pb2.ofp_packet_out.SerializeToString,
+ response_deserializer=openflow__13__pb2.ofp_header.FromString,
+ )
+
+
+class OpenFlowServicer(object):
+
+ def GetHello(self, request, context):
+ """
+ Hello message handshake, initiated by the client (controller)
+ TODO http option
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def EchoRequest(self, request, context):
+ """
+ Echo request / reply, initiated by the client (controller)
+ TODO http option
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def ExperimenterRequest(self, request, context):
+ """
+ Experimental (extension) RPC
+ TODO http option
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def GetSwitchFeatures(self, request, context):
+ """
+ Get Switch Features
+ TODO http option
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def GetSwitchConfig(self, request, context):
+ """
+ Get Switch Config
+ TODO http option
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def SetConfig(self, request, context):
+ """
+ Set Config
+ TODO http option
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def ReceivePacketInMessages(self, request, context):
+ """
+ Receive Packet-In messages
+ TODO http option
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def SendPacketOutMessages(self, request, context):
+ """
+ Send Packet-Out messages
+ TODO http option
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+
+def add_OpenFlowServicer_to_server(servicer, server):
+ rpc_method_handlers = {
+ 'GetHello': grpc.unary_unary_rpc_method_handler(
+ servicer.GetHello,
+ request_deserializer=openflow__13__pb2.ofp_hello.FromString,
+ response_serializer=openflow__13__pb2.ofp_hello.SerializeToString,
+ ),
+ 'EchoRequest': grpc.unary_unary_rpc_method_handler(
+ servicer.EchoRequest,
+ request_deserializer=openflow__13__pb2.ofp_header.FromString,
+ response_serializer=openflow__13__pb2.ofp_header.SerializeToString,
+ ),
+ 'ExperimenterRequest': grpc.unary_unary_rpc_method_handler(
+ servicer.ExperimenterRequest,
+ request_deserializer=openflow__13__pb2.ofp_experimenter_header.FromString,
+ response_serializer=openflow__13__pb2.ofp_experimenter_header.SerializeToString,
+ ),
+ 'GetSwitchFeatures': grpc.unary_unary_rpc_method_handler(
+ servicer.GetSwitchFeatures,
+ request_deserializer=openflow__13__pb2.ofp_header.FromString,
+ response_serializer=openflow__13__pb2.ofp_switch_features.SerializeToString,
+ ),
+ 'GetSwitchConfig': grpc.unary_unary_rpc_method_handler(
+ servicer.GetSwitchConfig,
+ request_deserializer=openflow__13__pb2.ofp_header.FromString,
+ response_serializer=openflow__13__pb2.ofp_switch_config.SerializeToString,
+ ),
+ 'SetConfig': grpc.unary_unary_rpc_method_handler(
+ servicer.SetConfig,
+ request_deserializer=openflow__13__pb2.ofp_switch_config.FromString,
+ response_serializer=openflow__13__pb2.ofp_header.SerializeToString,
+ ),
+ 'ReceivePacketInMessages': grpc.unary_stream_rpc_method_handler(
+ servicer.ReceivePacketInMessages,
+ request_deserializer=openflow__13__pb2.ofp_header.FromString,
+ response_serializer=openflow__13__pb2.ofp_packet_in.SerializeToString,
+ ),
+ 'SendPacketOutMessages': grpc.unary_unary_rpc_method_handler(
+ servicer.SendPacketOutMessages,
+ request_deserializer=openflow__13__pb2.ofp_packet_out.FromString,
+ response_serializer=openflow__13__pb2.ofp_header.SerializeToString,
+ ),
+ }
+ generic_handler = grpc.method_handlers_generic_handler(
+ 'voltha.OpenFlow', rpc_method_handlers)
+ server.add_generic_rpc_handlers((generic_handler,))
+
+
+class BetaOpenFlowServicer(object):
+ def GetHello(self, request, context):
+ """
+ Hello message handshake, initiated by the client (controller)
+ TODO http option
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def EchoRequest(self, request, context):
+ """
+ Echo request / reply, initiated by the client (controller)
+ TODO http option
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def ExperimenterRequest(self, request, context):
+ """
+ Experimental (extension) RPC
+ TODO http option
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def GetSwitchFeatures(self, request, context):
+ """
+ Get Switch Features
+ TODO http option
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def GetSwitchConfig(self, request, context):
+ """
+ Get Switch Config
+ TODO http option
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def SetConfig(self, request, context):
+ """
+ Set Config
+ TODO http option
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def ReceivePacketInMessages(self, request, context):
+ """
+ Receive Packet-In messages
+ TODO http option
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+ def SendPacketOutMessages(self, request, context):
+ """
+ Send Packet-Out messages
+ TODO http option
+ """
+ context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
+
+
+class BetaOpenFlowStub(object):
+ def GetHello(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """
+ Hello message handshake, initiated by the client (controller)
+ TODO http option
+ """
+ raise NotImplementedError()
+ GetHello.future = None
+ def EchoRequest(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """
+ Echo request / reply, initiated by the client (controller)
+ TODO http option
+ """
+ raise NotImplementedError()
+ EchoRequest.future = None
+ def ExperimenterRequest(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """
+ Experimental (extension) RPC
+ TODO http option
+ """
+ raise NotImplementedError()
+ ExperimenterRequest.future = None
+ def GetSwitchFeatures(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """
+ Get Switch Features
+ TODO http option
+ """
+ raise NotImplementedError()
+ GetSwitchFeatures.future = None
+ def GetSwitchConfig(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """
+ Get Switch Config
+ TODO http option
+ """
+ raise NotImplementedError()
+ GetSwitchConfig.future = None
+ def SetConfig(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """
+ Set Config
+ TODO http option
+ """
+ raise NotImplementedError()
+ SetConfig.future = None
+ def ReceivePacketInMessages(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """
+ Receive Packet-In messages
+ TODO http option
+ """
+ raise NotImplementedError()
+ def SendPacketOutMessages(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
+ """
+ Send Packet-Out messages
+ TODO http option
+ """
+ raise NotImplementedError()
+ SendPacketOutMessages.future = None
+
+
+def beta_create_OpenFlow_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
+ request_deserializers = {
+ ('voltha.OpenFlow', 'EchoRequest'): openflow__13__pb2.ofp_header.FromString,
+ ('voltha.OpenFlow', 'ExperimenterRequest'): openflow__13__pb2.ofp_experimenter_header.FromString,
+ ('voltha.OpenFlow', 'GetHello'): openflow__13__pb2.ofp_hello.FromString,
+ ('voltha.OpenFlow', 'GetSwitchConfig'): openflow__13__pb2.ofp_header.FromString,
+ ('voltha.OpenFlow', 'GetSwitchFeatures'): openflow__13__pb2.ofp_header.FromString,
+ ('voltha.OpenFlow', 'ReceivePacketInMessages'): openflow__13__pb2.ofp_header.FromString,
+ ('voltha.OpenFlow', 'SendPacketOutMessages'): openflow__13__pb2.ofp_packet_out.FromString,
+ ('voltha.OpenFlow', 'SetConfig'): openflow__13__pb2.ofp_switch_config.FromString,
+ }
+ response_serializers = {
+ ('voltha.OpenFlow', 'EchoRequest'): openflow__13__pb2.ofp_header.SerializeToString,
+ ('voltha.OpenFlow', 'ExperimenterRequest'): openflow__13__pb2.ofp_experimenter_header.SerializeToString,
+ ('voltha.OpenFlow', 'GetHello'): openflow__13__pb2.ofp_hello.SerializeToString,
+ ('voltha.OpenFlow', 'GetSwitchConfig'): openflow__13__pb2.ofp_switch_config.SerializeToString,
+ ('voltha.OpenFlow', 'GetSwitchFeatures'): openflow__13__pb2.ofp_switch_features.SerializeToString,
+ ('voltha.OpenFlow', 'ReceivePacketInMessages'): openflow__13__pb2.ofp_packet_in.SerializeToString,
+ ('voltha.OpenFlow', 'SendPacketOutMessages'): openflow__13__pb2.ofp_header.SerializeToString,
+ ('voltha.OpenFlow', 'SetConfig'): openflow__13__pb2.ofp_header.SerializeToString,
+ }
+ method_implementations = {
+ ('voltha.OpenFlow', 'EchoRequest'): face_utilities.unary_unary_inline(servicer.EchoRequest),
+ ('voltha.OpenFlow', 'ExperimenterRequest'): face_utilities.unary_unary_inline(servicer.ExperimenterRequest),
+ ('voltha.OpenFlow', 'GetHello'): face_utilities.unary_unary_inline(servicer.GetHello),
+ ('voltha.OpenFlow', 'GetSwitchConfig'): face_utilities.unary_unary_inline(servicer.GetSwitchConfig),
+ ('voltha.OpenFlow', 'GetSwitchFeatures'): face_utilities.unary_unary_inline(servicer.GetSwitchFeatures),
+ ('voltha.OpenFlow', 'ReceivePacketInMessages'): face_utilities.unary_stream_inline(servicer.ReceivePacketInMessages),
+ ('voltha.OpenFlow', 'SendPacketOutMessages'): face_utilities.unary_unary_inline(servicer.SendPacketOutMessages),
+ ('voltha.OpenFlow', 'SetConfig'): face_utilities.unary_unary_inline(servicer.SetConfig),
+ }
+ server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
+ return beta_implementations.server(method_implementations, options=server_options)
+
+
+def beta_create_OpenFlow_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
+ request_serializers = {
+ ('voltha.OpenFlow', 'EchoRequest'): openflow__13__pb2.ofp_header.SerializeToString,
+ ('voltha.OpenFlow', 'ExperimenterRequest'): openflow__13__pb2.ofp_experimenter_header.SerializeToString,
+ ('voltha.OpenFlow', 'GetHello'): openflow__13__pb2.ofp_hello.SerializeToString,
+ ('voltha.OpenFlow', 'GetSwitchConfig'): openflow__13__pb2.ofp_header.SerializeToString,
+ ('voltha.OpenFlow', 'GetSwitchFeatures'): openflow__13__pb2.ofp_header.SerializeToString,
+ ('voltha.OpenFlow', 'ReceivePacketInMessages'): openflow__13__pb2.ofp_header.SerializeToString,
+ ('voltha.OpenFlow', 'SendPacketOutMessages'): openflow__13__pb2.ofp_packet_out.SerializeToString,
+ ('voltha.OpenFlow', 'SetConfig'): openflow__13__pb2.ofp_switch_config.SerializeToString,
+ }
+ response_deserializers = {
+ ('voltha.OpenFlow', 'EchoRequest'): openflow__13__pb2.ofp_header.FromString,
+ ('voltha.OpenFlow', 'ExperimenterRequest'): openflow__13__pb2.ofp_experimenter_header.FromString,
+ ('voltha.OpenFlow', 'GetHello'): openflow__13__pb2.ofp_hello.FromString,
+ ('voltha.OpenFlow', 'GetSwitchConfig'): openflow__13__pb2.ofp_switch_config.FromString,
+ ('voltha.OpenFlow', 'GetSwitchFeatures'): openflow__13__pb2.ofp_switch_features.FromString,
+ ('voltha.OpenFlow', 'ReceivePacketInMessages'): openflow__13__pb2.ofp_packet_in.FromString,
+ ('voltha.OpenFlow', 'SendPacketOutMessages'): openflow__13__pb2.ofp_header.FromString,
+ ('voltha.OpenFlow', 'SetConfig'): openflow__13__pb2.ofp_header.FromString,
+ }
+ cardinalities = {
+ 'EchoRequest': cardinality.Cardinality.UNARY_UNARY,
+ 'ExperimenterRequest': cardinality.Cardinality.UNARY_UNARY,
+ 'GetHello': cardinality.Cardinality.UNARY_UNARY,
+ 'GetSwitchConfig': cardinality.Cardinality.UNARY_UNARY,
+ 'GetSwitchFeatures': cardinality.Cardinality.UNARY_UNARY,
+ 'ReceivePacketInMessages': cardinality.Cardinality.UNARY_STREAM,
+ 'SendPacketOutMessages': cardinality.Cardinality.UNARY_UNARY,
+ 'SetConfig': cardinality.Cardinality.UNARY_UNARY,
+ }
+ stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
+ return beta_implementations.dynamic_stub(channel, 'voltha.OpenFlow', cardinalities, options=stub_options)
+# @@protoc_insertion_point(module_scope)