Skip to content

ipam: add AllowFirstLastIPs option to ipallocator.NewCIDRRange#45025

Open
HadrienPatte wants to merge 1 commit intomainfrom
pr/HadrienPatte/AllowFirstLastIPs
Open

ipam: add AllowFirstLastIPs option to ipallocator.NewCIDRRange#45025
HadrienPatte wants to merge 1 commit intomainfrom
pr/HadrienPatte/AllowFirstLastIPs

Conversation

@HadrienPatte
Copy link
Copy Markdown
Member

Extend NewCIDRRange with a WithAllowFirstLastIPs functional option that includes the first and last IPs of a CIDR in the allocatable range. This is needed for AWS ENI prefix delegation where /28 prefixes are exclusively assigned to a node and all 16 IPs are usable as there is no shared network segment requiring base/broadcast reservation.

Also refactor ForEach to use r.base directly instead of assuming a +1 offset from the CIDR base, making it correct for both default and AllowFirstLastIPs ranges.

Relates to cilium/design-cfps#87

Followup to #34618

See #28637 (comment)

@maintainer-s-little-helper maintainer-s-little-helper bot added the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Mar 27, 2026
@HadrienPatte HadrienPatte added the release-note/misc This PR makes changes that have no direct user impact. label Mar 27, 2026
@maintainer-s-little-helper maintainer-s-little-helper bot removed the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Mar 27, 2026
@HadrienPatte
Copy link
Copy Markdown
Member Author

/test

1 similar comment
@cilium-ariane
Copy link
Copy Markdown

cilium-ariane bot commented Mar 27, 2026

/test

@HadrienPatte HadrienPatte marked this pull request as ready for review March 27, 2026 19:22
@HadrienPatte HadrienPatte requested a review from a team as a code owner March 27, 2026 19:22
@HadrienPatte HadrienPatte requested a review from pippolo84 March 27, 2026 19:22
@HadrienPatte HadrienPatte added the area/ipam IP address management, including cloud IPAM label Mar 27, 2026
Copy link
Copy Markdown
Member

@pippolo84 pippolo84 left a comment

Choose a reason for hiding this comment

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

Nice! Left some comments about the unneeded extra field in Range.

@HadrienPatte HadrienPatte force-pushed the pr/HadrienPatte/AllowFirstLastIPs branch from 2572234 to 0bbca8a Compare March 30, 2026 11:45
Extend `NewCIDRRange` with a `WithAllowFirstLastIPs` functional option
that includes the first and last IPs of a CIDR in the allocatable range.
This is needed for AWS ENI prefix delegation where /28 prefixes are
exclusively assigned to a node and all 16 IPs are usable as there is no
shared network segment requiring base/broadcast reservation.

Also refactor `ForEach` to use `r.base` directly instead of assuming a +1
offset from the CIDR base, making it correct for both default and
`AllowFirstLastIPs` ranges.

Relates to [cilium/design-cfps#87](cilium/design-cfps#87)

Followup to #34618

See #28637 (comment)

Signed-off-by: Hadrien Patte <[email protected]>
@HadrienPatte HadrienPatte force-pushed the pr/HadrienPatte/AllowFirstLastIPs branch from 0bbca8a to 10f6fa5 Compare March 30, 2026 11:47
@HadrienPatte
Copy link
Copy Markdown
Member Author

@pippolo84 thanks for the review 🙇 Updated to remove firstLastIPsIncluded field and GetIndexedIP function

@HadrienPatte HadrienPatte requested a review from pippolo84 March 30, 2026 12:29
Copy link
Copy Markdown
Member

@pippolo84 pippolo84 left a comment

Choose a reason for hiding this comment

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

Nice (and thoroughly tested too)! Thanks! 💯

@pippolo84
Copy link
Copy Markdown
Member

/test

@HadrienPatte HadrienPatte added dont-merge/bad-bot To prevent MLH from marking ready-to-merge. and removed dont-merge/bad-bot To prevent MLH from marking ready-to-merge. labels Mar 30, 2026
@maintainer-s-little-helper maintainer-s-little-helper bot added ready-to-merge This PR has passed all tests and received consensus from code owners to merge. labels Mar 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/ipam IP address management, including cloud IPAM ready-to-merge This PR has passed all tests and received consensus from code owners to merge. release-note/misc This PR makes changes that have no direct user impact.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants