VOL-1116 Openolt reboot

Change-Id: I4bdb3aa6c0feec46b895abb812f33c8345a7dc46
diff --git a/protos/openolt.proto b/protos/openolt.proto
index 87515f9..bc9e953 100644
--- a/protos/openolt.proto
+++ b/protos/openolt.proto
@@ -88,6 +88,13 @@
         };
     }
 
+    rpc Reboot(Empty) returns (Empty) {
+         option (google.api.http) = {
+            post: "/v1/Reboot"
+            body: "*"
+        };
+    }
+
     rpc EnableIndication(Empty) returns (stream Indication) {}
 }
 
diff --git a/src/server.cc b/src/server.cc
index 0b32fbc..46b8bff 100644
--- a/src/server.cc
+++ b/src/server.cc
@@ -172,6 +172,18 @@
         return DisablePonIf_(request->intf_id());
     }
 
+    Status Reboot(
+            ServerContext* context,
+            const openolt::Empty* request,
+            openolt::Empty* response) override {
+
+        system("shutdown -r now");
+
+        return Status::OK;
+
+    }
+
+
 };
 
 void RunServer() {