diff --git a/cmd/app/main.go b/cmd/app/main.go index dd8d603..fd3c3c2 100644 --- a/cmd/app/main.go +++ b/cmd/app/main.go @@ -7,7 +7,8 @@ import ( "time" envChecks "git.ruekov.eu/ruakij/routingtabletowg/lib/environmentchecks" - + "git.ruekov.eu/ruakij/routingtabletowg/lib/wgchecks/netchecks" + "github.com/vishvananda/netlink" "golang.zx2c4.com/wireguard/wgctrl" "golang.zx2c4.com/wireguard/wgctrl/wgtypes" @@ -96,6 +97,11 @@ func main() { logger.Warn.Printf("Couldnt parse IPv6 address %s of peer %s: %s", ipv6Address, peer.PublicKey, err) continue } + + // Check if already set + if i, _ := netchecks.IPNetIndexByIPNet(&peer.AllowedIPs, ipv6); i != -1 { + continue + } // Add the IPv6 allowed-ip to the peer allowedIPs = append(allowedIPs, *ipv6)