diff --git a/pkg/networkservice/chains/nsmgr/fd_chains.go b/pkg/networkservice/chains/nsmgr/fd_chains.go index 1f7fb50e3..a57b17257 100644 --- a/pkg/networkservice/chains/nsmgr/fd_chains.go +++ b/pkg/networkservice/chains/nsmgr/fd_chains.go @@ -28,6 +28,11 @@ func newRecvFD() networkservice.NetworkServiceServer { return nil } +// newSendFDClient - construct a sendfd server +func newSendFDClient() networkservice.NetworkServiceClient { + return nil +} + // newRecvFDEndpointRegistry - construct a registry server func newRecvFDEndpointRegistry() registry.NetworkServiceEndpointRegistryServer { return nil diff --git a/pkg/networkservice/chains/nsmgr/fd_chains_linux.go b/pkg/networkservice/chains/nsmgr/fd_chains_linux.go index ff708c699..c6da03b5d 100644 --- a/pkg/networkservice/chains/nsmgr/fd_chains_linux.go +++ b/pkg/networkservice/chains/nsmgr/fd_chains_linux.go @@ -22,6 +22,8 @@ import ( "github.com/networkservicemesh/api/pkg/api/networkservice" "github.com/networkservicemesh/api/pkg/api/registry" + "github.com/networkservicemesh/sdk/pkg/networkservice/common/mechanisms/sendfd" + "github.com/networkservicemesh/sdk/pkg/networkservice/common/mechanisms/recvfd" recvfdreg "github.com/networkservicemesh/sdk/pkg/registry/common/recvfd" ) @@ -31,6 +33,11 @@ func newRecvFD() networkservice.NetworkServiceServer { return recvfd.NewServer() } +// newSendFDClient - construct a sendfd server +func newSendFDClient() networkservice.NetworkServiceClient { + return sendfd.NewClient() +} + // newRecvFDEndpointRegistry - construct a registry server func newRecvFDEndpointRegistry() registry.NetworkServiceEndpointRegistryServer { return recvfdreg.NewNetworkServiceEndpointRegistryServer() diff --git a/pkg/networkservice/chains/nsmgr/server.go b/pkg/networkservice/chains/nsmgr/server.go index ac4cb55c4..0545571dc 100644 --- a/pkg/networkservice/chains/nsmgr/server.go +++ b/pkg/networkservice/chains/nsmgr/server.go @@ -121,6 +121,9 @@ func NewServer(ctx context.Context, nsmRegistration *registryapi.NetworkServiceE addressof.NetworkServiceClient( adapters.NewServerToClient(rv)), tokenGenerator, + nilClientFilter( + newSendFDClient(), // Send passed files. + )..., ), clientDialOptions...), )..., @@ -142,6 +145,16 @@ func NewServer(ctx context.Context, nsmRegistration *registryapi.NetworkServiceE return rv } +func nilClientFilter(clients ...networkservice.NetworkServiceClient) []networkservice.NetworkServiceClient { + result := []networkservice.NetworkServiceClient{} + for _, s := range clients { + if s != nil { + result = append(result, s) + } + } + return result +} + func nilEndpointFilter(servers ...registryapi.NetworkServiceEndpointRegistryServer) []registryapi.NetworkServiceEndpointRegistryServer { result := []registryapi.NetworkServiceEndpointRegistryServer{} for _, s := range servers {