linuxcalls

package
v2.3.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2019 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type NetLinkHandler added in v1.8.1

type NetLinkHandler struct {
}

NetLinkHandler is accessor for Netlink methods.

func NewNetLinkHandler

func NewNetLinkHandler() *NetLinkHandler

NewNetLinkHandler creates new instance of Netlink handler.

func (*NetLinkHandler) AddRoute

func (h *NetLinkHandler) AddRoute(route *netlink.Route) error

AddRoute creates the new static route

func (*NetLinkHandler) DelARPEntry

func (h *NetLinkHandler) DelARPEntry(arpEntry *netlink.Neigh) error

DelARPEntry removes an static ARP entry

func (*NetLinkHandler) DelRoute

func (h *NetLinkHandler) DelRoute(route *netlink.Route) error

DelRoute removes the static route

func (*NetLinkHandler) GetARPEntries

func (h *NetLinkHandler) GetARPEntries(interfaceIdx int) ([]netlink.Neigh, error)

GetARPEntries reads all configured static ARP entries for given interface. <interfaceIdx> works as filter, if set to zero, all arp entries in the namespace are returned

func (*NetLinkHandler) GetRoutes

func (h *NetLinkHandler) GetRoutes(interfaceIdx int) (v4Routes, v6Routes []netlink.Route, err error)

GetRoutes reads all configured static routes with the given outgoing interface. <interfaceIdx> works as filter, if set to zero, all routes in the namespace are returned.

func (*NetLinkHandler) ReplaceRoute

func (h *NetLinkHandler) ReplaceRoute(route *netlink.Route) error

ReplaceRoute removes the static route

func (*NetLinkHandler) SetARPEntry

func (h *NetLinkHandler) SetARPEntry(arpEntry *netlink.Neigh) error

SetARPEntry updates existing arp entry

type NetlinkAPI

type NetlinkAPI interface {
	NetlinkAPIWrite
	NetlinkAPIRead
}

NetlinkAPI interface covers all methods inside linux calls package needed to manage linux ARP entries and routes.

type NetlinkAPIRead added in v1.8.1

type NetlinkAPIRead interface {
	// GetARPEntries reads all configured static ARP entries for given interface.
	// <interfaceIdx> works as filter, if set to zero, all arp entries in the namespace
	// are returned.
	GetARPEntries(interfaceIdx int) ([]netlink.Neigh, error)

	// GetRoutes reads all configured static routes with the given outgoing
	// interface.
	// <interfaceIdx> works as filter, if set to zero, all routes in the namespace
	// are returned.
	GetRoutes(interfaceIdx int) (v4Routes, v6Routes []netlink.Route, err error)
}

NetlinkAPIRead interface covers read methods inside linux calls package needed to manage linux ARP entries and routes.

type NetlinkAPIWrite added in v1.8.1

type NetlinkAPIWrite interface {
	/* ARP */
	// SetARPEntry adds/modifies existing linux ARP entry.
	SetARPEntry(arpEntry *netlink.Neigh) error
	// DelARPEntry removes linux ARP entry.
	DelARPEntry(arpEntry *netlink.Neigh) error

	/* Routes */
	// AddRoute adds new linux static route.
	AddRoute(route *netlink.Route) error
	// ReplaceRoute changes existing linux static route.
	ReplaceRoute(route *netlink.Route) error
	// DelRoute removes linux static route.
	DelRoute(route *netlink.Route) error
}

NetlinkAPIWrite interface covers write methods inside linux calls package needed to manage linux ARP entries and routes.

Jump to

Keyboard shortcuts

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