wg-quicker/vendor/github.com/mdlayher/netlink
2021-01-19 14:18:44 +01:00
..
nlenc adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
.gitignore adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
align.go adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
attribute.go adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
conn_linux.go adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
conn_others.go adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
conn.go adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
debug.go adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
doc.go adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
errors.go adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
fdcall_gteq_1.12.go adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
fdcall_lt_1.12.go adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
fuzz.go adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
go.mod adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
go.sum adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
LICENSE.md adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
message.go adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
netlink.dot adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
netlink.svg adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
netns_linux.go adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
rawconn_gteq_1.12.go adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
rawconn_lt_1.12.go adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00
README.md adds goreleaser and makefile for preparing wireguard-go 2021-01-19 14:18:44 +01:00

netlink builds.sr.ht 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 have any questions or you'd like some guidance, please join us on Gophers Slack in the #networking channel!

Stability

At this time, package netlink is in a pre-v1.0.0 state. Changes are being made which may impact the exported API of this package and others in its ecosystem. To follow along on the status of a v1.0.0 release, see the associated issue.

The general policy of this package is to only support the latest, stable version of Go. Compatibility shims may be added for prior versions of Go on an as-needed basis. If you would like to raise a concern, please file an issue.

If you depend on this package in your applications, please vendor it or use Go modules when building your application.

Design

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:

  • Straightforward, idiomatic API
  • Well tested
  • Well documented
  • Doesn't use package/global variables or state
  • Doesn't necessarily 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.

Ecosystem

Over time, an ecosystem of Go packages has developed around package netlink. Many of these packages provide building blocks for further interactions with various netlink families, such as NETLINK_GENERIC or NETLINK_ROUTE.

To have your package included in this diagram, please send a pull request!

netlink ecosystem