From 8c6a46f6430e7bdcb20496e50e8b075598951e2f Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 29 Aug 2023 19:51:41 +0200 Subject: [PATCH] libnetwork: Endpoint.AddStaticRoute don't create StaticRoute if unused This function either had to create a new StaticRoute, or add the destination to the list of routes. Skip creating a StaticRoute struct if we're not gonna use it. Signed-off-by: Sebastiaan van Stijn --- libnetwork/endpoint_info.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/libnetwork/endpoint_info.go b/libnetwork/endpoint_info.go index fde155088d8e9..0b160e9102502 100644 --- a/libnetwork/endpoint_info.go +++ b/libnetwork/endpoint_info.go @@ -280,15 +280,16 @@ func (ep *Endpoint) InterfaceName() driverapi.InterfaceNameInfo { func (ep *Endpoint) AddStaticRoute(destination *net.IPNet, routeType int, nextHop net.IP) error { ep.mu.Lock() defer ep.mu.Unlock() - - r := types.StaticRoute{Destination: destination, RouteType: routeType, NextHop: nextHop} - if routeType == types.NEXTHOP { // If the route specifies a next-hop, then it's loosely routed (i.e. not bound to a particular interface). - ep.joinInfo.StaticRoutes = append(ep.joinInfo.StaticRoutes, &r) + ep.joinInfo.StaticRoutes = append(ep.joinInfo.StaticRoutes, &types.StaticRoute{ + Destination: destination, + RouteType: routeType, + NextHop: nextHop, + }) } else { // If the route doesn't specify a next-hop, it must be a connected route, bound to an interface. - ep.iface.routes = append(ep.iface.routes, r.Destination) + ep.iface.routes = append(ep.iface.routes, destination) } return nil }