New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extend ipcache key with ClusterID #22200
Extend ipcache key with ClusterID #22200
Conversation
4302118
to
40dc1f2
Compare
@YutaroHayakawa will this impact upcoming 1.14 or later features? If yes we may consider for 1.13, otherwise let's remove the 1.13 release blocker label. |
Discussed out-of-band with Yutaro, no need for release-blocker label here. |
@jrajahalme @NikAleksandrov Hi, I'm glad if I can have some 👀 on this PR 🙏 |
/test |
40dc1f2
to
a15271b
Compare
Rebased on the latest master. |
/test |
A review is in, and CI is passing. Let me mark this ready-to-merge. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small nits, but overall things look good.
@@ -218,3 +218,22 @@ func (ac AddrCluster) As20() (ac20 [20]byte) { | |||
func (ac AddrCluster) AsNetIP() net.IP { | |||
return ac.addr.AsSlice() | |||
} | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: maybe add some comments about what this structure is representing?
Introduce a new type PrefixCluster which holds IP prefix and CluterID. Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
Consume one padding slot and encode cluster_id into struct ipcache_key. This fields will be used to lookup tunnel endpoint and security identity of the remote cluster with overlapping PodCIDR. Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
With Cluster Mesh with overlapping PodCIDR, remote endpoints must be identified using IP + ClusterID. Thus, ipcache lookup must be changed as well. This commit changes function signature and doesn't contain any code to use that. Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
a15271b
to
0c7514a
Compare
Added comments. |
/test |
This is a part of the Cluster Mesh with overlapping PodCIDR support. When the remote cluster has an overlapping PodCIDR, we must identify the remote endpoint using IP + ClusterID. This PR makes the required changes for ipcache to realize that. Note that this PR only adds infrastructure, and currently, we don't "use" that. Please review commit by commit.