feat: Auto BGP router-id allocation for IPv6#36451
Merged
squeed merged 1 commit intocilium:mainfrom Dec 18, 2024
Merged
Conversation
7256b23 to
d8957a2
Compare
Member
Author
14eb12a to
f138c44
Compare
aanm
reviewed
Dec 9, 2024
Member
Author
|
Could you give |
f138c44 to
a69477b
Compare
a69477b to
9b41b66
Compare
Artyop
reviewed
Dec 9, 2024
9b41b66 to
e0ce8f8
Compare
aanm
approved these changes
Dec 9, 2024
yushoyamaguchi
commented
Dec 12, 2024
5d18b58 to
5331faf
Compare
Member
Author
|
Thank you for teaching. |
harsimran-pabla
approved these changes
Dec 13, 2024
Contributor
harsimran-pabla
left a comment
There was a problem hiding this comment.
Thanks a lot for being patient with me, change looks great 🚀
Contributor
|
Can you please add release-note in the PR description as well. |
Contributor
|
/test |
Member
Author
- Make helm configuration value of "routerIDAllocation". - "routerIDAllocation" is set "default" without an explicit designation. - When this commit, other mode than "default" are not implemented. That is a feature work. - In default mode, if the node have IPv4 address, Cilium use it as router-id. This is same behavior as before. - If the node have only IPv6 address, Cilium calclate router-id using mac-address of cilium_host device. This procedure is implemented in this commit. - If there are annotation about router-id, Cilium use router-id from annotation preferentially. Signed-off-by: Yusho Yamaguchi <[email protected]>
5331faf to
85f22f8
Compare
Member
Author
|
I've done git rebase. |
Contributor
|
/test |
Member
Author
|
All tests have passed. I've confirmed that everything works well after
|
github-merge-queue bot
pushed a commit
to chezmoidotsh/arcane
that referenced
this pull request
Jul 29, 2025


Related issue
This PR is a partial resolution of #30333
About configuration item name
#30333 (comment) ~ #30333 (comment)
Problem which is resolved in this PR
In IPv4 and dual-stack environments, the Cilium BGP Control Plane derives the Router ID from the IPv4 address assigned to the node. However, in the IPv6 single-stack environment, there's no IPv4 address to use, so users must specify the Router ID manually for each virtual router for each Node.
$ kubectl annotate node <node-name> cilium.io/bgp-virtual-router.64512="router-id=10.0.0.1"This is a big operational overhead because users must manage the assignment by themselves.
Contents of this PR
Make helm configuration value of BGP router-id allocation mode and implement auto router-id allocation procedure using mac-address in IPv6 standalone environments.
Further more
Currently, when using multiple bgpInstances with same AS-Number in one node, router-id duplication occur and no error or warning are emitted. This is not resolved in IPv6 auto allocation implemented in this PR.
Therefore, I will fix this and make another PR.
ref: #30333 (comment)
release-note label
release-note/minor