From fb04ebe13a16c01e1a7eb3892a0aca8c6db96fa0 Mon Sep 17 00:00:00 2001 From: neingeist Date: Fri, 17 Jun 2022 12:57:10 +0200 Subject: [PATCH] Fix netlink API usage netlink changed its API, e.g. there are now separate data structs for Addr and AddrUpdate, and Addr has IPNet. Fix the build by building an Addr from an AddrUpdate & unpacking Addr.IPNet.IP. --- addr.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/addr.go b/addr.go index 6b90c4a..0b7e301 100644 --- a/addr.go +++ b/addr.go @@ -2,10 +2,11 @@ package main import ( "fmt" - "github.com/vishvananda/netlink" "io" "log" "net" + + "github.com/vishvananda/netlink" ) type AddrSet struct { @@ -91,7 +92,9 @@ func (addrs *AddrSet) Read() error { } // XXX: scope and other filters? - addrs.updateAddr(addrUpdate.Addr, addrUpdate.NewAddr) + addrs.updateAddr(netlink.Addr{ + IPNet: &addrUpdate.LinkAddress, + Scope: addrUpdate.Scope}, addrUpdate.NewAddr) return nil } @@ -104,7 +107,7 @@ func (addrs *AddrSet) updateAddr(addr netlink.Addr, up bool) { return } - ip := addr.IP + ip := addr.IPNet.IP if up { log.Printf("%v: up %v", addrs, ip)