From f7c576912223f0f986ae531794288697117cb06c Mon Sep 17 00:00:00 2001 From: NikitaSkrynnik Date: Mon, 27 May 2024 19:34:28 +1100 Subject: [PATCH 1/2] Add strictipam.Server to cleanup ipcontext on healing Signed-off-by: NikitaSkrynnik --- main.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index c298336..c43dff5 100644 --- a/main.go +++ b/main.go @@ -26,6 +26,7 @@ package main import ( "context" "crypto/tls" + "net" "net/url" "os" "os/signal" @@ -57,6 +58,8 @@ import ( "github.com/networkservicemesh/sdk/pkg/networkservice/common/mechanisms/sendfd" "github.com/networkservicemesh/sdk/pkg/networkservice/core/chain" "github.com/networkservicemesh/sdk/pkg/networkservice/ipam/groupipam" + "github.com/networkservicemesh/sdk/pkg/networkservice/ipam/point2pointipam" + "github.com/networkservicemesh/sdk/pkg/networkservice/ipam/strictipam" registryclient "github.com/networkservicemesh/sdk/pkg/registry/chains/client" registryauthorize "github.com/networkservicemesh/sdk/pkg/registry/common/authorize" "github.com/networkservicemesh/sdk/pkg/registry/common/clientinfo" @@ -189,7 +192,9 @@ func main() { endpoint.WithName(config.Name), endpoint.WithAuthorizeServer(authorize.NewServer()), endpoint.WithAdditionalFunctionality( - groupipam.NewServer(config.CidrPrefix), + groupipam.NewServer(config.CidrPrefix, groupipam.WithCustomIPAMServer(func(prefixes ...*net.IPNet) networkservice.NetworkServiceServer { + return strictipam.NewServer(point2pointipam.NewServer, prefixes...) + })), mechanisms.NewServer(map[string]networkservice.NetworkServiceServer{ memif.MECHANISM: chain.NewNetworkServiceServer( sendfd.NewServer(), From e3b46a539fb31e2cc95f06eab4677c8cb742a113 Mon Sep 17 00:00:00 2001 From: NikitaSkrynnik Date: Mon, 27 May 2024 21:24:33 +1100 Subject: [PATCH 2/2] run go gen ./... Signed-off-by: NikitaSkrynnik --- internal/imports/imports_linux.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/imports/imports_linux.go b/internal/imports/imports_linux.go index 2be8a9a..97701d1 100644 --- a/internal/imports/imports_linux.go +++ b/internal/imports/imports_linux.go @@ -19,6 +19,8 @@ import ( _ "github.com/networkservicemesh/sdk/pkg/networkservice/common/mechanisms/sendfd" _ "github.com/networkservicemesh/sdk/pkg/networkservice/core/chain" _ "github.com/networkservicemesh/sdk/pkg/networkservice/ipam/groupipam" + _ "github.com/networkservicemesh/sdk/pkg/networkservice/ipam/point2pointipam" + _ "github.com/networkservicemesh/sdk/pkg/networkservice/ipam/strictipam" _ "github.com/networkservicemesh/sdk/pkg/registry/chains/client" _ "github.com/networkservicemesh/sdk/pkg/registry/common/authorize" _ "github.com/networkservicemesh/sdk/pkg/registry/common/clientinfo" @@ -39,6 +41,7 @@ import ( _ "github.com/spiffe/go-spiffe/v2/workloadapi" _ "google.golang.org/grpc" _ "google.golang.org/grpc/credentials" + _ "net" _ "net/url" _ "os" _ "os/signal"