Package netlink provides low-level access to Linux netlink sockets. MIT Licensed.
Switch branches/tags
Nothing to show
Clone or download
mdlayher Merge pull request #110 from ti-mo/master
Network namespace support for Conn
Latest commit 794849f Sep 20, 2018
Permalink
Failed to load latest commit information.
cmd/nlstress cmd/nlstress: initial commit Aug 6, 2018
nlenc nlenc: skip some tests on big-endian systems May 14, 2018
nltest nltest: add CheckRequest Jul 26, 2018
.gitignore .gitignore: initial commit Sep 7, 2018
.travis.yml travis: fix Go version Aug 10, 2018
LICENSE.md genetlink: move to github.com/mdlayher/genetlink Sep 1, 2017
README.md genetlink: move to github.com/mdlayher/genetlink Sep 1, 2017
align.go attribute: initial commit Dec 22, 2016
align_test.go *: initial commit Dec 20, 2016
attribute.go netlink: remove exported Attribute marshal and unmarshal binary methods Sep 7, 2018
attribute_test.go feat: add Bytes func to AttributeDecoder Sep 7, 2018
bench_test.go netlink: add benchmarks for attribute handling Sep 5, 2018
conn.go Network namespace support for Conn Sep 20, 2018
conn_linux.go Network namespace support for Conn Sep 20, 2018
conn_linux_error_test.go netlink: only check for errors with header type error Sep 11, 2018
conn_linux_integration_test.go netlink: add RemoveBPF (#90) Jul 20, 2018
conn_linux_test.go netlink: add Conn.SyscallConn method Sep 7, 2018
conn_others.go netlink: simplify unimplemented function stubs Jul 28, 2018
conn_others_test.go netlink: simplify unimplemented function stubs Jul 28, 2018
conn_test.go netlink: add Conn.SyscallConn method Sep 7, 2018
debug.go netlink: initial debugging support Jul 25, 2018
doc.go netlink: initial debugging support Jul 25, 2018
example_attributedecoder_test.go netlink: make decoder example a whole file example Sep 7, 2018
example_attributeencoder_test.go netlink: make decoder example a whole file example Sep 7, 2018
example_test.go netlink: make decoder example a whole file example Sep 7, 2018
fuzz.go fuzz: add go-fuzz functions, build them in CI (#9) Dec 23, 2016
message.go netlink: only check for errors with header type error Sep 11, 2018
message_linux_test.go *: initial commit Dec 20, 2016
message_test.go netlink, nlenc: skip some tests on big-endian systems May 14, 2018
netns_linux.go Network namespace support for Conn Sep 20, 2018
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.

If you're looking for package genetlink, it's been moved to its own repository at github.com/mdlayher/genetlink.

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.