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
This commit removes the ICMPv6 NS responder from from-netdev, to-netdev,
and from-host.
Let me explain why this removal won't break anything.
First we need to know NS responder handles packets targeting local
router or one of the local endpoints, and here is the responding steps
in details:
1. if NS is targeting the local router;
2. or if NS is targeting a local endpoint;
3. transform the packet into an ICMPv6 NA with cilium_host's MAC address
as the response;
4. modify the packet L3, set the source IPv6 to the router IPv6;
5. redirect_self;
From-netdev is on the native devices handling ingress traffic from other
nodes. The ingress traffic should be underlay traffic that doesn't
expose overlay addresses, like pod or router addresses. Therefore, NS
traffic reaching from-netdev can only target native IPv6, and we don't
need the responder to deal with that.
To-netdev and from-host are in the same host network namespace, one is
attached to native devices, and the other is on cilium_host. Prior to
issue cilium#23445, we needed NS responder because no host device had that
router IPv6. Since cilium#23445 has been resolved, now curling from host to a
local pod or local router doesn't require bpf NS responder anymore.
The removal of the responder on from-netdev also fixes a known issue
cilium#14509, which is caused by forementioned step 4: NS responder sets
responding packet's source IPv6 to router IPv6 even if the NS comes from
a native device.
Fixes: cilium#14509
Signed-off-by: Zhichuan Liang <gray.liang@isovalent.com>
0 commit comments