package netroute

Import Path
	github.com/libp2p/go-netroute (on go.dev)

Dependency Relation
	imports 8 packages, and imported by 4 packages

Involved Source Files Originally found in https://github.com/google/gopacket/blob/master/routing/routing.go - Route selection modified to choose most selective route to break ties when route priority is insufficient. netroute_linux.go router.go
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. This interface was copied from https://github.com/google/gopacket Copyright 2012 Google, Inc. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file in the root of the source tree. 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)
Package-Level Functions (only one)
func New() (Router, error)