Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( GetFailed = errors.New("netlink get operation failed") ConnectFailed = errors.New("connect to netlink failed") ListFailed = errors.New("netlink list operation failed") UpdateFailed = errors.New("netlink update operation failed") IfaceNotPresent = errors.New("interface not present") IfaceDown = errors.New("interface down") IfaceGrace = errors.New("interface in cleanup grace period") )
Functions ¶
This section is empty.
Types ¶
type HandleIface ¶
type HandleIface interface { SetSocketTimeout(to time.Duration) error LinkList() ([]netlink.Link, error) LinkByName(name string) (netlink.Link, error) RouteList(link netlink.Link, family int) ([]netlink.Route, error) RouteAdd(route *netlink.Route) error RouteDel(route *netlink.Route) error Delete() }
type RouteTable ¶
type RouteTable struct {
// contains filtered or unexported fields
}
func New ¶
func New(interfacePrefixes []string, ipVersion uint8, netlinkTimeout time.Duration) *RouteTable
func NewWithShims ¶
func NewWithShims( interfacePrefixes []string, ipVersion uint8, newNetlinkHandle func() (HandleIface, error), netlinkTimeout time.Duration, addStaticARPEntry func(cidr ip.CIDR, destMAC net.HardwareAddr, ifaceName string) error, conntrack conntrackIface, timeShim timeIface, ) *RouteTable
NewWithShims is a test constructor, which allows netlink, arp and time to be replaced by shims.
func (*RouteTable) Apply ¶
func (r *RouteTable) Apply() error
func (*RouteTable) OnIfaceStateChanged ¶
func (r *RouteTable) OnIfaceStateChanged(ifaceName string, state ifacemonitor.State)
func (*RouteTable) QueueResync ¶
func (r *RouteTable) QueueResync()
func (*RouteTable) SetRoutes ¶
func (r *RouteTable) SetRoutes(ifaceName string, targets []Target)
Click to show internal directories.
Click to hide internal directories.