vishvananda/netlink

Return "Error setting link to pid: invalid argument" when try to run LinkSetNsPid() in a bridge link

Closed this issue · 0 comments

HI,
I found an issue about bridge's LinkSetNsPid(); example code like bellow:

func main() {
	la := netlink.NewLinkAttrs()
	la.Name = "OK"
	mybridge := &netlink.Bridge{LinkAttrs: la}
	err := netlink.LinkAdd(mybridge)
	if err != nil {
		fmt.Printf("Error creating bridge: %v", err)
	}
	link, err := netlink.LinkByName("OK")
	if err != nil {
		fmt.Printf("Error getting link: %v", err)
	}
	err = netlink.LinkSetNsPid(link, 2208872)
	if err != nil {
		fmt.Printf("Error setting link to pid: %v", err)
	}
}

I make sure the pid 2208872 is active, and could move veth into the namespace, but bridge cannot...
Got the error log :
"
❯ go run main.go
Error setting link to pid: invalid argument
"

Can you help me with this issue?