VOL-1447: Changes in OpenOLT driver for creating the Traffic Schedulers and
Queues as per the TechProfile configuration
Change-Id: I3a51ce53c8f9bd369b89b5f1f55f74f73893d65e
diff --git a/agent/common/core.h b/agent/common/core.h
index 01e09a0..22ef8a9 100644
--- a/agent/common/core.h
+++ b/agent/common/core.h
@@ -42,7 +42,7 @@
unsigned NumNniIf_();
unsigned NumPonIf_();
Status OmciMsgOut_(uint32_t intf_id, uint32_t onu_id, const std::string pkt);
-Status OnuPacketOut_(uint32_t intf_id, uint32_t onu_id, uint32_t port_no, const std::string pkt);
+Status OnuPacketOut_(uint32_t intf_id, uint32_t onu_id, uint32_t port_no, uint32_t gemport_id, const std::string pkt);
Status ProbeDeviceCapabilities_();
Status ProbePonIfTechnology_();
Status UplinkPacketOut_(uint32_t intf_id, const std::string pkt);
@@ -55,8 +55,10 @@
Status Disable_();
Status Reenable_();
Status GetDeviceInfo_(openolt::DeviceInfo* device_info);
-Status CreateTconts_(const openolt::Tconts *tconts);
-Status RemoveTconts_(const openolt::Tconts *tconts);
+Status CreateTrafficSchedulers_(const tech_profile::TrafficSchedulers *traffic_scheds);
+Status RemoveTrafficSchedulers_(const tech_profile::TrafficSchedulers *traffic_scheds);
+Status CreateTrafficQueues_(const tech_profile::TrafficQueues *traffic_queues);
+Status RemoveTrafficQueues_(const tech_profile::TrafficQueues *traffic_queues);
uint32_t GetPortNum_(uint32_t flow_id);
void stats_collection();
diff --git a/agent/common/server.cc b/agent/common/server.cc
index 03707cd..f87b85e 100644
--- a/agent/common/server.cc
+++ b/agent/common/server.cc
@@ -31,6 +31,7 @@
#include <grpc++/grpc++.h>
#include <openolt.grpc.pb.h>
+#include <tech_profile.grpc.pb.h>
using grpc::Server;
using grpc::ServerBuilder;
@@ -110,6 +111,7 @@
request->intf_id(),
request->onu_id(),
request->port_no(),
+ request->gemport_id(),
request->pkt());
}
@@ -258,19 +260,35 @@
}
- Status CreateTconts(
+ Status CreateTrafficSchedulers(
ServerContext* context,
- const openolt::Tconts* request,
+ const tech_profile::TrafficSchedulers* request,
openolt::Empty* response) override {
- CreateTconts_(request);
+ CreateTrafficSchedulers_(request);
return Status::OK;
};
- Status RemoveTconts(
+ Status RemoveTrafficSchedulers(
ServerContext* context,
- const openolt::Tconts* request,
+ const tech_profile::TrafficSchedulers* request,
openolt::Empty* response) override {
- RemoveTconts_(request);
+ RemoveTrafficSchedulers_(request);
+ return Status::OK;
+ };
+
+ Status CreateTrafficQueues(
+ ServerContext* context,
+ const tech_profile::TrafficQueues* request,
+ openolt::Empty* response) override {
+ CreateTrafficQueues_(request);
+ return Status::OK;
+ };
+
+ Status RemoveTrafficQueues(
+ ServerContext* context,
+ const tech_profile::TrafficQueues* request,
+ openolt::Empty* response) override {
+ RemoveTrafficQueues_(request);
return Status::OK;
};