From c9df869a1ebfa901d9538b44b795c0af113dcc6b Mon Sep 17 00:00:00 2001 From: Malte Bauch <malte.bauch@extern.h-da.de> Date: Mon, 18 Jul 2022 14:04:11 +0200 Subject: [PATCH] Added callback function to gnmitarget --- gnmitarget/callback.go | 32 ++++++++++++++++++++++++++++++++ gnmitarget/target.go | 7 +------ 2 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 gnmitarget/callback.go diff --git a/gnmitarget/callback.go b/gnmitarget/callback.go new file mode 100644 index 0000000..83a6067 --- /dev/null +++ b/gnmitarget/callback.go @@ -0,0 +1,32 @@ +package gnmitarget + +import ( + "fmt" + + "code.fbi.h-da.de/danet/gnmi-target/modeldata/gnmitargetygot" + "github.com/openconfig/ygot/ygot" +) + +func callbackFunc(config ygot.ValidatedGoStruct) error { + conf, ok := config.(*gnmitargetygot.Gnmitarget) + if !ok { + return fmt.Errorf("failed type assertion for %T", (*gnmitargetygot.Gnmitarget)(nil)) + } + + walkThroughSystem(conf.GetSystem()) + walkThroughInterfaces(conf.GetInterfaces()) + walkThroughNetworkInstances(conf.GetNetworkInstances()) + return nil +} + +func walkThroughSystem(system *gnmitargetygot.OpenconfigSystem_System) error { + return nil +} + +func walkThroughInterfaces(interfaces *gnmitargetygot.OpenconfigInterfaces_Interfaces) error { + return nil +} + +func walkThroughNetworkInstances(system *gnmitargetygot.OpenconfigNetworkInstance_NetworkInstances) error { + return nil +} diff --git a/gnmitarget/target.go b/gnmitarget/target.go index e6873ce..adc1b0f 100644 --- a/gnmitarget/target.go +++ b/gnmitarget/target.go @@ -18,7 +18,6 @@ import ( "code.fbi.h-da.de/danet/gnmi-target/modeldata/gnmitargetygot" pbGNMI "github.com/openconfig/gnmi/proto/gnmi" - "github.com/openconfig/ygot/ygot" log "github.com/sirupsen/logrus" ) @@ -80,7 +79,7 @@ func (gt *GnmiTarget) Start(bindAddress string) error { } } - gnmiServer, err := gnmiserver.NewServer(gnmiModel, gt.os.GetConfig(), gt.callbackFunc) + gnmiServer, err := gnmiserver.NewServer(gnmiModel, gt.os.GetConfig(), callbackFunc) if err != nil { log.Fatalf("error in creating GNMI target: %v", err) } @@ -107,7 +106,3 @@ func (gt *GnmiTarget) Start(bindAddress string) error { return nil } - -func (gt GnmiTarget) callbackFunc(config ygot.ValidatedGoStruct) error { - return nil -} -- GitLab