Re: [go-nuts] Linux, Netlink, and Go - Part 1: netlink

2017-02-22 Thread Matt Layher
No special workarounds in my package that I'm aware of! My guess would be that it's inconsistent between netlink families. I've only really played with genetlink and rtnetlink. - Matt On 02/22/2017 05:14 PM, Steven Hartland wrote: Hmm fails with EPERM when we try to listen for CN_IDX_PROC

Re: [go-nuts] Linux, Netlink, and Go - Part 1: netlink

2017-02-22 Thread Steven Hartland
Hmm fails with EPERM when we try to listen for CN_IDX_PROC I guess that may be a special case given what it is. Be interested to know if your module avoids this issue somehow? On 22/02/2017 21:17, Matt Layher wrote: > 1. "Only processes with an effective UID of 0 or the CAP_NET_ADMIN

Re: [go-nuts] Linux, Netlink, and Go - Part 1: netlink

2017-02-22 Thread Matt Layher
> 1. "Only processes with an effective UID of 0 or the CAP_NET_ADMIN capability may send or listen to a netlink multicast group." This appears not to be true, at least in the case of rtnetlink and listening to multicast notifications for link additions and removals.

Re: [go-nuts] Linux, Netlink, and Go - Part 1: netlink

2017-02-22 Thread Matt Layher
Sure, I can make a note of this. Almost everything I've done with netlink so far has been read-only, which is probably why I haven't run into any issues. On Wednesday, February 22, 2017 at 1:13:26 PM UTC-5, Steven Hartland wrote: > > One thing you don't mention, which we found particularly

Re: [go-nuts] Linux, Netlink, and Go - Part 1: netlink

2017-02-22 Thread Steven Hartland
One thing you don't mention, which we found particularly frustrating with netlink, is that using it can often need cap_net_admin :( On 22/02/2017 17:38, Matt Layher wrote: Hey all, I recently spent some time working with Linux's netlink IPC mechanism in Go. Because I had a hard time finding

[go-nuts] Linux, Netlink, and Go - Part 1: netlink

2017-02-22 Thread Matt Layher
Hey all, I recently spent some time working with Linux's netlink IPC mechanism in Go. Because I had a hard time finding accurate information about netlink, I decided to do a write-up on some of its fundamental concepts, and how I was able to make use of them from Go. This post focuses on