• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..29-Jan-2021-

nlenc/H29-Jan-2021-189108

CHANGELOG.mdH A D29-Jan-2021798 2316

LICENSE.mdH A D29-Jan-20211.1 KiB116

README.mdH A D29-Jan-20212.2 KiB5235

align.goH A D29-Jan-20211.1 KiB3816

attribute.goH A D29-Jan-202114.7 KiB590349

conn.goH A D29-Jan-202116.9 KiB595310

conn_linux.goH A D29-Jan-202115.9 KiB663438

conn_others.goH A D29-Jan-2021951 3015

debug.goH A D29-Jan-20211.3 KiB7049

doc.goH A D29-Jan-20211.2 KiB371

errors.goH A D29-Jan-20213.5 KiB12971

fdcall_gteq_1.12.goH A D29-Jan-2021825 4535

fdcall_lt_1.12.goH A D29-Jan-2021702 3017

fuzz.goH A D29-Jan-2021512 3524

message.goH A D29-Jan-20217 KiB271141

netlink.dotH A D29-Jan-20213.3 KiB8769

netns_linux.goH A D29-Jan-20212.4 KiB9453

rawconn_gteq_1.12.goH A D29-Jan-2021146 138

rawconn_lt_1.12.goH A D29-Jan-2021565 3322

README.md

1# netlink [![builds.sr.ht status](https://builds.sr.ht/~mdlayher/netlink.svg)](https://builds.sr.ht/~mdlayher/netlink?) [![GoDoc](https://godoc.org/github.com/mdlayher/netlink?status.svg)](https://godoc.org/github.com/mdlayher/netlink) [![Go Report Card](https://goreportcard.com/badge/github.com/mdlayher/netlink)](https://goreportcard.com/report/github.com/mdlayher/netlink)
2
3Package `netlink` provides low-level access to Linux netlink sockets.
4MIT Licensed.
5
6For more information about how netlink works, check out my blog series
7on [Linux, Netlink, and Go](https://mdlayher.com/blog/linux-netlink-and-go-part-1-netlink/).
8
9If you have any questions or you'd like some guidance, please join us on
10[Gophers Slack](https://invite.slack.golangbridge.org) in the `#networking`
11channel!
12
13## Stability
14
15See the [CHANGELOG](./CHANGELOG.md) file for a description of changes between
16releases.
17
18This package has a stable v1 API and any future breaking changes will prompt
19the release of a new major version. Features and bug fixes will continue to
20occur in the v1.x.x series.
21
22The general policy of this package is to only support the latest, stable version
23of Go. Compatibility shims may be added for prior versions of Go on an as-needed
24basis. If you would like to raise a concern, please [file an issue](https://github.com/mdlayher/netlink/issues/new).
25
26**If you depend on this package in your applications, please use Go modules.**
27
28## Design
29
30A [number of netlink packages](https://godoc.org/?q=netlink) are already
31available for Go, but I wasn't able to find one that aligned with what
32I wanted in a netlink package:
33
34- Straightforward, idiomatic API
35- Well tested
36- Well documented
37- Doesn't use package/global variables or state
38- Doesn't necessarily need root to work
39
40My goal for this package is to use it as a building block for the creation
41of other netlink family packages.
42
43## Ecosystem
44
45Over time, an ecosystem of Go packages has developed around package `netlink`.
46Many of these packages provide building blocks for further interactions with
47various netlink families, such as `NETLINK_GENERIC` or `NETLINK_ROUTE`.
48
49To have your package included in this diagram, please send a pull request!
50
51![netlink ecosystem](./netlink.svg)
52