netlink

package
v0.0.0-...-7b4befc Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2024 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FamilyAll = 0
	FamilyV4  = 2
	FamilyV6  = 10
)

Variables

This section is empty.

Functions

func FamilyToString

func FamilyToString(family int) string

Types

type Addr

type Addr struct {
	Network netip.Prefix
}

func (Addr) String

func (a Addr) String() string

type DebugLogger

type DebugLogger interface {
	Debugf(format string, args ...any)
	Patch(options ...log.Option)
}
type Link struct {
	Type      string
	Name      string
	Index     int
	EncapType string
	MTU       uint16
}
type NetLink struct {
	// contains filtered or unexported fields
}

func New

func New(debugLogger DebugLogger) *NetLink

func (*NetLink) AddrList

func (n *NetLink) AddrList(link Link, family int) (
	addresses []Addr, err error)

func (*NetLink) AddrReplace

func (n *NetLink) AddrReplace(link Link, addr Addr) error

func (*NetLink) IsIPv6Supported

func (n *NetLink) IsIPv6Supported() (supported bool, err error)

func (*NetLink) IsWireguardSupported

func (n *NetLink) IsWireguardSupported() (ok bool, err error)

func (*NetLink) LinkAdd

func (n *NetLink) LinkAdd(link Link) (linkIndex int, err error)

func (*NetLink) LinkByIndex

func (n *NetLink) LinkByIndex(index int) (link Link, err error)

func (*NetLink) LinkByName

func (n *NetLink) LinkByName(name string) (link Link, err error)

func (*NetLink) LinkDel

func (n *NetLink) LinkDel(link Link) (err error)
func (n *NetLink) LinkList() (links []Link, err error)

func (*NetLink) LinkSetDown

func (n *NetLink) LinkSetDown(link Link) (err error)

func (*NetLink) LinkSetUp

func (n *NetLink) LinkSetUp(link Link) (linkIndex int, err error)

func (*NetLink) PatchLoggerLevel

func (n *NetLink) PatchLoggerLevel(level log.Level)

func (*NetLink) RouteAdd

func (n *NetLink) RouteAdd(route Route) error

func (*NetLink) RouteDel

func (n *NetLink) RouteDel(route Route) error

func (*NetLink) RouteList

func (n *NetLink) RouteList(family int) (routes []Route, err error)

func (*NetLink) RouteReplace

func (n *NetLink) RouteReplace(route Route) error

func (*NetLink) RuleAdd

func (n *NetLink) RuleAdd(rule Rule) error

func (*NetLink) RuleDel

func (n *NetLink) RuleDel(rule Rule) error

func (*NetLink) RuleList

func (n *NetLink) RuleList(family int) (rules []Rule, err error)

type Route

type Route struct {
	LinkIndex int
	Dst       netip.Prefix
	Src       netip.Addr
	Gw        netip.Addr
	Priority  int
	Family    int
	Table     int
	Type      int
}

type Rule

type Rule struct {
	Priority int
	Family   int
	Table    int
	Mark     int
	Src      netip.Prefix
	Dst      netip.Prefix
	Invert   bool
}

func NewRule

func NewRule() Rule

func (Rule) String

func (r Rule) String() string

Jump to

Keyboard shortcuts

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