VOL-172: Support configuration of traffic descriptor profile for upstream BW allocation to ONU
* As an operator, I should be able to configure traffic descriptor profiles for upstream BW configuration.
* As an operator, I should be able to retrieve the configured traffic descriptor profiles.
Additional Notes:
* xPON Handler and xPON Agent should be able to handle the traffic descriptor configuration.
* This story does not have impact on adapters until the traffic descriptor is referenced by a TCONT
* The traffic descriptor profiles should be saved to the database(in memory until config/restore feature is ready).
* The impact to HA-proxy for load-balancing & distributing of workload is still TBD. As of now, it can be assumed that profiles are available to all VOLTHA instances.
VOL-173: Support configuration of TCONTs as per WT-385 and auto-allocation of alloc-ids
* As an operator, I should be able to provision a TCONT for the ONU with an existing traffic descriptor profile
* As an operator, I should be able to retrieve the provisioned TCONT
* As an operator, I should be able to change the traffic descriptor profile for a TCONT
Additional Notes:
* alloc-ids should be allocated for the TCONT
* generic IAdapter interface to be provided that will be used by OLT and ONU adapters for TCONT/alloc-id/BW configuration
* In the best interest of schedules/timing, in the first step(e.g. POC-3 & trial), assume the queueing model to be supported (to be detailed) (i.e. no configuration of queueing model)
* The concerned ONU should receive upstream grants upon provisioning of TCONT for the ONU
VOL-174: Support configuration of GEMs as per WT-385 and auto-allocation of gemport-ids
* As an operator, I should be able to provision a GEMPORT object for the ONU and assign to a UNI
* As an operator, I should be able to retrieve the provisioned GEMPORT
Additional Notes:
* gemport-ids should be auto-allocated for the GEMPORT object
* generic IAdapter interface to be provided that will be used by OLT and ONU adapters for GEM port configuration
* In the best interest of schedules/timing, in the first step(e.g. POC-3 & trial), assume the queueing model to be supported (to be detailed) (i.e. no configuration of queueing model)
* The concerned OLT and ONU should be configured with the allocated gemport-ids
Change-Id: I451cd7c0eda57c7b9fa1d65d02c749ff2bf0db4b
diff --git a/ponsim/ponsim_servicer.py b/ponsim/ponsim_servicer.py
index b7a524f..ccfec38 100644
--- a/ponsim/ponsim_servicer.py
+++ b/ponsim/ponsim_servicer.py
@@ -69,3 +69,57 @@
def RemoveInterface(self, request, context):
self.x_pon_sim.RemoveInterface(request)
return Empty()
+
+ def CreateTcont(self, request, context):
+ self.x_pon_sim.CreateTcont(
+ request.tconts_config_data,
+ request.traffic_descriptor_profile_config_data)
+ return Empty()
+
+ def UpdateTcont(self, request, context):
+ self.x_pon_sim.UpdateTcont(
+ request.tconts_config_data,
+ request.traffic_descriptor_profile_config_data)
+ return Empty()
+
+ def RemoveTcont(self, request, context):
+ self.x_pon_sim.RemoveTcont(
+ request.tconts_config_data,
+ request.traffic_descriptor_profile_config_data)
+ return Empty()
+
+ def CreateGemport(self, request, context):
+ self.x_pon_sim.CreateGemport(request)
+ return Empty()
+
+ def UpdateGemport(self, request, context):
+ self.x_pon_sim.UpdateGemport(request)
+ return Empty()
+
+ def RemoveGemport(self, request, context):
+ self.x_pon_sim.RemoveGemport(request)
+ return Empty()
+
+ def CreateMulticastGemport(self, request, context):
+ self.x_pon_sim.CreateMulticastGemport(request)
+ return Empty()
+
+ def UpdateMulticastGemport(self, request, context):
+ self.x_pon_sim.UpdateMulticastGemport(request)
+ return Empty()
+
+ def RemoveMulticastGemport(self, request, context):
+ self.x_pon_sim.RemoveMulticastGemport(request)
+ return Empty()
+
+ def CreateMulticastDistributionSet(self, request, context):
+ self.x_pon_sim.CreateMulticastDistributionSet(request)
+ return Empty()
+
+ def UpdateMulticastDistributionSet(self, request, context):
+ self.x_pon_sim.UpdateMulticastDistributionSet(request)
+ return Empty()
+
+ def RemoveMulticastDistributionSet(self, request, context):
+ self.x_pon_sim.RemoveMulticastDistributionSet(request)
+ return Empty()