vppcalls

package
v2.0.2+incompatible Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2019 License: Apache-2.0 Imports: 4 Imported by: 70

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Versions = map[string]HandlerVersion{}

Functions

This section is empty.

Types

type ArpDetails added in v1.8.1

type ArpDetails struct {
	Arp  *l3.ARPEntry
	Meta *ArpMeta
}

ArpDetails holds info about ARP entry as a proto model

type ArpMeta added in v1.8.1

type ArpMeta struct {
	SwIfIndex uint32
}

ArpMeta contains interface index of the ARP interface

type ArpVppAPI added in v1.8.1

type ArpVppAPI interface {
	ArpVppRead

	// VppAddArp adds ARP entry according to provided input
	VppAddArp(entry *l3.ARPEntry) error
	// VppDelArp removes old ARP entry according to provided input
	VppDelArp(entry *l3.ARPEntry) error
}

ArpVppAPI provides methods for managing ARP entries

type ArpVppRead added in v1.8.1

type ArpVppRead interface {
	// DumpArpEntries dumps ARPs from VPP and fills them into the provided static route map.
	DumpArpEntries() ([]*ArpDetails, error)
}

ArpVppRead provides read methods for ARPs

type FibMplsLabel

type FibMplsLabel struct {
	IsUniform bool
	Label     uint32
	TTL       uint8
	Exp       uint8
}

FibMplsLabel is object returned with route dump.

type HandlerVersion

type HandlerVersion struct {
	Msgs []govppapi.Message
	New  func(govppapi.Channel, ifaceidx.IfaceMetadataIndex, logging.Logger) L3VppAPI
}

type IPNeighVppAPI added in v1.8.1

type IPNeighVppAPI interface {
	// SetIPScanNeighbor configures IP scan neighbor to the VPP
	SetIPScanNeighbor(data *l3.IPScanNeighbor) error
	// GetIPScanNeighbor returns IP scan neighbor configuration from the VPP
	GetIPScanNeighbor() (*l3.IPScanNeighbor, error)
}

IPNeighVppAPI provides methods for managing IP scan neighbor configuration

type L3VppAPI

type L3VppAPI interface {
	ArpVppAPI
	ProxyArpVppAPI
	RouteVppAPI
	IPNeighVppAPI
}

L3VppAPI groups L3 Vpp APIs.

func CompatibleL3VppHandler

func CompatibleL3VppHandler(
	ch govppapi.Channel,
	ifIdx ifaceidx.IfaceMetadataIndex,
	log logging.Logger,
) L3VppAPI

type ProxyArpInterfaceDetails added in v1.8.1

type ProxyArpInterfaceDetails struct {
	Interface *l3.ProxyARP_Interface
	Meta      *ProxyArpInterfaceMeta
}

ProxyArpInterfaceDetails holds info about proxy ARP interfaces as a proto modeled data

type ProxyArpInterfaceMeta added in v1.8.1

type ProxyArpInterfaceMeta struct {
	SwIfIndex uint32
}

ProxyArpInterfaceMeta contains interface vpp index

type ProxyArpRangesDetails added in v1.8.1

type ProxyArpRangesDetails struct {
	Range *l3.ProxyARP_Range
}

ProxyArpRangesDetails holds info about proxy ARP range as a proto modeled data

type ProxyArpVppAPI added in v1.8.1

type ProxyArpVppAPI interface {
	ProxyArpVppRead

	// EnableProxyArpInterface enables interface for proxy ARP
	EnableProxyArpInterface(ifName string) error
	// DisableProxyArpInterface disables interface for proxy ARP
	DisableProxyArpInterface(ifName string) error
	// AddProxyArpRange adds new IP range for proxy ARP
	AddProxyArpRange(firstIP, lastIP []byte) error
	// DeleteProxyArpRange removes proxy ARP IP range
	DeleteProxyArpRange(firstIP, lastIP []byte) error
}

ProxyArpVppAPI provides methods for managing proxy ARP entries

type ProxyArpVppRead added in v1.8.1

type ProxyArpVppRead interface {
	// DumpProxyArpRanges returns configured proxy ARP ranges
	DumpProxyArpRanges() ([]*ProxyArpRangesDetails, error)
	// DumpProxyArpRanges returns configured proxy ARP interfaces
	DumpProxyArpInterfaces() ([]*ProxyArpInterfaceDetails, error)
}

ProxyArpVppRead provides read methods for proxy ARPs

type RouteDetails added in v1.8.1

type RouteDetails struct {
	Route *l3.Route
	Meta  *RouteMeta
}

RouteDetails is object returned as a VPP dump. It contains static route data in proto format, and VPP-specific metadata

type RouteMeta added in v1.8.1

type RouteMeta struct {
	TableName         string
	OutgoingIfIdx     uint32
	IsIPv6            bool
	Afi               uint8
	IsLocal           bool
	IsUDPEncap        bool
	IsUnreach         bool
	IsProhibit        bool
	IsResolveHost     bool
	IsResolveAttached bool
	IsDvr             bool
	IsSourceLookup    bool
	NextHopID         uint32
	RpfID             uint32
	LabelStack        []FibMplsLabel
}

RouteMeta holds fields returned from the VPP as details which are not in the model

type RouteVppAPI added in v1.8.1

type RouteVppAPI interface {
	RouteVppRead

	// VppAddRoute adds new route, according to provided input.
	// Every route has to contain VRF ID (default is 0).
	VppAddRoute(route *l3.Route) error
	// VppDelRoute removes old route, according to provided input.
	// Every route has to contain VRF ID (default is 0).
	VppDelRoute(route *l3.Route) error
}

RouteVppAPI provides methods for managing routes

type RouteVppRead added in v1.8.1

type RouteVppRead interface {
	// DumpRoutes dumps l3 routes from VPP and fills them
	// into the provided static route map.
	DumpRoutes() ([]*RouteDetails, error)
}

RouteVppRead provides read methods for routes

Directories

Path Synopsis
Package vppcalls contains wrappers over VPP binary APIs for ARPs, proxy ARPs, L3 FIBs and helpers for dumping them.
Package vppcalls contains wrappers over VPP binary APIs for ARPs, proxy ARPs, L3 FIBs and helpers for dumping them.

Jump to

Keyboard shortcuts

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