From 00b072dd0b13395272df1ff4fc9ec58baaf42d1f Mon Sep 17 00:00:00 2001 From: Casey Callendrello Date: Wed, 11 Apr 2018 15:03:04 +0200 Subject: [PATCH] pkg/ip: re-fetch the created link to return creation-time parameters Fixes: #140 --- pkg/ip/link_linux.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/ip/link_linux.go b/pkg/ip/link_linux.go index 843ce8aa..3e5724ea 100644 --- a/pkg/ip/link_linux.go +++ b/pkg/ip/link_linux.go @@ -42,8 +42,14 @@ func makeVethPair(name, peer string, mtu int) (netlink.Link, error) { if err := netlink.LinkAdd(veth); err != nil { return nil, err } + // Re-fetch the link to get its creation-time parameters, e.g. index and mac + veth2, err := netlink.LinkByName(name) + if err != nil { + netlink.LinkDel(veth) // try and clean up the link if possible. + return nil, err + } - return veth, nil + return veth2, nil } func peerExists(name string) bool {