From 6d1beb167a9961d7542b472430a8c46c449976a0 Mon Sep 17 00:00:00 2001 From: Nikita Skrynnik <93182827+NikitaSkrynnik@users.noreply.github.com> Date: Tue, 20 Feb 2024 16:42:18 +0700 Subject: [PATCH 1/2] Remove deprecated API for watching VPPAPI events (#798) * add watcher Signed-off-by: Nikita Skrynnik * remove deprecated API from wireguard Signed-off-by: Nikita Skrynnik * fix golangci linter Signed-off-by: Nikita Skrynnik * go mod tidy Signed-off-by: Nikita Skrynnik * delete more of deprecated API Signed-off-by: NikitaSkrynnik * fix go linter issues Signed-off-by: NikitaSkrynnik --------- Signed-off-by: Nikita Skrynnik Signed-off-by: NikitaSkrynnik --- pkg/tools/heal/liveness_check.go | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/pkg/tools/heal/liveness_check.go b/pkg/tools/heal/liveness_check.go index 994035bc..44fd90bf 100644 --- a/pkg/tools/heal/liveness_check.go +++ b/pkg/tools/heal/liveness_check.go @@ -24,6 +24,7 @@ import ( "github.com/networkservicemesh/api/pkg/api/networkservice" "github.com/networkservicemesh/govpp/binapi/ip_types" "github.com/networkservicemesh/govpp/binapi/ping" + "github.com/networkservicemesh/sdk-vpp/pkg/tools/ifindex" "github.com/networkservicemesh/sdk/pkg/tools/log" "github.com/pkg/errors" "go.fd.io/govpp/api" @@ -62,16 +63,6 @@ func doPing( responseCh chan bool) { logger := log.FromContext(deadlineCtx).WithField("srcIP", srcIP.String()).WithField("dstIP", dstIP.String()) - if _, err := ping.NewServiceClient(vppConn).WantPingFinishedEvents(deadlineCtx, &ping.WantPingFinishedEvents{ - Address: dstIP, - Interval: interval, - Repeat: repeat, - }); err != nil { - logger.Error(errors.Wrap(err, "vppapi WantPingEvents returned error")) - responseCh <- true - return - } - watcher, err := vppConn.WatchEvent(deadlineCtx, &ping.PingFinishedEvent{}) if err != nil { logger.Error(errors.Wrap(err, "failed to watch ping.PingFinishedEvent").Error()) @@ -81,6 +72,23 @@ func doPing( defer func() { watcher.Close() }() + ifindex, ok := ifindex.Load(deadlineCtx, true) + if !ok { + logger.Errorf("failed to load ifindex") + responseCh <- true + return + } + if _, err := ping.NewServiceClient(vppConn).WantPingFinishedEvents(deadlineCtx, &ping.WantPingFinishedEvents{ + Address: dstIP, + SwIfIndex: ifindex, + Interval: interval, + Repeat: repeat, + }); err != nil { + logger.Error(errors.Wrap(err, "vppapi WantPingEvents returned error")) + responseCh <- true + return + } + select { case <-deadlineCtx.Done(): responseCh <- true From 5f8753eec46d2b52baf55438b6273ea2d3cee3f3 Mon Sep 17 00:00:00 2001 From: NikitaSkrynnik Date: Fri, 1 Mar 2024 11:36:19 +0700 Subject: [PATCH 2/2] fix go linter issues Signed-off-by: NikitaSkrynnik --- pkg/tools/heal/liveness_check.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/tools/heal/liveness_check.go b/pkg/tools/heal/liveness_check.go index 44fd90bf..6abb2ebe 100644 --- a/pkg/tools/heal/liveness_check.go +++ b/pkg/tools/heal/liveness_check.go @@ -24,10 +24,11 @@ import ( "github.com/networkservicemesh/api/pkg/api/networkservice" "github.com/networkservicemesh/govpp/binapi/ip_types" "github.com/networkservicemesh/govpp/binapi/ping" - "github.com/networkservicemesh/sdk-vpp/pkg/tools/ifindex" "github.com/networkservicemesh/sdk/pkg/tools/log" "github.com/pkg/errors" "go.fd.io/govpp/api" + + "github.com/networkservicemesh/sdk-vpp/pkg/tools/ifindex" ) const ( @@ -72,7 +73,7 @@ func doPing( defer func() { watcher.Close() }() - ifindex, ok := ifindex.Load(deadlineCtx, true) + index, ok := ifindex.Load(deadlineCtx, true) if !ok { logger.Errorf("failed to load ifindex") responseCh <- true @@ -80,7 +81,7 @@ func doPing( } if _, err := ping.NewServiceClient(vppConn).WantPingFinishedEvents(deadlineCtx, &ping.WantPingFinishedEvents{ Address: dstIP, - SwIfIndex: ifindex, + SwIfIndex: index, Interval: interval, Repeat: repeat, }); err != nil {