Update dependencies
This commit is contained in:
43
vendor/github.com/jsimonetti/rtnetlink/README.md
generated
vendored
Normal file
43
vendor/github.com/jsimonetti/rtnetlink/README.md
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
rtnetlink  [](https://godoc.org/github.com/jsimonetti/rtnetlink) [](https://goreportcard.com/report/github.com/jsimonetti/rtnetlink)
|
||||
=======
|
||||
|
||||
Package `rtnetlink` allows the kernel's routing tables to be read and
|
||||
altered. Network routes, IP addresses, Link parameters, Neighbor setups,
|
||||
Queueing disciplines, Traffic classes and Packet classifiers may all be
|
||||
controlled. It is based on netlink messages.
|
||||
|
||||
A convenient, high-level API wrapper is available using package
|
||||
[`rtnl`](https://godoc.org/github.com/jsimonetti/rtnetlink/rtnl).
|
||||
|
||||
The base `rtnetlink` library explicitly only exposes a limited low-level API to
|
||||
rtnetlink. It is not the intention (nor wish) to create an iproute2
|
||||
replacement.
|
||||
|
||||
### Debugging and netlink errors
|
||||
Unfortunately the errors generated by the kernels netlink interface are
|
||||
not very great.
|
||||
|
||||
When in doubt about your message structure it can always be useful to
|
||||
look at the message send by iproute2 using `strace -f -esendmsg /bin/ip`
|
||||
or similar.
|
||||
|
||||
Another (and possibly even more flexible) way would be using `nlmon` and
|
||||
`wireshark`. nlmod is a special kernel module which allows you to
|
||||
capture all netlink (not just rtnetlink) traffic inside the kernel. Be
|
||||
aware that this might be overwhelming on a system with a lot of netlink
|
||||
traffic.
|
||||
|
||||
```
|
||||
# modprobe nlmon
|
||||
# ip link add type nlmon
|
||||
# ip link set nlmon0 up
|
||||
```
|
||||
|
||||
At this point use wireshark or tcpdump on the nlmon0 interface to view
|
||||
all netlink traffic.
|
||||
|
||||
Have a look at the examples for common uses of rtnetlink.
|
||||
|
||||
If you have any questions or you'd like some guidance, please join us on
|
||||
[Gophers Slack](https://invite.slack.golangbridge.org) in the `#networking`
|
||||
channel!
|
||||
Reference in New Issue
Block a user