You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using Multus CNI to add an SR-IOV interface to a Pod (alongside Calico as the default CNI), SR-IOV interfaces between Pods can ping each other, but the host cannot reach the SR-IOV IP of the Pod.
If the SR-IOV interface is used as the primary interface (replacing Calico), the Pod loses all external connectivity.
Example: An Nginx Pod with SR-IOV cannot receive external requests via its SR-IOV IP.
What you expected to happen:
The SR-IOV interface should allow Pod-to-external-network communication when configured properly, regardless of being primary or secondary.
How to reproduce it (as minimally and precisely as possible):
Setup a K8s cluster with Calico as the default CNI.
Install Multus CNI, SR-IOV Device Plugin, and SR-IOV CNI.
Define a NetworkAttachmentDefinition for SR-IOV.
Deploy two Pods with the SR-IOV interface attached via Multus.
Observe connectivity issues:
-- Host cannot ping the Pod's SR-IOV IP.
-- Pods with SR-IOV as primary interface have no internet.
Anything else we need to know?:
When using SR-IOV as a secondary interface, the Pod ends up with two default routes (one from Calico and one from SR-IOV NIC).
Example Pod routing table (ip route output):
default via 10.244.104.1 dev eth0
default via 10.56.217.1 dev net1 metric 100
10.56.217.0/24 dev net1 proto kernel scope link src 10.56.217.170
10.244.104.1 dev eth0 scope link
Environment:
Multus version image path and image ID (from 'docker images') ghcr.io/k8snetworkplumbingwg/multus-cni snapshot-thick a5db355310df
What happend:
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
-- Host cannot ping the Pod's SR-IOV IP.
-- Pods with SR-IOV as primary interface have no internet.
Anything else we need to know?:
Environment:
ghcr.io/k8snetworkplumbingwg/multus-cni snapshot-thick a5db355310df
kubectl version
):kubectl get net-attach-def -o yaml
)kubectl get pod <podname> -o yaml
)The text was updated successfully, but these errors were encountered: