Closed yoheiueda closed 1 year ago
Thanks @yoheiueda for this PR. Can you please add a simple test case with with 2 runq containers talking to each other via IPv6 similar to the existing test case in net.sh ?
OK, I will add a test case to net.sh
It turns out that we need to configure mavctap to let it pass multicast packets correctly in order to make IPv6 working.
With libvirt, we can enable it by setting trustGuestRxFilters="yes"
. I need further investigation on how to enable it without libvirt.
I also noticed that we should not copy link-local addresses from host to guest. https://en.wikipedia.org/wiki/Link-local_address#IPv6
I did some experiments with multicast in the past. There is a netlink function: https://godoc.org/github.com/vishvananda/netlink#LinkSetAllmulticastOn
Stale PR
When we enable IPv6 support in Docker, a runq container fails to start. https://docs.docker.com/config/daemon/ipv6/
This is because default sysctl settings defined in
cfg.go
disable IPv6 support in VM. https://github.com/gotoz/runq/blob/d013e878cc2f35d23b4e85f5ac60ff9a872f27c4/internal/cfg/cfg.go#L23-L32To enable IPv6 in runq, we explicitly need to specify sysctl option as follows.
This behavior is inconvenient when IPv6 is enabled.
This patch enables IPv6 support in runq when proxy detects a IPv6 address.