From 47f6d4e1bca15da6bd5ff3a2d28ace2a8ddf69bc Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 28 Jan 2025 13:48:42 +0100 Subject: [PATCH] libnetwork/drivers/bridge: internalize ErrInvalidGateway It's a generic errdefs.ErrInvalidParameter, and the type itself is not used as sentinel error anywhere. Signed-off-by: Sebastiaan van Stijn --- libnetwork/drivers/bridge/bridge_linux.go | 4 ++-- libnetwork/drivers/bridge/errors.go | 14 +++++--------- libnetwork/drivers/bridge/setup_ipv4_linux.go | 2 +- libnetwork/drivers/bridge/setup_ipv6_linux.go | 2 +- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/libnetwork/drivers/bridge/bridge_linux.go b/libnetwork/drivers/bridge/bridge_linux.go index aa3a953be1..aa090f10a2 100644 --- a/libnetwork/drivers/bridge/bridge_linux.go +++ b/libnetwork/drivers/bridge/bridge_linux.go @@ -246,7 +246,7 @@ func (c *networkConfiguration) Validate() error { // If default gw is specified, it must be part of bridge subnet if c.DefaultGatewayIPv4 != nil { if !c.AddressIPv4.Contains(c.DefaultGatewayIPv4) { - return &ErrInvalidGateway{} + return errInvalidGateway } } } @@ -266,7 +266,7 @@ func (c *networkConfiguration) Validate() error { } // If a default gw is specified, it must belong to AddressIPv6's subnet if c.DefaultGatewayIPv6 != nil && !c.AddressIPv6.Contains(c.DefaultGatewayIPv6) { - return &ErrInvalidGateway{} + return errInvalidGateway } } diff --git a/libnetwork/drivers/bridge/errors.go b/libnetwork/drivers/bridge/errors.go index ffef40ba28..256afae006 100644 --- a/libnetwork/drivers/bridge/errors.go +++ b/libnetwork/drivers/bridge/errors.go @@ -3,18 +3,14 @@ package bridge import ( + "errors" "fmt" + + "github.com/docker/docker/errdefs" ) -// ErrInvalidGateway is returned when the user provided default gateway (v4/v6) is not valid. -type ErrInvalidGateway struct{} - -func (eig *ErrInvalidGateway) Error() string { - return "default gateway ip must be part of the network" -} - -// InvalidParameter denotes the type of this error -func (eig *ErrInvalidGateway) InvalidParameter() {} +// errInvalidGateway is returned when the user provided default gateway (v4/v6) is not valid. +var errInvalidGateway = errdefs.InvalidParameter(errors.New("default gateway ip must be part of the network")) // InvalidNetworkIDError is returned when the passed // network id for an existing network is not a known id. diff --git a/libnetwork/drivers/bridge/setup_ipv4_linux.go b/libnetwork/drivers/bridge/setup_ipv4_linux.go index 50ca498e63..3925932ff0 100644 --- a/libnetwork/drivers/bridge/setup_ipv4_linux.go +++ b/libnetwork/drivers/bridge/setup_ipv4_linux.go @@ -63,7 +63,7 @@ func setupBridgeIPv4(config *networkConfiguration, i *bridgeInterface) error { func setupGatewayIPv4(config *networkConfiguration, i *bridgeInterface) error { if !i.bridgeIPv4.Contains(config.DefaultGatewayIPv4) { - return &ErrInvalidGateway{} + return errInvalidGateway } if config.Internal { return types.InvalidParameterErrorf("no gateway can be set on an internal bridge network") diff --git a/libnetwork/drivers/bridge/setup_ipv6_linux.go b/libnetwork/drivers/bridge/setup_ipv6_linux.go index 521d013302..88a7ed6f5d 100644 --- a/libnetwork/drivers/bridge/setup_ipv6_linux.go +++ b/libnetwork/drivers/bridge/setup_ipv6_linux.go @@ -32,7 +32,7 @@ func setupBridgeIPv6(config *networkConfiguration, i *bridgeInterface) error { func setupGatewayIPv6(config *networkConfiguration, i *bridgeInterface) error { if !config.AddressIPv6.Contains(config.DefaultGatewayIPv6) { - return &ErrInvalidGateway{} + return errInvalidGateway } // Store requested default gateway