vppcalls

package
v2.5.0-alpha.0...-0e2148d Latest Latest
Warning

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

Go to latest
Published: Jan 8, 2020 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Handler = vpp.RegisterHandler(vpp.HandlerDesc{
	Name:       "l3",
	HandlerAPI: (*L3VppAPI)(nil),
})

Functions

func AddHandlerVersion

func AddHandlerVersion(version vpp.Version, msgs []govppapi.Message, h NewHandlerFunc)

Types

type ArpDetails

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

ArpDetails holds info about ARP entry as a proto model

type ArpMeta

type ArpMeta struct {
	SwIfIndex uint32
}

ArpMeta contains interface index of the ARP interface

type ArpVppAPI

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

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 DHCPProxyAPI

type DHCPProxyAPI interface {
	DHCPProxyRead

	// CreateDHCPProxy creates dhcp proxy according to provided input
	CreateDHCPProxy(entry *l3.DHCPProxy) error
	// DeleteDHCPProxy deletes created dhcp proxy
	DeleteDHCPProxy(entry *l3.DHCPProxy) error
}

ArpVppAPI provides methods for managing ARP entries

type DHCPProxyDetails

type DHCPProxyDetails struct {
	DHCPProxy *l3.DHCPProxy
}

DHCPProxyDetails holds info about DHCP proxy entry as a proto model

type DHCPProxyRead

type DHCPProxyRead interface {
	// DumpDHCPProxy returns configured DHCP proxy
	DumpDHCPProxy() ([]*DHCPProxyDetails, error)
}

DHCPProxyRead provides read methods for routes

type FibMplsLabel

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

FibMplsLabel is object returned with route dump.

type IPNeighVppAPI

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

L3VppAPI groups L3 Vpp APIs.

func CompatibleL3VppHandler

func CompatibleL3VppHandler(
	c vpp.Client,
	ifIdx ifaceidx.IfaceMetadataIndex,
	vrfIdx vrfidx.VRFMetadataIndex,
	addrAlloc netalloc.AddressAllocator,
	log logging.Logger,
) L3VppAPI

type NewHandlerFunc

type ProxyArpInterfaceDetails

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

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

type ProxyArpInterfaceMeta

type ProxyArpInterfaceMeta struct {
	SwIfIndex uint32
}

ProxyArpInterfaceMeta contains interface vpp index

type ProxyArpRangesDetails

type ProxyArpRangesDetails struct {
	Range *l3.ProxyARP_Range
}

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

type ProxyArpVppAPI

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

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

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

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

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

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

type VrfTableVppAPI

type VrfTableVppAPI interface {
	VrfTableVppRead

	// AddVrfTable adds new VRF table.
	AddVrfTable(table *l3.VrfTable) error
	// DelVrfTable deletes existing VRF table.
	DelVrfTable(table *l3.VrfTable) error
}

VrfTableVppAPI provides methods for managing VRF tables.

type VrfTableVppRead

type VrfTableVppRead interface {
	// DumpVrfTables dumps all configured VRF tables.
	DumpVrfTables() ([]*l3.VrfTable, error)
}

VrfTableVppRead provides read methods for VRF tables.

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.
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.
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.
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