I’ve wasted almost three days of my life over this so I think everyone should know:
If your nodes cannot communicate with eachother via TCP or UDP, but ping works, check that you’re not using VMXNET3 interfaces on vmware with Calico as documented in this GitHub issue
You need to edit your FelixConfiguration and add this simple line:
spec:
featureDetectOverride: ChecksumOffloadBroken=true
Wait a couple seconds, and you should be good to go.