IPIP: decapsulated inner packets arrive at dest node but never delivered to pod netns (cross-node pod-to-pod broken, cluster-wide) #13008
Unanswered
jjozzietech
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Environment
Symptom
Cross-node pod-to-pod traffic fails (100% packet loss) for tenant workload pods. Same-node pod-to-pod works. Infrastructure pods (e.g. ingress nginx) remain reachable cross-node; tenant workload pods do not. Onset ~24h ago, no intentional Calico change at that time.
Key evidence
ip route get <podIP>resolves correctly via tunl0 on the source node;/26subnet routes present via bird; blackhole routes correct on owning nodes.IP <srcNode> > <dstNode>: IP <srcPod> > <dstPod>: ICMP echo request...but no echo reply is ever generated.
eth0rx_packetscounter does NOT increment during a cross-node ping → the inner packet dies between the node root namespace and the pod netns.conntrack -Eshows no entry for the failing ICMP (never tracked).net.ipv4.ip_forward=1,all.forwarding=1,rp_filter=0.cali40all-hosts-netexists (revision 7); the IPIP ACCEPT rule (/* Allow IPIP packets from Calico hosts */) shows 20M+ packets.Not the cause (ruled out by testing)
Tried, did NOT fix (now part of cluster state)
kubectl rollout restart daemonset/calico-node(full, completed)rp_filter=0on one nodeQuestion
What causes IPIP decapsulated inner packets to arrive at the destination node and decap successfully, but never be delivered into the target pod's network namespace — cluster-wide, surviving a calico-node rollout, and independent of kernel version? Is there a known fix short of a full simultaneous fleet reboot?
Happy to provide any specific command output (iptables -L -nv, ip route, calicoctl node status, felix config, etc.).
Beta Was this translation helpful? Give feedback.
All reactions