diff --git a/.golangci.yml b/.golangci.yml index d60b30d..bccba01 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -36,7 +36,7 @@ linters-settings: dupl: threshold: 150 funlen: - Lines: 300 + Lines: 350 Statements: 125 goconst: min-len: 2 diff --git a/go.mod b/go.mod index 7340323..077b70b 100644 --- a/go.mod +++ b/go.mod @@ -30,6 +30,7 @@ require ( github.com/edwarnicke/log v1.0.0 // indirect github.com/edwarnicke/serialize v1.0.7 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/ftrvxmtrx/fd v0.0.0-20150925145434-c6d800382fff // indirect github.com/ghodss/yaml v1.0.0 // indirect github.com/go-jose/go-jose/v3 v3.0.3 // indirect github.com/go-logr/logr v1.3.0 // indirect diff --git a/go.sum b/go.sum index e713a4a..41ca63a 100644 --- a/go.sum +++ b/go.sum @@ -55,6 +55,8 @@ github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8 github.com/foxcpp/go-mockdns v0.0.0-20210729171921-fb145fc6f897 h1:E52jfcE64UG42SwLmrW0QByONfGynWuzBvm86BoB9z8= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= +github.com/ftrvxmtrx/fd v0.0.0-20150925145434-c6d800382fff h1:zk1wwii7uXmI0znwU+lqg+wFL9G5+vm5I+9rv2let60= +github.com/ftrvxmtrx/fd v0.0.0-20150925145434-c6d800382fff/go.mod h1:yUhRXHewUVJ1k89wHKP68xfzk7kwXUx/DV1nx4EBMbw= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-jose/go-jose/v3 v3.0.3 h1:fFKWeig/irsp7XD2zBxvnmA/XaRWp5V3CBsZXJF7G7k= diff --git a/main.go b/main.go index 88d36b2..df2fb1e 100644 --- a/main.go +++ b/main.go @@ -39,6 +39,7 @@ import ( "github.com/networkservicemesh/sdk-vpp/pkg/networkservice/loopback" "github.com/networkservicemesh/sdk-vpp/pkg/networkservice/mechanisms/memif" + "github.com/networkservicemesh/sdk-vpp/pkg/networkservice/metrics" "github.com/networkservicemesh/sdk-vpp/pkg/networkservice/up" "github.com/networkservicemesh/sdk-vpp/pkg/networkservice/vrf" "github.com/networkservicemesh/sdk/pkg/ipam/strictvl3ipam" @@ -77,6 +78,7 @@ import ( "github.com/networkservicemesh/api/pkg/api/ipam" "github.com/networkservicemesh/api/pkg/api/networkservice" + kernelmech "github.com/networkservicemesh/api/pkg/api/networkservice/mechanisms/kernel" "github.com/networkservicemesh/api/pkg/api/networkservice/payload" registryapi "github.com/networkservicemesh/api/pkg/api/registry" "github.com/networkservicemesh/sdk-vpp/pkg/networkservice/tag" @@ -321,7 +323,9 @@ func main() { clientAdditionalFunctionality, clientinfo.NewClient(), kernelsdk.NewClient(), - sendfd.NewClient(), + mechanisms.NewClient(map[string]networkservice.NetworkServiceClient{ + kernelmech.MECHANISM: sendfd.NewClient(), + }), )..., ), client.WithDialTimeout(config.DialTimeout), @@ -551,8 +555,11 @@ func createVl3Client(ctx context.Context, config *Config, vppConn vpphelper.Conn routes.NewClient(vppConn), unnumbered.NewClient(vppConn, loopback.Load), vrf.NewClient(vppConn, vrfOpts...), + metrics.NewClient(ctx, vppConn), memif.NewClient(ctx, vppConn), - sendfd.NewClient(), + mechanisms.NewClient(map[string]networkservice.NetworkServiceClient{ + memif.MECHANISM: sendfd.NewClient(), + }), recvfd.NewClient(), )..., ), @@ -592,6 +599,7 @@ func createVl3Endpoint(ctx context.Context, cancel context.CancelFunc, config *C unnumbered.NewServer(vppConn, loopback.Load), vrf.NewServer(vppConn, vrfOpts...), loopback.NewServer(vppConn, loopOpts...), + metrics.NewServer(ctx, vppConn), mechanisms.NewServer(map[string]networkservice.NetworkServiceServer{ memif.MECHANISM: chain.NewNetworkServiceServer( sendfd.NewServer(),