moby/libnetwork/drivers/overlay
Cory Snider 33564a0c03 libnetwork/d/overlay: support IPv6 transport
The forwarding database (fdb) of Linux VXLAN links are restricted to
entries with destination VXLAN tunnel endpoint (VTEP) address of a
single address family. Which address family is permitted is set when the
link is created and cannot be modified. The overlay network driver
creates VXLAN links such that the kernel only allows fdb entries to be
created with IPv4 destination VTEP addresses. If the Swarm is configured
with IPv6 advertise addresses, creating fdb entries for remote peers
fails with EAFNOSUPPORT (address family not supported by protocol).

Make overlay networks functional over IPv6 transport by configuring the
VXLAN links for IPv6 VTEPs if the local node's advertise address is an
IPv6 address. Make encrypted overlay networks secure over IPv6 transport
by applying the iptables rules to the ip6tables when appropriate.

Signed-off-by: Cory Snider <csnider@mirantis.com>
2023-11-09 12:04:47 -05:00
..
overlayutils libnetwork/drivers: rewrite some strings to reduce quote-escaping 2023-07-16 20:05:36 +02:00
ovmanager migrate to github.com/containerd/log v0.1.0 2023-10-11 17:52:23 +02:00
bpf.go libn/d/overlay: make VNI matcher IPv6-compatible 2023-04-24 14:20:29 -04:00
bpf_linux_test.go libn/d/overlay: test the VNI BPF matcher on IPv4 2023-04-24 14:19:39 -04:00
bpf_test.go libnet/d/overlay: add BPF-powered VNI matcher 2023-03-15 19:33:51 -04:00
encryption.go libnetwork/d/overlay: support IPv6 transport 2023-11-09 12:04:47 -05:00
joinleave.go libnetwork/d/overlay: parse discovery data eagerly 2023-11-09 12:04:47 -05:00
ostweaks_linux.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
ostweaks_unsupported.go remove pre-go1.17 build-tags 2023-05-19 20:38:51 +02:00
ov_endpoint.go migrate to github.com/containerd/log v0.1.0 2023-10-11 17:52:23 +02:00
ov_network.go libnetwork/d/overlay: support IPv6 transport 2023-11-09 12:04:47 -05:00
ov_utils.go libnetwork/d/overlay: support IPv6 transport 2023-11-09 12:04:47 -05:00
overlay.go libnetwork/d/overlay: support IPv6 transport 2023-11-09 12:04:47 -05:00
overlay.pb.go update generated files 2023-05-29 03:28:35 +02:00
overlay.proto fix protos and "go generate" commands 2023-05-29 03:28:35 +02:00
overlay_test.go libnetwork: remove most of kvstore 2023-07-25 22:20:18 +02:00
peerdb.go libnetwork/d/overlay: parse discovery data eagerly 2023-11-09 12:04:47 -05:00
peerdb_test.go libnetwork/drivers/overlay: format code with gofumpt 2023-06-29 00:31:46 +02:00