Documentation
¶
Index ¶
- type NetLinkHandler
- func (h *NetLinkHandler) AddRoute(route *netlink.Route) error
- func (h *NetLinkHandler) DelARPEntry(arpEntry *netlink.Neigh) error
- func (h *NetLinkHandler) DelRoute(route *netlink.Route) error
- func (h *NetLinkHandler) GetARPEntries(interfaceIdx int) ([]netlink.Neigh, error)
- func (h *NetLinkHandler) GetRoutes(interfaceIdx int) (v4Routes, v6Routes []netlink.Route, err error)
- func (h *NetLinkHandler) ReplaceRoute(route *netlink.Route) error
- func (h *NetLinkHandler) SetARPEntry(arpEntry *netlink.Neigh) error
- type NetlinkAPI
- type NetlinkAPIRead
- type NetlinkAPIWrite
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.
Source Files
¶
- arp_linuxcalls.go
- netlink_api.go
- route_linuxcalls.go