You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Allocate load balancer VIPs from a platform-managed pool #702
A NetworkRule's vipAddresses are whatever the writer puts there. Nothing allocates them, records who holds them, or stops two rules from claiming the same address. Once rules are tenant-writable (#696), a tenant could advertise any address, including one that belongs to someone else.
datum-cloud/enhancements#884 makes a load balancer regional, with an IPv6 address by default and optional reserved static IPv4. VIPs therefore come from platform-managed IPv6 and IPv4 pools per region, with each allocation recorded so admission can check it. This is the same gap #409 had for egress addresses, except these addresses are tenant-facing.
This issue covers the pools and the record of who holds each address. #735 covers the default IPv6 allocation and the IPv4 reservation flows built on them. #736 covers keeping each VIP inside its region.
One more check the pool should make. A VIP must not overlap an egress shard's masquerade addresses or SID, any BGPRouter's locator, or the edge Envoy LoadBalancer pool. The gateway's program runs before the egress shard on the same uplink and claims by destination, so an overlap silently steals the other component's traffic. The SID side of the same problem is #711.
Activity
privateip commentedon Oct 4, 2026
One more check the pool should make. A VIP must not overlap an egress shard's masquerade addresses or SID, any BGPRouter's locator, or the edge Envoy LoadBalancer pool. The gateway's program runs before the egress shard on the same uplink and claims by destination, so an overlap silently steals the other component's traffic. The SID side of the same problem is #711.
privateip commentedon Oct 19, 2026
This will be handled by the network load balancer api defined here