Involved Source Filescommon.go Package routing provides a very basic but mostly functional implementation of
a routing table for IPv4/IPv6 addresses. It uses a routing table pulled from
the kernel via netlink to find the correct interface, gateway, and preferred
source IP address for packets destined to a particular location.
The routing package is meant to be used with applications that are sending
raw packet data, which don't have the benefit of having the kernel route
packets for them.
Package-Level Type Names (only one)
/* sort by: | */
Router implements simple IPv4/IPv6 routing based on the kernel's routing
table. This routing library has very few features and may actually route
incorrectly in some cases, but it should work the majority of the time. Route returns where to route a packet based on the packet's source
and destination IP address.
Callers may pass in nil for src, in which case the src is treated as
either 0.0.0.0 or ::, depending on whether dst is a v4 or v6 address.
It returns the interface on which to send the packet, the gateway IP
to send the packet to (if necessary), the preferred src IP to use (if
available). If the preferred src address is not given in the routing
table, the first IP address of the interface is provided.
If an error is encountered, iface, geteway, and
preferredSrc will be nil, and err will be set. RouteWithSrc routes based on source information as well as destination
information. Either or both of input/src can be nil. If both are, this
should behave exactly like Route(dst)
func New() (Router, error)
func github.com/libp2p/go-netroute.New() (Router, error)
Package-Level Functions (only one)
New creates a new router object. The router returned by New currently does
not update its routes after construction... care should be taken for
long-running programs to call New() regularly to take into account any
changes to the routing table which have occurred since the last New() call.
The pages are generated with Goldsv0.8.2. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds.