diff --git a/route.go b/route.go index b45fa31..6eac01e 100644 --- a/route.go +++ b/route.go @@ -10,8 +10,8 @@ import ( // gateway. Advanced route parameters and non-main routing tables are // currently not supported. type Route struct { - Link Link - Dst net.IPNet + Link *Link + Dst *net.IPNet Src net.IP Gw net.IP } diff --git a/route_linux.go b/route_linux.go index 824463e..2825bf1 100644 --- a/route_linux.go +++ b/route_linux.go @@ -164,7 +164,7 @@ func RouteList(link *Link, family int) ([]Route, error) { case syscall.RTA_PREFSRC: route.Src = net.IP(attr.Value) case syscall.RTA_DST: - route.Dst = net.IPNet{ + route.Dst = &net.IPNet{ IP: attr.Value, Mask: net.CIDRMask(int(msg.Dst_len), 8*len(attr.Value)), } @@ -175,7 +175,7 @@ func RouteList(link *Link, family int) ([]Route, error) { continue } resLink, _ := LinkByIndex(index) - route.Link = *resLink + route.Link = resLink } } res = append(res, route) diff --git a/route_test.go b/route_test.go index c34667a..77afc6b 100644 --- a/route_test.go +++ b/route_test.go @@ -24,7 +24,7 @@ func TestRouteAddDel(t *testing.T) { _, dst, err := net.ParseCIDR("192.168.0.0/24") ip := net.ParseIP("127.1.1.1") - route := Route{Link: *link, Dst: *dst, Src: ip} + route := Route{Link: link, Dst: dst, Src: ip} err = RouteAdd(&route) if err != nil { t.Fatal(err)