From 9a9317df2f67fdfc31fa41f02ccac351f46f448e Mon Sep 17 00:00:00 2001 From: Dmitri Dolguikh Date: Mon, 20 Jul 2026 11:44:34 +0200 Subject: [PATCH] disable network components on the mgmt server by default Signed-off-by: Dmitri Dolguikh --- .../network_map/controller/controller.go | 6 +++--- management/internals/shared/grpc/server.go | 2 +- shared/management/client/grpc.go | 2 +- .../management/grpc/sync_message_versions.go | 13 ++++++------ .../grpc/sync_message_versions_test.go | 21 +++++++++++-------- 5 files changed, 24 insertions(+), 20 deletions(-) diff --git a/management/internals/controllers/network_map/controller/controller.go b/management/internals/controllers/network_map/controller/controller.go index ab9bc1787..29bfc1241 100644 --- a/management/internals/controllers/network_map/controller/controller.go +++ b/management/internals/controllers/network_map/controller/controller.go @@ -233,7 +233,7 @@ func (c *Controller) sendUpdateAccountPeers(ctx context.Context, accountID strin proxyNetworkMap := proxyNetworkMaps[p.ID] var update *proto.SyncResponse - commonSyncMessageVersion := sharedgrpc.HighestCommonSyncMessageVersions( + commonSyncMessageVersion := sharedgrpc.HighestCommonSyncMessageVersion( c.perAccountOrGlobalSupportedSyncMessageVersions(accountID), sharedgrpc.SyncMessageVersionFromConfig(&peer.Meta.SyncMessageVersion)) @@ -400,7 +400,7 @@ func (c *Controller) sendUpdateForAffectedPeers(ctx context.Context, accountID s proxyNetworkMap := proxyNetworkMaps[p.ID] var update *proto.SyncResponse - commonSyncMessageVersion := sharedgrpc.HighestCommonSyncMessageVersions( + commonSyncMessageVersion := sharedgrpc.HighestCommonSyncMessageVersion( c.perAccountOrGlobalSupportedSyncMessageVersions(accountID), sharedgrpc.SyncMessageVersionFromConfig(&peer.Meta.SyncMessageVersion)) @@ -536,7 +536,7 @@ func (c *Controller) UpdateAccountPeer(ctx context.Context, accountId string, pe var update *proto.SyncResponse - commonSyncMessageVersion := sharedgrpc.HighestCommonSyncMessageVersions( + commonSyncMessageVersion := sharedgrpc.HighestCommonSyncMessageVersion( c.perAccountOrGlobalSupportedSyncMessageVersions(accountId), sharedgrpc.SyncMessageVersionFromConfig(&peer.Meta.SyncMessageVersion)) diff --git a/management/internals/shared/grpc/server.go b/management/internals/shared/grpc/server.go index 322de786d..99a55599d 100644 --- a/management/internals/shared/grpc/server.go +++ b/management/internals/shared/grpc/server.go @@ -1023,7 +1023,7 @@ func (s *Server) sendInitialSync(ctx context.Context, peerKey wgtypes.Key, peer var plainResp *proto.SyncResponse - commonSyncMessageVersion := sharedgrpc.HighestCommonSyncMessageVersions( + commonSyncMessageVersion := sharedgrpc.HighestCommonSyncMessageVersion( s.perAccountOrGlobalSyncMessageVersions(peer.AccountID), sharedgrpc.SyncMessageVersionFromConfig(&peer.Meta.SyncMessageVersion)) diff --git a/shared/management/client/grpc.go b/shared/management/client/grpc.go index 613f0d16a..cd91d25fb 100644 --- a/shared/management/client/grpc.go +++ b/shared/management/client/grpc.go @@ -1047,5 +1047,5 @@ func syncMessageVersion(info system.Info) int32 { if info.SyncMessageVersion != nil { return int32(*info.SyncMessageVersion) } - return int32(nbmgmtgrpc.CurrentSyncMessageVersion) + return int32(nbmgmtgrpc.DefaultSyncMessageVersion) } diff --git a/shared/management/grpc/sync_message_versions.go b/shared/management/grpc/sync_message_versions.go index 52ee04d42..4852408f7 100644 --- a/shared/management/grpc/sync_message_versions.go +++ b/shared/management/grpc/sync_message_versions.go @@ -12,7 +12,8 @@ const ( ComponentNetworkMap ) -const CurrentSyncMessageVersion = ComponentNetworkMap +const DefaultSyncMessageVersion = Base +const HighestSyncMessageVersion = ComponentNetworkMap var ErrorUnrecognizedSyncMessageVersion = errors.New("unrecognized SyncMessageVersion") @@ -21,8 +22,8 @@ func ValidateSyncMessageVersion(v *int) error { if v == nil { return nil } - if *v < 0 || *v > int(CurrentSyncMessageVersion) { - return fmt.Errorf("sync message version must between 0 and %d, %w", CurrentSyncMessageVersion, ErrorUnrecognizedSyncMessageVersion) + if *v < 0 || *v > int(HighestSyncMessageVersion) { + return fmt.Errorf("sync message version must between 0 and %d, %w", HighestSyncMessageVersion, ErrorUnrecognizedSyncMessageVersion) } return nil } @@ -32,9 +33,9 @@ func ValidateSyncMessageVersion(v *int) error { // the assumption is ValidateSyncMessageVersion() has been called before using SyncMessageVersionFromConfig() func SyncMessageVersionFromConfig(v *int) SyncMessageVersion { if v == nil { - return CurrentSyncMessageVersion + return DefaultSyncMessageVersion } - if *v < 0 || *v > int(CurrentSyncMessageVersion) { + if *v < 0 || *v > int(HighestSyncMessageVersion) { return Base } @@ -58,7 +59,7 @@ func SyncMessageVersionsFromMap(toconvert map[string]int) map[string]SyncMessage } // return highest common sync message version, or Default (which is always available) -func HighestCommonSyncMessageVersions(a SyncMessageVersion, b SyncMessageVersion) SyncMessageVersion { +func HighestCommonSyncMessageVersion(a SyncMessageVersion, b SyncMessageVersion) SyncMessageVersion { if a > b { return b } diff --git a/shared/management/grpc/sync_message_versions_test.go b/shared/management/grpc/sync_message_versions_test.go index 709f4efe8..300274059 100644 --- a/shared/management/grpc/sync_message_versions_test.go +++ b/shared/management/grpc/sync_message_versions_test.go @@ -9,26 +9,29 @@ import ( func TestValidation(t *testing.T) { assert.NoError(t, ValidateSyncMessageVersion(nil)) assert.NoError(t, ValidateSyncMessageVersion(toIntPtr(0))) + assert.NoError(t, ValidateSyncMessageVersion(toIntPtr(1))) assert.ErrorIs(t, ValidateSyncMessageVersion(toIntPtr(int(^uint(0)>>1))), ErrorUnrecognizedSyncMessageVersion) assert.ErrorIs(t, ValidateSyncMessageVersion(toIntPtr(-1)), ErrorUnrecognizedSyncMessageVersion) } func TestVersionFromConfig(t *testing.T) { - assert.Equal(t, CurrentSyncMessageVersion, SyncMessageVersionFromConfig(nil)) - assert.Equal(t, CurrentSyncMessageVersion, SyncMessageVersionFromConfig(toIntPtr(1))) - assert.Equal(t, Base, SyncMessageVersionFromConfig(toIntPtr(-1))) - assert.Equal(t, Base, SyncMessageVersionFromConfig(toIntPtr(int(^uint(0)>>1)))) + assert.Equal(t, DefaultSyncMessageVersion, SyncMessageVersionFromConfig(nil)) + assert.Equal(t, Base, SyncMessageVersionFromConfig(toIntPtr(0))) + assert.Equal(t, ComponentNetworkMap, SyncMessageVersionFromConfig(toIntPtr(1))) + assert.Equal(t, DefaultSyncMessageVersion, SyncMessageVersionFromConfig(toIntPtr(-1))) + assert.Equal(t, DefaultSyncMessageVersion, SyncMessageVersionFromConfig(toIntPtr(int(^uint(0)>>1)))) } func TestPerAccountConversionStringToEnum(t *testing.T) { - assert.Equal(t, map[string]SyncMessageVersion{"1": CurrentSyncMessageVersion}, SyncMessageVersionsFromMap(map[string]int{"1": 1})) - assert.Equal(t, map[string]SyncMessageVersion{"2": Base}, SyncMessageVersionsFromMap(map[string]int{"2": -1})) + assert.Equal(t, map[string]SyncMessageVersion{"1": HighestSyncMessageVersion}, SyncMessageVersionsFromMap(map[string]int{"1": 1})) + assert.Equal(t, map[string]SyncMessageVersion{"2": DefaultSyncMessageVersion}, SyncMessageVersionsFromMap(map[string]int{"2": -1})) } func TestCommonVersions(t *testing.T) { - assert.Equal(t, Base, HighestCommonSyncMessageVersions(Base, CurrentSyncMessageVersion)) - assert.Equal(t, Base, HighestCommonSyncMessageVersions(CurrentSyncMessageVersion, Base)) - assert.Equal(t, CurrentSyncMessageVersion, HighestCommonSyncMessageVersions(CurrentSyncMessageVersion, CurrentSyncMessageVersion)) + assert.Equal(t, Base, HighestCommonSyncMessageVersion(Base, HighestSyncMessageVersion)) + assert.Equal(t, Base, HighestCommonSyncMessageVersion(HighestSyncMessageVersion, Base)) + assert.Equal(t, Base, HighestCommonSyncMessageVersion(Base, Base)) + assert.Equal(t, HighestSyncMessageVersion, HighestCommonSyncMessageVersion(HighestSyncMessageVersion, HighestSyncMessageVersion)) } func toIntPtr(v int) *int {