netlink

package
v0.13.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2023 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

nolint:wrapcheck // Most of the functions are simple wrappers so we'll let the caller wrap errors.

nolint:wrapcheck // Most of the functions are simple wrappers so we'll let the caller wrap errors.

Index

Constants

This section is empty.

Variables

View Source
var NewFunc func() Interface

Functions

func DeleteIfaceAndAssociatedRoutes added in v0.12.0

func DeleteIfaceAndAssociatedRoutes(iface string, tableID int) error

func DeleteXfrmRules added in v0.12.0

func DeleteXfrmRules() error

func GetDefaultGatewayInterface added in v0.12.0

func GetDefaultGatewayInterface() (*net.Interface, error)

nolint:wrapcheck // Let the caller wrap external errors

func NewTableRule added in v0.13.0

func NewTableRule(tableID int) *netlink.Rule

Types

type Adapter added in v0.13.0

type Adapter struct {
	Basic
}

func (*Adapter) AddDestinationRoutes added in v0.13.0

func (a *Adapter) AddDestinationRoutes(destIPs []net.IPNet, gwIP, srcIP net.IP, linkIndex, tableID int) error

func (*Adapter) AddrAddIfNotPresent added in v0.13.0

func (a *Adapter) AddrAddIfNotPresent(link netlink.Link, addr *netlink.Addr) error

func (*Adapter) DeleteDestinationRoutes added in v0.13.0

func (a *Adapter) DeleteDestinationRoutes(destIPs []net.IPNet, linkIndex, tableID int) error

func (*Adapter) RouteAddOrReplace added in v0.13.0

func (a *Adapter) RouteAddOrReplace(route *netlink.Route) error

func (*Adapter) RuleAddIfNotPresent added in v0.13.0

func (a *Adapter) RuleAddIfNotPresent(rule *netlink.Rule) error

func (*Adapter) RuleDelIfPresent added in v0.13.0

func (a *Adapter) RuleDelIfPresent(rule *netlink.Rule) error

type Basic added in v0.13.0

type Basic interface {
	LinkAdd(link netlink.Link) error
	LinkDel(link netlink.Link) error
	LinkByName(name string) (netlink.Link, error)
	LinkSetUp(link netlink.Link) error
	AddrAdd(link netlink.Link, addr *netlink.Addr) error
	NeighAppend(neigh *netlink.Neigh) error
	NeighDel(neigh *netlink.Neigh) error
	RouteAdd(route *netlink.Route) error
	RouteDel(route *netlink.Route) error
	RouteGet(destination net.IP) ([]netlink.Route, error)
	RouteList(link netlink.Link, family int) ([]netlink.Route, error)
	FlushRouteTable(tableID int) error
	RuleAdd(rule *netlink.Rule) error
	RuleDel(rule *netlink.Rule) error
	XfrmPolicyAdd(policy *netlink.XfrmPolicy) error
	XfrmPolicyDel(policy *netlink.XfrmPolicy) error
	XfrmPolicyList(family int) ([]netlink.XfrmPolicy, error)
	EnableLooseModeReversePathFilter(interfaceName string) error
	ConfigureTCPMTUProbe(mtuProbe, baseMss string) error
}

type Interface

type Interface interface {
	Basic
	AddrAddIfNotPresent(link netlink.Link, addr *netlink.Addr) error
	RuleAddIfNotPresent(rule *netlink.Rule) error
	RuleDelIfPresent(rule *netlink.Rule) error
	RouteAddOrReplace(route *netlink.Route) error
	AddDestinationRoutes(destIPs []net.IPNet, gwIP, srcIP net.IP, linkIndex, tableID int) error
	DeleteDestinationRoutes(destIPs []net.IPNet, linkIndex, tableID int) error
}

func New

func New() Interface

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL