Skip to content

[ip-pool] block silo unlinking when multicast groups are allocated from the pool#10404

Open
zeeshanlakhani wants to merge 1 commit intomainfrom
zl/ip-pool-unlink-multicast-guard
Open

[ip-pool] block silo unlinking when multicast groups are allocated from the pool#10404
zeeshanlakhani wants to merge 1 commit intomainfrom
zl/ip-pool-unlink-multicast-guard

Conversation

@zeeshanlakhani
Copy link
Copy Markdown
Collaborator

Fixes the issue found in #10304:

P2-13 (novel): unlink_ip_pool_from_external_silo_query does not check multicast_group for outstanding rows.
Purely missing from the guard not a race. A non-racy DELETE /v1/system/ip-pools/{pool}/silos/{silo} can
unlink a silo's multicast pool even when the silo has live multicast groups allocated. Predates the multicast
feature, so Some IP Pool database operations may not be concurrency-safe #8992 doesn't cover it.

This adds a multicast_groups CTE to the guard, mirroring the existing multicast check in ip_pool_delete_range.

…om the pool

Fixes the issue found in #10304:

> P2-13 (novel): unlink_ip_pool_from_external_silo_query does not check multicast_group for outstanding rows. 
> Purely missing from the guard  not a race. A non-racy DELETE /v1/system/ip-pools/{pool}/silos/{silo} can 
> unlink a silo's multicast pool even when the silo has live multicast groups allocated. Predates the multicast 
> feature, so Some IP Pool database operations may not be concurrency-safe #8992 doesn't cover it.

This adds a `multicast_groups` CTE to the guard, mirroring the existing multicast check in 
`ip_pool_delete_range`.
@zeeshanlakhani zeeshanlakhani force-pushed the zl/ip-pool-unlink-multicast-guard branch from 049a0a1 to 234fc88 Compare May 8, 2026 00:54
Copy link
Copy Markdown
Contributor

@mergeconflict mergeconflict left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants