Skip to content

Feature request: BGP Control Plane - BGP advertisements, route aggregation #36777

@bpinske

Description

@bpinske

Is your proposed feature related to a problem?

Yes. Cilium-advertised service endpoints ends up as an individual /32 route. With a large number of routes this can exhaust a remote router’s capacity. We need a way to aggregate these advertised routes to reduce the total route count.

https://docs.cilium.io/en/stable/network/bgp-control-plane/bgp-control-plane-v2/#load-balancer-ip

Describe the feature you'd like

A feature to automatically aggregate advertised routes (e.g., combining multiple /32 routes into a /24) when Cilium announces addresses via BGP. This would mimic the behavior of MetalLB’s advanced BGP configuration, which supports route aggregation.
https://metallb.universe.tf/configuration/_advanced_bgp_configuration/

The lack of support for route aggregation prevented us from using Cilium when we would have greatly preferred to use it. We must use metalLB singularly because of the route aggregation support.

(Optional) Describe your proposed solution

  • Extend Cilium’s BGP advertisement logic to group and merge prefixes when possible.
  • Consider using an existing library for this aggregation https://github.com/projectdiscovery/mapcidr/blob/80579024db5600af6695a3ac552434093a10b596/ip.go#L489
  • Optionally toggle advertising only the aggregated prefix(es) rather than numerous /32 routes.
  • This approach would significantly reduce the number of routes on upstream routers, allowing Cilium to function in deployments where router route limits are a concern.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/cfpCilium Feature Proposalkind/featureThis introduces new functionality.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions