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;
     };