-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
connectivity: Extend encryption interface derivation for managed K8s #37675
Comments
This issue has been automatically marked as stale because it has not |
This issue has been automatically marked as stale because it has not |
This issue has been automatically marked as stale because it has not |
This issue has not seen any activity since it was marked stale. |
This commit adjusts the current logic in `pod-to-pod-encryption-v2` for retrieving the egress device from client-server pods and vice-versa. Before the patch, we solely rely on `ip route get dstIP`, using the returned device as egress. However, we noticed that in aws-cni chaining mode, such returned device is not actually used. Instead, looking at the routing tables in the server node, we found that there's a specific table with a route that uses a different egress device for that particular IP. The related issue in our previous tests is #37675. We now fix this for pod-to-pod-encryption-v2, but we might want to adopt the same logic for v1. Signed-off-by: Simone Magnani <[email protected]>
This commit adjusts the current logic in `pod-to-pod-encryption-v2` for retrieving the egress device from client-server pods and vice-versa. Before the patch, we solely rely on `ip route get dstIP`, using the returned device as egress. However, we noticed that in aws-cni chaining mode, such returned device is not actually used. Instead, looking at the routing tables in the server node, we found that there's a specific table with a route that uses a different egress device for that particular IP. The related issue in our previous tests is #37675. We now fix this for pod-to-pod-encryption-v2, but we might want to adopt the same logic for v1. Signed-off-by: Simone Magnani <[email protected]>
This commit adjusts the current logic in `pod-to-pod-encryption-v2` for retrieving the egress device from client-server pods and vice-versa. Before the patch, we solely rely on `ip route get dstIP`, using the returned device as egress. However, we noticed that in aws-cni chaining mode, such returned device is not actually used. Instead, looking at the routing tables in the server node, we found that there's a specific table with a route that uses a different egress device for that particular IP. The related issue in our previous tests is #37675. We now fix this for pod-to-pod-encryption-v2, but we might want to adopt the same logic for v1. Signed-off-by: Simone Magnani <[email protected]>
This commit adjusts the current logic in `pod-to-pod-encryption-v2` for retrieving the egress device from client-server pods and vice-versa. Before the patch, we solely rely on `ip route get dstIP`, using the returned device as egress. However, we noticed that in aws-cni chaining mode, such returned device is not actually used. Instead, looking at the routing tables in the server node, we found that there's a specific table with a route that uses a different egress device for that particular IP. The related issue in our previous tests is #37675. We now fix this for pod-to-pod-encryption-v2, but we might want to adopt the same logic for v1. Signed-off-by: Simone Magnani <[email protected]>
This commit adjusts the current logic in `pod-to-pod-encryption-v2` for retrieving the egress device from client-server pods and vice-versa. Before the patch, we solely rely on `ip route get dstIP`, using the returned device as egress. However, we noticed that in aws-cni chaining mode, such returned device is not actually used. Instead, looking at the routing tables in the server node, we found that there's a specific table with a route that uses a different egress device for that particular IP. The related issue in our previous tests is #37675. We now fix this for pod-to-pod-encryption-v2, but we might want to adopt the same logic for v1. Signed-off-by: Simone Magnani <[email protected]>
This commit adjusts the current logic in `pod-to-pod-encryption-v2` for retrieving the egress device from client-server pods and vice-versa. Before the patch, we solely rely on `ip route get dstIP`, using the returned device as egress. However, we noticed that in aws-cni chaining mode, such returned device is not actually used. Instead, looking at the routing tables in the server node, we found that there's a specific table with a route that uses a different egress device for that particular IP. Therefore, the final command to be issued should be: `ip route get {dstIP} from {srcIP} iif cilium_host`. The interface specified does not matter since, if present, the route matching srcIP is not making use of the interface field to match. The related issue in our previous tests is #37675. We now fix this for pod-to-pod-encryption-v2, but we might want to adopt the same logic for v1. Signed-off-by: Simone Magnani <[email protected]>
This commit adjusts the current logic in `pod-to-pod-encryption-v2` for retrieving the egress device from client-server pods and vice-versa. Before the patch, we solely rely on `ip route get dstIP`, using the returned device as egress. However, we noticed that in aws-cni chaining mode, such returned device is not actually used. Instead, looking at the routing tables in the server node, we found that there's a specific table with a route that uses a different egress device for that particular IP. Therefore, the final command to be issued should be: `ip route get {dstIP} from {srcIP} iif cilium_host`. The interface specified does not matter since, if present, the route matching srcIP is not making use of the interface field to match. The related issue in our previous tests is #37675. We now fix this for pod-to-pod-encryption-v2, but we might want to adopt the same logic for v1. Signed-off-by: Simone Magnani <[email protected]>
Currently, the encryption test does
ip route get $REMOTE_POD_IP
to derive an interface which is used to send a request to that pod. However, this might not work on managed K8s (e.g., EKS) in which there might be multiple ifaces depending on a source IP addr (cilium/cilium-cli#1304 (comment)).The text was updated successfully, but these errors were encountered: