Skip to content

Commit

Permalink
Refactor forwarder to use updated Options pattern from sdk-ovs
Browse files Browse the repository at this point in the history
Depends on: networkservicemesh/sdk-ovs#320

Signed-off-by: Botond Szirtes <[email protected]>
  • Loading branch information
bszirtes committed Apr 22, 2024
1 parent a3989ec commit 885de78
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 26 deletions.
8 changes: 4 additions & 4 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ require (
github.com/edwarnicke/grpcfd v1.1.2
github.com/kelseyhightower/envconfig v1.4.0
github.com/networkservicemesh/api v1.13.1-0.20240411170402-f357d8c715a2
github.com/networkservicemesh/sdk v0.5.1-0.20240415093720-3eafbf6156d7
github.com/networkservicemesh/sdk v0.5.1-0.20240418094831-608b1b518564
github.com/networkservicemesh/sdk-k8s v0.0.0-20240411170828-cb1ee2e11b80
github.com/networkservicemesh/sdk-ovs v0.0.0-20240415095443-306615d1e38d
github.com/networkservicemesh/sdk-sriov v0.0.0-20240415094843-c4bb53f2e668
github.com/networkservicemesh/sdk-ovs v0.0.0-20240418152653-d21bcac77d10
github.com/networkservicemesh/sdk-sriov v0.0.0-20240418100345-53b4eee751d5
github.com/ovn-org/ovn-kubernetes/go-controller v0.0.0-20210826171620-f06c53111a31
github.com/pkg/errors v0.9.1
github.com/sirupsen/logrus v1.9.0
Expand Down Expand Up @@ -70,7 +70,7 @@ require (
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/networkservicemesh/sdk-kernel v0.0.0-20240415094224-0146a64a7221 // indirect
github.com/networkservicemesh/sdk-kernel v0.0.0-20240418095606-2a4c66902432 // indirect
github.com/open-policy-agent/opa v0.44.0 // indirect
github.com/ovn-org/libovsdb v0.6.1-0.20210824154155-9cab5b210dce // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
Expand Down
16 changes: 8 additions & 8 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -402,16 +402,16 @@ github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRW
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
github.com/networkservicemesh/api v1.13.1-0.20240411170402-f357d8c715a2 h1:R3qJRXnSFzwiaGEmD9bZdjVeX7E/T9qsKcvEgg3QUbk=
github.com/networkservicemesh/api v1.13.1-0.20240411170402-f357d8c715a2/go.mod h1:B8FmS3XZ7NZY7ZEtdcNg2NHYppDHlr4kl4eecdZN9eI=
github.com/networkservicemesh/sdk v0.5.1-0.20240415093720-3eafbf6156d7 h1:vyVuyTxdxmLkkE9ztPvkUKgPT5/cxZuVXj6FCyYxEHQ=
github.com/networkservicemesh/sdk v0.5.1-0.20240415093720-3eafbf6156d7/go.mod h1:ERwrGiimSHeUGwgwhgYLl7B/vkYgmIwxZmrQJzJ6hcQ=
github.com/networkservicemesh/sdk v0.5.1-0.20240418094831-608b1b518564 h1:QEAVhzA0X7YXUvfzx72F/wanN68FqTHM0lN4Msfvwh0=
github.com/networkservicemesh/sdk v0.5.1-0.20240418094831-608b1b518564/go.mod h1:ERwrGiimSHeUGwgwhgYLl7B/vkYgmIwxZmrQJzJ6hcQ=
github.com/networkservicemesh/sdk-k8s v0.0.0-20240411170828-cb1ee2e11b80 h1:EL3HNWhKg+NUTaqsIhiG1Tgf+nv+rl35C4lWDUNvHDc=
github.com/networkservicemesh/sdk-k8s v0.0.0-20240411170828-cb1ee2e11b80/go.mod h1:WhBobGFD9KmSg88HmwvuoZTh4rL2jd8Sb+96BLlKjgk=
github.com/networkservicemesh/sdk-kernel v0.0.0-20240415094224-0146a64a7221 h1:qkEQyJGM4DtZqKZH7JxH2wzHZW8il6NY58izu4eEGes=
github.com/networkservicemesh/sdk-kernel v0.0.0-20240415094224-0146a64a7221/go.mod h1:OVCkbv9cgaroH0h0HJOGGomd/z8Dt8Ay6129CFeQEkM=
github.com/networkservicemesh/sdk-ovs v0.0.0-20240415095443-306615d1e38d h1:PhQUnOROvSKT9dlIAXkFlov281zjvYgaTwcCnrnQjRw=
github.com/networkservicemesh/sdk-ovs v0.0.0-20240415095443-306615d1e38d/go.mod h1:0ZBWhhFNWLstJCWg81L6ZB6PpncXJRgU1wXsNULISnc=
github.com/networkservicemesh/sdk-sriov v0.0.0-20240415094843-c4bb53f2e668 h1:M6/V6xUbcEPThzDWvnXk0IzXyOAf8ypfaOPBfrAbYhI=
github.com/networkservicemesh/sdk-sriov v0.0.0-20240415094843-c4bb53f2e668/go.mod h1:nWeOsujfmwztHXnGr/KazBc9MfZ86Fks9CVUGRyK91s=
github.com/networkservicemesh/sdk-kernel v0.0.0-20240418095606-2a4c66902432 h1:cCTF9FNDcsJ6qacwnAFcL+QbmFHMtp3u4R49ebRvTT4=
github.com/networkservicemesh/sdk-kernel v0.0.0-20240418095606-2a4c66902432/go.mod h1:0I6XLdyHngMeIfl+qmT4UMF78lPpxOPAgOG3y1tjM98=
github.com/networkservicemesh/sdk-ovs v0.0.0-20240418152653-d21bcac77d10 h1:aIBJcQpoCOO7uaEYM1ATvCxqem29DSnkcRiOqmeP5KI=
github.com/networkservicemesh/sdk-ovs v0.0.0-20240418152653-d21bcac77d10/go.mod h1:WYghXt3MSjILrkGNQ6r02dpo0QABmq13M+6T5nerzL8=
github.com/networkservicemesh/sdk-sriov v0.0.0-20240418100345-53b4eee751d5 h1:4wbJPcfFvElP4fCnlElEMcKlXckUYWqvZHuAB8nkNWc=
github.com/networkservicemesh/sdk-sriov v0.0.0-20240418100345-53b4eee751d5/go.mod h1:FjCG2SNQD0BdTnSg9PcVZmwtOGPh8O1EbTKukNpDUnk=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
Expand Down
30 changes: 16 additions & 14 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,8 @@ func createInterposeEndpoint(ctx context.Context, config *Config, tlsClientConfi
}

func createKernelInterposeEndpoint(ctx context.Context, config *Config, tlsConfig *tls.Config, source x509svid.Source,
egressTunnelIP net.IP, l2cMap map[string]*ovsutil.L2ConnectionPoint) (endpoint.Endpoint, error) {
egressTunnelIP net.IP, l2cMap map[string]*ovsutil.L2ConnectionPoint,
) (endpoint.Endpoint, error) {
var spiffeidmap genericsync.Map[spiffeid.ID, *genericsync.Map[string, struct{}]]

dialOptions := append(
Expand All @@ -350,22 +351,23 @@ func createKernelInterposeEndpoint(ctx context.Context, config *Config, tlsConfi
grpcfd.WithChainUnaryInterceptor())
return forwarder.NewKernelServer(
ctx,
config.Name,
authorize.NewServer(authorize.WithSpiffeIDConnectionMap(&spiffeidmap)),
monitorauthorize.NewMonitorConnectionServer(monitorauthorize.WithSpiffeIDConnectionMap(&spiffeidmap)),
spiffejwt.TokenGeneratorFunc(source, config.MaxTokenLifetime),
&config.ConnectTo,
config.BridgeName,
egressTunnelIP,
config.DialTimeout,
l2cMap,
forwarder.WithName(config.Name),
forwarder.WithBridgeName(config.BridgeName),
forwarder.WithAuthorizeServer(authorize.NewServer(authorize.WithSpiffeIDConnectionMap(&spiffeidmap))),
forwarder.WithAuthorizeMonitorConnectionServer(monitorauthorize.NewMonitorConnectionServer(monitorauthorize.WithSpiffeIDConnectionMap(&spiffeidmap))),
forwarder.WithClientURL(&config.ConnectTo),
forwarder.WithDialTimeout(config.DialTimeout),
forwarder.WithVxlanOptions(vxlan.WithPort(config.VxlanPort)),
forwarder.WithDialOptions(dialOptions...),
)
}

func createSriovInterposeEndpoint(ctx context.Context, config *Config, tlsConfig *tls.Config, source x509svid.Source,
egressTunnelIP net.IP, l2cMap map[string]*ovsutil.L2ConnectionPoint) (endpoint.Endpoint, error) {
egressTunnelIP net.IP, l2cMap map[string]*ovsutil.L2ConnectionPoint,
) (endpoint.Endpoint, error) {
sriovConfig, err := sriovconfig.ReadConfig(ctx, config.SRIOVConfigFile)
if err != nil {
return nil, err
Expand Down Expand Up @@ -412,18 +414,18 @@ func createSriovInterposeEndpoint(ctx context.Context, config *Config, tlsConfig

return forwarder.NewSriovServer(
ctx,
config.Name,
authorize.NewServer(authorize.WithSpiffeIDConnectionMap(&spiffeidmap)),
monitorauthorize.NewMonitorConnectionServer(monitorauthorize.WithSpiffeIDConnectionMap(&spiffeidmap)),
spiffejwt.TokenGeneratorFunc(source, config.MaxTokenLifetime),
&config.ConnectTo,
config.BridgeName,
egressTunnelIP,
pciPool,
resourcePool,
sriovConfig,
config.DialTimeout,
l2cMap,
forwarder.WithName(config.Name),
forwarder.WithBridgeName(config.BridgeName),
forwarder.WithAuthorizeServer(authorize.NewServer(authorize.WithSpiffeIDConnectionMap(&spiffeidmap))),
forwarder.WithAuthorizeMonitorConnectionServer(monitorauthorize.NewMonitorConnectionServer(monitorauthorize.WithSpiffeIDConnectionMap(&spiffeidmap))),
forwarder.WithClientURL(&config.ConnectTo),
forwarder.WithDialTimeout(config.DialTimeout),
forwarder.WithVxlanOptions(vxlan.WithPort(config.VxlanPort)),
forwarder.WithDialOptions(dialOptions...),
)
Expand Down

0 comments on commit 885de78

Please sign in to comment.