Package netlink provides low-level access to Linux netlink sockets. MIT Licensed.
Go Assembly
Switch branches/tags
Nothing to show
Permalink
Failed to load latest commit information.
genetlink genetlink: expose Conn.SetBPF Mar 13, 2017
nlenc nlenc: add PutInt32, Int32Bytes Mar 14, 2017
nltest nltest: initial commit Mar 20, 2017
.travis.yml travis: use new staticcheck path Mar 12, 2017
LICENSE.md *: initial commit Dec 20, 2016
README.md README: add links to netlink blogs Mar 17, 2017
align.go attribute: initial commit Dec 22, 2016
align_test.go *: initial commit Dec 20, 2016
attribute.go netlink: note Attribute.Nested is not always set, format Mar 22, 2017
attribute_test.go netlink: note Attribute.Nested is not always set, format Mar 22, 2017
conn.go nltest: initial commit Mar 20, 2017
conn_linux.go netlink: use getsockname to assign Conn PID Mar 10, 2017
conn_linux_error_test.go netlink: use nltest for Conn tests Mar 20, 2017
conn_linux_integration_test.go netlink: use term netlink family instead of protocol Mar 12, 2017
conn_linux_test.go netlink: use nltest for Conn tests Mar 20, 2017
conn_others.go Change dial() signature in conn_others following re-factoring Mar 11, 2017
conn_others_test.go Change dial() signature in conn_others following re-factoring Mar 11, 2017
conn_test.go netlink: use nltest for Conn tests Mar 20, 2017
doc.go *: initial commit Dec 20, 2016
example_test.go netlink: use term netlink family instead of protocol Mar 12, 2017
fuzz.go fuzz: add go-fuzz functions, build them in CI (#9) Dec 23, 2016
message.go netlink: remove potentially incorrect 'May be obsolete.' from Message… Feb 22, 2017
message_linux_test.go *: initial commit Dec 20, 2016
message_test.go netlink: use nltest for Conn tests Mar 20, 2017
sockopt_linux.go netlink: move from syscall to golang.org/x/sys/unix, where possible Feb 22, 2017
sockopt_linux_386.go netlink: fix 32-bit Linux builds Jan 10, 2017
sockopt_linux_386.s netlink: add {Join,Leave}Group using setsockopt on Linux Dec 31, 2016

README.md

netlink Build Status GoDoc Go Report Card

Package netlink provides low-level access to Linux netlink sockets. MIT Licensed.

For more information about how netlink works, check out my blog series on Linux, Netlink, and Go.

Why?

A number of netlink packages are already available for Go, but I wasn't able to find one that aligned with what I wanted in a netlink package:

  • Simple, idiomatic API
  • Well tested
  • Well documented
  • Makes use of Go best practices
  • Doesn't need root to work

My goal for this package is to use it as a building block for the creation of other netlink family packages.