spidernet-io / spiderpool

Underlay and RDMA network solution of the Kubernetes, for bare metal, VM and any public cloud
https://spidernet-io.github.io/spiderpool/
Apache License 2.0
523 stars 76 forks source link

node failed to access to calico ip of the multi-nic pod if calico nic is the default-route nic #3683

Closed cyclinder closed 2 months ago

cyclinder commented 3 months ago

Spiderpool Version

all

Bug Type

Coordinator

Main CNI

any

What happened?

Due to the problem of inconsistent routes, the pod forwards the response packet from net1 (macvlan) when it sends the response packet. but the request packet comes in eth0(calico).

node1 -> node2 -> calixxx -> pod(eth0) -> net1 -> node1 --------------- wrong node1 -> node2 -> calixxx -> pod(eth0) -> eth0 -> node2 -> node1 --------------- right

https://github.com/spidernet-io/spiderpool/issues/2039

What did you expect to happen?

Ensure that packets received from eth0 are forwarded out of eth0.

How to reproduce it (as minimally and precisely as possible)

  1. install spiderpool
  2. deploy a multi-nic pod

Additional Context

No response