From 1e11e64c9cf5ecc18e70d905e3528e29c01de77b Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Sun, 10 Aug 2025 19:58:46 +0200 Subject: [PATCH] daemon/libnetwork/types: remove TransportPort.Equal() The `TransporPort` type is comparable; it doesn't have fields that require special handling. It's defined as; // TransportPort represents a local Layer 4 endpoint type TransportPort struct { Proto Protocol Port uint16 } where `Protocol` is an int (with a stringer interface); type Protocol uint8 So we can remove the `Equal` method, and simplify places where it's compared. Signed-off-by: Sebastiaan van Stijn --- .../drivers/bridge/bridge_linux_test.go | 8 +------- .../drivers/bridge/internal/firewaller/stub.go | 2 +- daemon/libnetwork/types/types.go | 17 ----------------- 3 files changed, 2 insertions(+), 25 deletions(-) diff --git a/daemon/libnetwork/drivers/bridge/bridge_linux_test.go b/daemon/libnetwork/drivers/bridge/bridge_linux_test.go index e223bbd241..fa9aa3308f 100644 --- a/daemon/libnetwork/drivers/bridge/bridge_linux_test.go +++ b/daemon/libnetwork/drivers/bridge/bridge_linux_test.go @@ -158,15 +158,9 @@ func compareConnConfig(a, b *connectivityConfiguration) bool { if a == nil || b == nil { return false } - if len(a.ExposedPorts) != len(b.ExposedPorts) || - len(a.PortBindings) != len(b.PortBindings) { + if !slices.Equal(a.ExposedPorts, b.ExposedPorts) { return false } - for i := 0; i < len(a.ExposedPorts); i++ { - if !a.ExposedPorts[i].Equal(&b.ExposedPorts[i]) { - return false - } - } for i := 0; i < len(a.PortBindings); i++ { if !comparePortBinding(&a.PortBindings[i].PortBinding, &b.PortBindings[i].PortBinding) { return false diff --git a/daemon/libnetwork/drivers/bridge/internal/firewaller/stub.go b/daemon/libnetwork/drivers/bridge/internal/firewaller/stub.go index 70a4715e0e..fa054c26ed 100644 --- a/daemon/libnetwork/drivers/bridge/internal/firewaller/stub.go +++ b/daemon/libnetwork/drivers/bridge/internal/firewaller/stub.go @@ -154,7 +154,7 @@ func matchLink(l stubFirewallerLink, parentIP, childIP netip.Addr, ports []types return false } for i, p := range l.ports { - if !p.Equal(&ports[i]) { + if p != ports[i] { return false } } diff --git a/daemon/libnetwork/types/types.go b/daemon/libnetwork/types/types.go index 588573f873..f390b326f7 100644 --- a/daemon/libnetwork/types/types.go +++ b/daemon/libnetwork/types/types.go @@ -43,23 +43,6 @@ type TransportPort struct { Port uint16 } -// Equal checks if this instance of TransportPort is equal to the passed one -func (t *TransportPort) Equal(o *TransportPort) bool { - if t == o { - return true - } - - if o == nil { - return false - } - - if t.Proto != o.Proto || t.Port != o.Port { - return false - } - - return true -} - // String returns the TransportPort structure in string form func (t *TransportPort) String() string { return fmt.Sprintf("%s/%d", t.Proto.String(), t.Port)