VOL-3616 Support for API to retrieve information (example UNI) from an ONU
This commit implements extension service, which includes handling of the GetExtValue and SetExtValue APIs
Change-Id: I537160af5b70eccef77a8bc11235af3b50f9a513
diff --git a/rw_core/core/core.go b/rw_core/core/core.go
index 056594b..1a22267 100644
--- a/rw_core/core/core.go
+++ b/rw_core/core/core.go
@@ -30,6 +30,7 @@
"github.com/opencord/voltha-lib-go/v4/pkg/kafka"
"github.com/opencord/voltha-lib-go/v4/pkg/log"
"github.com/opencord/voltha-lib-go/v4/pkg/probe"
+ "github.com/opencord/voltha-protos/v4/go/extension"
"github.com/opencord/voltha-protos/v4/go/voltha"
"google.golang.org/grpc"
)
@@ -136,6 +137,10 @@
// start gRPC handler
grpcServer := grpcserver.NewGrpcServer(cf.GrpcAddress, nil, false, probe.GetProbeFromContext(ctx))
+
+ //Register the 'Extension' service on this gRPC server
+ addGRPCExtensionService(ctx, grpcServer, device.GetNewExtensionManager(deviceMgr))
+
go startGRPCService(ctx, grpcServer, api.NewNBIHandler(deviceMgr, logicalDeviceMgr, adapterMgr))
defer grpcServer.Stop()
@@ -163,3 +168,12 @@
server.Start(ctx)
probe.UpdateStatusFromContext(ctx, "grpc-service", probe.ServiceStatusStopped)
}
+
+func addGRPCExtensionService(ctx context.Context, server *grpcserver.GrpcServer, handler extension.ExtensionServer) {
+ logger.Info(ctx, "extension-grpc-server-created")
+
+ server.AddService(func(server *grpc.Server) {
+ extension.RegisterExtensionServer(server, handler)
+ })
+
+}