From e5212ce3e3e7baeaed16c4da60db88d11c9775fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Graber?= Date: Tue, 25 Mar 2025 14:38:09 -0400 Subject: [PATCH] incusd/network/ovn: Remove internal routes to forward/load-balancers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This was added thinking it would be desirable for OVN-IC environments, but feedback is that production OVN-IC users prefer that traffic to go through an external path. Given that, remove the logic and if the needs come back, we'll handled it through an interconnection option so this can be configurable for a particular environment. Signed-off-by: Stéphane Graber Sponsored-by: Luizalabs (https://luizalabs.com) --- internal/server/network/driver_ovn.go | 50 --------------------------- 1 file changed, 50 deletions(-) diff --git a/internal/server/network/driver_ovn.go b/internal/server/network/driver_ovn.go index 27bf0954309..7e19820537c 100644 --- a/internal/server/network/driver_ovn.go +++ b/internal/server/network/driver_ovn.go @@ -5115,31 +5115,6 @@ func (n *ovn) ForwardCreate(forward api.NetworkForwardsPost, clientType request. return fmt.Errorf("Failed applying OVN load balancer: %w", err) } - // Add internal static route to the network forward (helps with OVN IC). - var nexthop net.IP - if listenAddressNet.IP.To4() == nil { - routerV6, _, err := n.parseRouterIntPortIPv6Net() - if err == nil { - nexthop = routerV6 - } - } else { - routerV4, _, err := n.parseRouterIntPortIPv4Net() - if err == nil { - nexthop = routerV4 - } - } - - if nexthop != nil { - err = n.ovnnb.CreateLogicalRouterRoute(context.TODO(), n.getRouterName(), true, networkOVN.OVNRouterRoute{NextHop: nexthop, Prefix: *listenAddressNet}) - if err != nil { - return err - } - - revert.Add(func() { - _ = n.ovnnb.DeleteLogicalRouterRoute(context.TODO(), n.getRouterName(), *listenAddressNet) - }) - } - // Notify all other members to refresh their BGP prefixes. notifier, err := cluster.NewNotifier(n.state, n.state.Endpoints.NetworkCert(), n.state.ServerCert(), cluster.NotifyAll) if err != nil { @@ -5501,31 +5476,6 @@ func (n *ovn) LoadBalancerCreate(loadBalancer api.NetworkLoadBalancersPost, clie return fmt.Errorf("Failed applying OVN load balancer: %w", err) } - // Add internal static route to the load-balancer (helps with OVN IC). - var nexthop net.IP - if listenAddressNet.IP.To4() == nil { - routerV6, _, err := n.parseRouterIntPortIPv6Net() - if err == nil { - nexthop = routerV6 - } - } else { - routerV4, _, err := n.parseRouterIntPortIPv4Net() - if err == nil { - nexthop = routerV4 - } - } - - if nexthop != nil { - err = n.ovnnb.CreateLogicalRouterRoute(context.TODO(), n.getRouterName(), true, networkOVN.OVNRouterRoute{NextHop: nexthop, Prefix: *listenAddressNet}) - if err != nil { - return err - } - - revert.Add(func() { - _ = n.ovnnb.DeleteLogicalRouterRoute(context.TODO(), n.getRouterName(), *listenAddressNet) - }) - } - // Notify all other members to refresh their BGP prefixes. notifier, err := cluster.NewNotifier(n.state, n.state.Endpoints.NetworkCert(), n.state.ServerCert(), cluster.NotifyAll) if err != nil {