SEBA-256
Added cmd line switches to AbstractOLT and Client

Change-Id: Ib55e1bf62e90ee49508073c9fdf1b50ae6d8ba64
diff --git a/api/abstract_olt_api.proto b/api/abstract_olt_api.proto
index 6da61c8..fb4aee7 100644
--- a/api/abstract_olt_api.proto
+++ b/api/abstract_olt_api.proto
@@ -16,6 +16,13 @@
 package api;
 import "google/api/annotations.proto";
 
+message EchoMessage{
+   string Ping =1;
+}
+message EchoReplyMessage{
+   string Pong =1;
+}
+
 message AddChassisMessage{
    string CLLI =1;
    string VCoreIP =2;
@@ -75,6 +82,12 @@
    bool Success=1;
 }
 service AbstractOLT{
+   rpc Echo(EchoMessage) returns (EchoReplyMessage){
+      option(google.api.http)={
+        post:"/v1/Echo"
+	body:"*"
+      };
+   }
    rpc CreateChassis(AddChassisMessage) returns (AddChassisReturn) {
       option(google.api.http) = {
          post: "/v1/CreateAbstractChassis"
diff --git a/api/handler.go b/api/handler.go
index bb1a9b3..54115a6 100644
--- a/api/handler.go
+++ b/api/handler.go
@@ -36,6 +36,12 @@
 type Server struct {
 }
 
+func (s *Server) Echo(ctx context.Context, in *EchoMessage) (*EchoReplyMessage, error) {
+	ping := in.GetPing()
+	pong := EchoReplyMessage{Pong: ping}
+	return &pong, nil
+}
+
 /*
 CreateChassis - allocates a new Chassis struct and stores it in chassisMap
 */