Fix routing between containers on same host
This commit is contained in:
parent
0618b41ae2
commit
4012686925
22
main.go
22
main.go
@ -259,8 +259,28 @@ func configureContainerInterface(containerNS netns.NsHandle, ifName string, cont
|
||||
}
|
||||
|
||||
if hostLLAddr != nil {
|
||||
// Add route to Mycelium network via host veth
|
||||
// First remove any existing route to our /64
|
||||
myceliumPrefix := &net.IPNet{
|
||||
IP: containerIP.Mask(net.CIDRMask(64, 128)),
|
||||
Mask: net.CIDRMask(64, 128),
|
||||
}
|
||||
existingRoute := &netlink.Route{
|
||||
Dst: myceliumPrefix,
|
||||
}
|
||||
netlink.RouteDel(existingRoute)
|
||||
|
||||
// Add route to our /64 via host veth
|
||||
route := &netlink.Route{
|
||||
Dst: myceliumPrefix,
|
||||
Gw: hostLLAddr,
|
||||
LinkIndex: link.Attrs().Index,
|
||||
}
|
||||
if err := netlink.RouteAdd(route); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Add route to Mycelium network via host veth
|
||||
route = &netlink.Route{
|
||||
Dst: &net.IPNet{
|
||||
IP: net.ParseIP("400::"),
|
||||
Mask: net.CIDRMask(7, 128),
|
||||
|
Loading…
Reference in New Issue
Block a user