View status of individual PON ports
Change-Id: I051799fe46828b8eda6db49c9765eb0a697a74be
diff --git a/VERSION b/VERSION
index 38f77a6..8041668 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.0.1
+2.0.1-dev0
diff --git a/core/grpc_service.go b/core/grpc_service.go
index e18dfa5..38f9539 100644
--- a/core/grpc_service.go
+++ b/core/grpc_service.go
@@ -318,6 +318,20 @@
return new(openolt.Empty), nil
}
+func (s *Server) GetPonIf(c context.Context, intf *openolt.Interface) (*openolt.IntfIndication, error){
+ logger.Debug("OLT %d receives GetPonIf().", s.Olt.ID)
+ stat := new(openolt.IntfIndication)
+
+ if intf.IntfId > (s.Olt.NumPonIntf-1){
+ logger.Error("PON ID %d out of bounds. %d ports total", intf.IntfId, s.Olt.NumPonIntf)
+ return stat, status.Errorf(codes.OutOfRange, "PON ID %d out of bounds. %d ports total (indexing starts at 0)", intf.IntfId, s.Olt.NumPonIntf)
+ } else{
+ stat.IntfId = intf.IntfId
+ stat.OperState = "up"
+ return stat, nil
+ }
+}
+
func (s *Server) DisablePonIf(c context.Context, intf *openolt.Interface) (*openolt.Empty, error) {
logger.Debug("OLT %d receives DisablePonIf().", s.Olt.ID)
return new(openolt.Empty), nil
diff --git a/openolt.proto b/openolt.proto
index ddc8f74..12f1db0 100644
--- a/openolt.proto
+++ b/openolt.proto
@@ -102,6 +102,13 @@
};
}
+ rpc GetPonIf(Interface) returns (IntfIndication) {
+ option (google.api.http) = {
+ post: "/v1/GetPonIf"
+ body: "*"
+ };
+ }
+
rpc DisablePonIf(Interface) returns (Empty) {
option (google.api.http) = {
post: "/v1/DisablePonIf"