-
Notifications
You must be signed in to change notification settings - Fork 142
Description
A quick tour suggests that only some parts of NAT64/NAT46 were added (#28, loxilb-io/loxilb-ebpf#5): if I'm reading it correctly, SNAT46 is implemented for the return of packets that come in via DNAT64, but the reverse (SNAT64 for packets that come in via DNAT46) appear to be missing (maybe? - my C is rusty...).
--
Use-case:
I have a k8s cluster that's running an IPv6 underlay, which prevents IPv4 or dualstack in the backend, so I attempted to create a IPv4 Gateway on an external, dual-homed kube-powered loxilb. The kube-loxilb controller gets stuck in a crash-resync loop, the LB never becomes ready due to ipFamily errors.
Debugging this with loxicmd create lb 192.168.10.2 --endpoints=fd00::c0ff:ee00:babe:1 --tcp=8080:8080 gives an api: Error occur : malformed-service nat46 error, which is simply disallowed by loxilb proper.
--
I wasn't sure who wanted this issue: loxilb fails gracefully (yea!), kube-loxilb doesn't (boo!), and loxilb-ebpf is likely the missing implementation (ugh!). If DNAT46 and SNAT64 were implemented, the other two would readily support full NAT64/NAT46 in either direction?