Adds support for BBF WT-385 xPON model:
VOL-151: Framework for OLT PON Configuration Parameters
VOL-152: Framework for ONU Configuration Parameters
VOL-220: Support configuration(Create/Read/Delete) of Channel-Group,
Channel-Partition, Channel-Pair & Channel-Termination Objects
for XGS-PON
Change-Id: I992a4e03e6e7b021d7aa9a49a5f8466876c8f07c
diff --git a/ponsim/grpc_server.py b/ponsim/grpc_server.py
index cea0cc4..7ed70d5 100644
--- a/ponsim/grpc_server.py
+++ b/ponsim/grpc_server.py
@@ -23,6 +23,8 @@
add_PonSimServicer_to_server, PonSimDeviceInfo
from google.protobuf.empty_pb2 import Empty
+from voltha.protos.ponsim_pb2 import XPonSimServicer, add_XPonSimServicer_to_server
+
_ = third_party
log = structlog.get_logger()
@@ -56,19 +58,39 @@
def GetStats(self, request, context):
return self.ponsim.get_stats()
+class XPonHandler(XPonSimServicer):
+
+ def __init__(self, thread_pool, x_pon_sim):
+ self.thread_pool = thread_pool
+ self.x_pon_sim = x_pon_sim
+
+ def CreateInterface(self, request, context):
+ self.x_pon_sim.CreateInterface(request)
+ return Empty()
+
+ def UpdateInterface(self, request, context):
+ self.x_pon_sim.UpdateInterface(request)
+ return Empty()
+
+ def RemoveInterface(self, request, context):
+ self.x_pon_sim.RemoveInterface(request)
+ return Empty()
class GrpcServer(object):
- def __init__(self, port, ponsim):
+ def __init__(self, port, ponsim, x_pon_sim):
self.port = port
self.thread_pool = futures.ThreadPoolExecutor(max_workers=10)
self.server = grpc.server(self.thread_pool)
self.ponsim = ponsim
+ self.x_pon_sim = x_pon_sim
def start(self):
log.debug('starting')
handler = FlowUpdateHandler(self.thread_pool, self.ponsim)
add_PonSimServicer_to_server(handler, self.server)
+ x_pon_handler = XPonHandler(self.thread_pool, self.x_pon_sim)
+ add_XPonSimServicer_to_server(x_pon_handler, self.server)
self.server.add_insecure_port('[::]:%s' % self.port)
self.server.start()
log.info('started')