From 440a4d7e7e85bd32fc8d115d76a581a349f46be5 Mon Sep 17 00:00:00 2001 From: Malte Bauch <malte.bauch@h-da.de> Date: Tue, 18 Feb 2025 16:35:40 +0100 Subject: [PATCH] Update init for assignForwardingHandler --- .../kms/assignForwardingHandler.go | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/goKMS/gnmiHandlers/kms/assignForwardingHandler.go b/goKMS/gnmiHandlers/kms/assignForwardingHandler.go index bc4daeda..35c4da1b 100644 --- a/goKMS/gnmiHandlers/kms/assignForwardingHandler.go +++ b/goKMS/gnmiHandlers/kms/assignForwardingHandler.go @@ -36,6 +36,28 @@ func (yh *AssignForwardingHandler) Init(config *handler.Config, publishToSubsFun yh.Config = config yh.PublishToSubs = publishToSubsFunc + yh.Config.Lock() + defer yh.Config.Unlock() + + copyCurrentConfig, err := ygot.DeepCopy(yh.Config.Data) + if err != nil { + return err + } + + newConfig, ok := copyCurrentConfig.(*gnmitargetygot.Gnmitarget) + if !ok { + return fmt.Errorf("Wrong type, exptected: %T, got: %T", (*gnmitargetygot.OpenconfigInterfaces_Interfaces)(nil), copyCurrentConfig) + } + + newConfig.GetOrCreateAssignForwarding() + + //validate struct + if err := newConfig.Validate(); err != nil { + return err + } + + yh.Config.Data = newConfig + return nil } -- GitLab