vpp

package
v3.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2020 License: Apache-2.0 Imports: 6 Imported by: 7

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrIncompatible is an error returned when no compatible handler is found.
	ErrIncompatible = errors.New("incompatible handler")
	// ErrNoVersions is an error returned when no handler versions are found.
	ErrNoVersions = errors.New("no handler versions")
	// ErrPluginDisabled is an error returned when disabled plugin is detected.
	ErrPluginDisabled = errors.New("plugin not available")
)

Functions

func GetHandlers

func GetHandlers() map[string]*Handler

GetHandlers returns map for all registered handlers.

func Messages

func Messages(funcs ...func() []govppapi.Message) binapi.MessagesList

Types

type Client

type Client interface {
	binapi.CompatibilityChecker

	// NewAPIChannel returns new channel for sending binapi requests.
	NewAPIChannel() (govppapi.Channel, error)
	// Stats provides access to VPP stats API.
	Stats() govppapi.StatsProvider
	// IsPluginLoaded returns true if the given plugin is currently loaded.
	IsPluginLoaded(plugin string) bool
	// BinapiVersion returns preferred binapi version.
	BinapiVersion() Version
	// OnReconnect registers handler function to be executed on reconnect.
	OnReconnect(h func())
}

Client provides methods for managing VPP.

type Handler

type Handler struct {
	// contains filtered or unexported fields
}

Handler is a handler for managing implementations for multiple versions.

func RegisterHandler

func RegisterHandler(hd HandlerDesc) *Handler

RegisterHandler creates new handler described by handle descriptor.

func (*Handler) AddVersion

func (h *Handler) AddVersion(hv HandlerVersion)

AddVersion adds handler version to a list of available versions. Handler versions can be overwritten by calling AddVersion multiple times.

func (*Handler) FindCompatibleVersion

func (h *Handler) FindCompatibleVersion(c Client) *HandlerVersion

FindCompatibleVersion iterates over all available handler versions and calls their Check method to check compatibility.

func (*Handler) GetCompatibleVersion

func (h *Handler) GetCompatibleVersion(c Client) (*HandlerVersion, error)

GetCompatibleVersion iterates over all available handler versions and calls their Check method to check compatibility.

func (*Handler) Name

func (h *Handler) Name() string

func (*Handler) Versions

func (h *Handler) Versions() []Version

Versions returns list of versions from list of available handler versions.

type HandlerAPI

type HandlerAPI interface{}

HandlerAPI is an empty interface representing handler interface.

type HandlerDesc

type HandlerDesc struct {
	Name       string
	HandlerAPI interface{}
	NewFunc    interface{}
}

HandlerDesc represents a VPP handler's specification.

type HandlerVersion

type HandlerVersion struct {
	Version    Version
	Check      func(Client) error
	NewHandler func(Client, ...interface{}) HandlerAPI
	New        interface{}
}

HandlerVersion defines handler implementation for specific version used by AddVersion.

type Version

type Version = binapi.Version

Directories

Path Synopsis
vppcalls
Package vppcalls contains wrappers over VPP ABF binary APIs and helpers to dump ABFs configured in VPP
Package vppcalls contains wrappers over VPP ABF binary APIs and helpers to dump ABFs configured in VPP
vppcalls
Package vppcalls contains wrappers over VPP ACL binary APIs and helpers to dump ACLs configured in VPP - per interface and total.
Package vppcalls contains wrappers over VPP ACL binary APIs and helpers to dump ACLs configured in VPP - per interface and total.
vpp1904/abf
Package abf is a generated VPP binary API for 'abf' module.
Package abf is a generated VPP binary API for 'abf' module.
vpp1904/acl
Package acl is a generated VPP binary API for 'acl' module.
Package acl is a generated VPP binary API for 'acl' module.
vpp1904/af_packet
Package af_packet is a generated VPP binary API for 'af_packet' module.
Package af_packet is a generated VPP binary API for 'af_packet' module.
vpp1904/bond
Package bond is a generated VPP binary API for 'bond' module.
Package bond is a generated VPP binary API for 'bond' module.
vpp1904/dhcp
Package dhcp is a generated VPP binary API for 'dhcp' module.
Package dhcp is a generated VPP binary API for 'dhcp' module.
vpp1904/gre
Package gre is a generated VPP binary API for 'gre' module.
Package gre is a generated VPP binary API for 'gre' module.
vpp1904/gtpu
Package gtpu is a generated VPP binary API for 'gtpu' module.
Package gtpu is a generated VPP binary API for 'gtpu' module.
vpp1904/interfaces
Package interfaces is a generated VPP binary API for 'interface' module.
Package interfaces is a generated VPP binary API for 'interface' module.
vpp1904/ip
Package ip is a generated VPP binary API for 'ip' module.
Package ip is a generated VPP binary API for 'ip' module.
vpp1904/ipsec
Package ipsec is a generated VPP binary API for 'ipsec' module.
Package ipsec is a generated VPP binary API for 'ipsec' module.
vpp1904/l2
Package l2 is a generated VPP binary API for 'l2' module.
Package l2 is a generated VPP binary API for 'l2' module.
vpp1904/memclnt
Package memclnt is a generated VPP binary API for 'memclnt' module.
Package memclnt is a generated VPP binary API for 'memclnt' module.
vpp1904/memif
Package memif is a generated VPP binary API for 'memif' module.
Package memif is a generated VPP binary API for 'memif' module.
vpp1904/nat
Package nat is a generated VPP binary API for 'nat' module.
Package nat is a generated VPP binary API for 'nat' module.
vpp1904/punt
Package punt is a generated VPP binary API for 'punt' module.
Package punt is a generated VPP binary API for 'punt' module.
vpp1904/span
Package span is a generated VPP binary API for 'span' module.
Package span is a generated VPP binary API for 'span' module.
vpp1904/sr
Package sr is a generated VPP binary API for 'sr' module.
Package sr is a generated VPP binary API for 'sr' module.
vpp1904/stn
Package stn is a generated VPP binary API for 'stn' module.
Package stn is a generated VPP binary API for 'stn' module.
vpp1904/tapv2
Package tapv2 is a generated VPP binary API for 'tapv2' module.
Package tapv2 is a generated VPP binary API for 'tapv2' module.
vpp1904/vmxnet3
Package vmxnet3 is a generated VPP binary API for 'vmxnet3' module.
Package vmxnet3 is a generated VPP binary API for 'vmxnet3' module.
vpp1904/vpe
Package vpe is a generated VPP binary API for 'vpe' module.
Package vpe is a generated VPP binary API for 'vpe' module.
vpp1904/vxlan
Package vxlan is a generated VPP binary API for 'vxlan' module.
Package vxlan is a generated VPP binary API for 'vxlan' module.
vpp1904/vxlan_gpe
Package vxlan_gpe is a generated VPP binary API for 'vxlan_gpe' module.
Package vxlan_gpe is a generated VPP binary API for 'vxlan_gpe' module.
vpp1908/abf
Package abf is a generated VPP binary API for 'abf' module.
Package abf is a generated VPP binary API for 'abf' module.
vpp1908/acl
Package acl is a generated VPP binary API for 'acl' module.
Package acl is a generated VPP binary API for 'acl' module.
vpp1908/af_packet
Package af_packet is a generated VPP binary API for 'af_packet' module.
Package af_packet is a generated VPP binary API for 'af_packet' module.
vpp1908/bond
Package bond is a generated VPP binary API for 'bond' module.
Package bond is a generated VPP binary API for 'bond' module.
vpp1908/dhcp
Package dhcp is a generated VPP binary API for 'dhcp' module.
Package dhcp is a generated VPP binary API for 'dhcp' module.
vpp1908/ethernet_types
Package ethernet_types is a generated VPP binary API for 'ethernet_types' module.
Package ethernet_types is a generated VPP binary API for 'ethernet_types' module.
vpp1908/fib_types
Package fib_types is a generated VPP binary API for 'fib_types' module.
Package fib_types is a generated VPP binary API for 'fib_types' module.
vpp1908/gre
Package gre is a generated VPP binary API for 'gre' module.
Package gre is a generated VPP binary API for 'gre' module.
vpp1908/gtpu
Package gtpu is a generated VPP binary API for 'gtpu' module.
Package gtpu is a generated VPP binary API for 'gtpu' module.
vpp1908/interface_types
Package interface_types is a generated VPP binary API for 'interface_types' module.
Package interface_types is a generated VPP binary API for 'interface_types' module.
vpp1908/interfaces
Package interfaces is a generated VPP binary API for 'interface' module.
Package interfaces is a generated VPP binary API for 'interface' module.
vpp1908/ip
Package ip is a generated VPP binary API for 'ip' module.
Package ip is a generated VPP binary API for 'ip' module.
vpp1908/ip_types
Package ip_types is a generated VPP binary API for 'ip_types' module.
Package ip_types is a generated VPP binary API for 'ip_types' module.
vpp1908/ipip
Package ipip is a generated VPP binary API for 'ipip' module.
Package ipip is a generated VPP binary API for 'ipip' module.
vpp1908/ipsec
Package ipsec is a generated VPP binary API for 'ipsec' module.
Package ipsec is a generated VPP binary API for 'ipsec' module.
vpp1908/l2
Package l2 is a generated VPP binary API for 'l2' module.
Package l2 is a generated VPP binary API for 'l2' module.
vpp1908/l3xc
Package l3xc is a generated VPP binary API for 'l3xc' module.
Package l3xc is a generated VPP binary API for 'l3xc' module.
vpp1908/memclnt
Package memclnt is a generated VPP binary API for 'memclnt' module.
Package memclnt is a generated VPP binary API for 'memclnt' module.
vpp1908/memif
Package memif is a generated VPP binary API for 'memif' module.
Package memif is a generated VPP binary API for 'memif' module.
vpp1908/mfib_types
Package mfib_types is a generated VPP binary API for 'mfib_types' module.
Package mfib_types is a generated VPP binary API for 'mfib_types' module.
vpp1908/nat
Package nat is a generated VPP binary API for 'nat' module.
Package nat is a generated VPP binary API for 'nat' module.
vpp1908/punt
Package punt is a generated VPP binary API for 'punt' module.
Package punt is a generated VPP binary API for 'punt' module.
vpp1908/span
Package span is a generated VPP binary API for 'span' module.
Package span is a generated VPP binary API for 'span' module.
vpp1908/sr
Package sr is a generated VPP binary API for 'sr' module.
Package sr is a generated VPP binary API for 'sr' module.
vpp1908/stn
Package stn is a generated VPP binary API for 'stn' module.
Package stn is a generated VPP binary API for 'stn' module.
vpp1908/tapv2
Package tapv2 is a generated VPP binary API for 'tapv2' module.
Package tapv2 is a generated VPP binary API for 'tapv2' module.
vpp1908/vmxnet3
Package vmxnet3 is a generated VPP binary API for 'vmxnet3' module.
Package vmxnet3 is a generated VPP binary API for 'vmxnet3' module.
vpp1908/vpe
Package vpe is a generated VPP binary API for 'vpe' module.
Package vpe is a generated VPP binary API for 'vpe' module.
vpp1908/vpe_types
Package vpe_types is a generated VPP binary API for 'vpe_types' module.
Package vpe_types is a generated VPP binary API for 'vpe_types' module.
vpp1908/vxlan
Package vxlan is a generated VPP binary API for 'vxlan' module.
Package vxlan is a generated VPP binary API for 'vxlan' module.
vpp1908/vxlan_gpe
Package vxlan_gpe is a generated VPP binary API for 'vxlan_gpe' module.
Package vxlan_gpe is a generated VPP binary API for 'vxlan_gpe' module.
vpp2001/abf
Package abf is a generated VPP binary API for 'abf' module.
Package abf is a generated VPP binary API for 'abf' module.
vpp2001/acl
Package acl is a generated VPP binary API for 'acl' module.
Package acl is a generated VPP binary API for 'acl' module.
vpp2001/af_packet
Package af_packet is a generated VPP binary API for 'af_packet' module.
Package af_packet is a generated VPP binary API for 'af_packet' module.
vpp2001/arp
Package arp is a generated VPP binary API for 'arp' module.
Package arp is a generated VPP binary API for 'arp' module.
vpp2001/bond
Package bond is a generated VPP binary API for 'bond' module.
Package bond is a generated VPP binary API for 'bond' module.
vpp2001/dhcp
Package dhcp is a generated VPP binary API for 'dhcp' module.
Package dhcp is a generated VPP binary API for 'dhcp' module.
vpp2001/ethernet_types
Package ethernet_types is a generated VPP binary API for 'ethernet_types' module.
Package ethernet_types is a generated VPP binary API for 'ethernet_types' module.
vpp2001/fib_types
Package fib_types is a generated VPP binary API for 'fib_types' module.
Package fib_types is a generated VPP binary API for 'fib_types' module.
vpp2001/gre
Package gre is a generated VPP binary API for 'gre' module.
Package gre is a generated VPP binary API for 'gre' module.
vpp2001/gtpu
Package gtpu is a generated VPP binary API for 'gtpu' module.
Package gtpu is a generated VPP binary API for 'gtpu' module.
vpp2001/interface_types
Package interface_types is a generated VPP binary API for 'interface_types' module.
Package interface_types is a generated VPP binary API for 'interface_types' module.
vpp2001/interfaces
Package interfaces is a generated VPP binary API for 'interface' module.
Package interfaces is a generated VPP binary API for 'interface' module.
vpp2001/ip
Package ip is a generated VPP binary API for 'ip' module.
Package ip is a generated VPP binary API for 'ip' module.
vpp2001/ip_neighbor
Package ip_neighbor is a generated VPP binary API for 'ip_neighbor' module.
Package ip_neighbor is a generated VPP binary API for 'ip_neighbor' module.
vpp2001/ip_types
Package ip_types is a generated VPP binary API for 'ip_types' module.
Package ip_types is a generated VPP binary API for 'ip_types' module.
vpp2001/ipip
Package ipip is a generated VPP binary API for 'ipip' module.
Package ipip is a generated VPP binary API for 'ipip' module.
vpp2001/ipsec
Package ipsec is a generated VPP binary API for 'ipsec' module.
Package ipsec is a generated VPP binary API for 'ipsec' module.
vpp2001/ipsec_types
Package ipsec_types is a generated VPP binary API for 'ipsec_types' module.
Package ipsec_types is a generated VPP binary API for 'ipsec_types' module.
vpp2001/l2
Package l2 is a generated VPP binary API for 'l2' module.
Package l2 is a generated VPP binary API for 'l2' module.
vpp2001/l3xc
Package l3xc is a generated VPP binary API for 'l3xc' module.
Package l3xc is a generated VPP binary API for 'l3xc' module.
vpp2001/memclnt
Package memclnt is a generated VPP binary API for 'memclnt' module.
Package memclnt is a generated VPP binary API for 'memclnt' module.
vpp2001/memif
Package memif is a generated VPP binary API for 'memif' module.
Package memif is a generated VPP binary API for 'memif' module.
vpp2001/nat
Package nat is a generated VPP binary API for 'nat' module.
Package nat is a generated VPP binary API for 'nat' module.
vpp2001/punt
Package punt is a generated VPP binary API for 'punt' module.
Package punt is a generated VPP binary API for 'punt' module.
vpp2001/span
Package span is a generated VPP binary API for 'span' module.
Package span is a generated VPP binary API for 'span' module.
vpp2001/sr
Package sr is a generated VPP binary API for 'sr' module.
Package sr is a generated VPP binary API for 'sr' module.
vpp2001/stn
Package stn is a generated VPP binary API for 'stn' module.
Package stn is a generated VPP binary API for 'stn' module.
vpp2001/tapv2
Package tapv2 is a generated VPP binary API for 'tapv2' module.
Package tapv2 is a generated VPP binary API for 'tapv2' module.
vpp2001/vmxnet3
Package vmxnet3 is a generated VPP binary API for 'vmxnet3' module.
Package vmxnet3 is a generated VPP binary API for 'vmxnet3' module.
vpp2001/vpe
Package vpe is a generated VPP binary API for 'vpe' module.
Package vpe is a generated VPP binary API for 'vpe' module.
vpp2001/vpe_types
Package vpe_types is a generated VPP binary API for 'vpe_types' module.
Package vpe_types is a generated VPP binary API for 'vpe_types' module.
vpp2001/vxlan
Package vxlan is a generated VPP binary API for 'vxlan' module.
Package vxlan is a generated VPP binary API for 'vxlan' module.
vpp2001/vxlan_gpe
Package vxlan_gpe is a generated VPP binary API for 'vxlan_gpe' module.
Package vxlan_gpe is a generated VPP binary API for 'vxlan_gpe' module.
ifaceidx
Package ifaceidx implements name-to-index mapping registry and cache for VPP interfaces.
Package ifaceidx implements name-to-index mapping registry and cache for VPP interfaces.
vppcalls/vpp1904
Package vppcalls contains wrappers over VPP binary APIs for all supported interface types and for dumping all interfaces configured in VPP.
Package vppcalls contains wrappers over VPP binary APIs for all supported interface types and for dumping all interfaces configured in VPP.
vppcalls/vpp1908
Package vppcalls contains wrappers over VPP binary APIs for all supported interface types and for dumping all interfaces configured in VPP.
Package vppcalls contains wrappers over VPP binary APIs for all supported interface types and for dumping all interfaces configured in VPP.
vppcalls/vpp2001
Package vppcalls contains wrappers over VPP binary APIs for all supported interface types and for dumping all interfaces configured in VPP.
Package vppcalls contains wrappers over VPP binary APIs for all supported interface types and for dumping all interfaces configured in VPP.
vppcalls/vpp1904
Package vppcalls contains wrappers over VPP binary APIs for bridge-domains, and L2 FIBs and XConnect pairs and helpers for dumping them.
Package vppcalls contains wrappers over VPP binary APIs for bridge-domains, and L2 FIBs and XConnect pairs and helpers for dumping them.
vppcalls/vpp1908
Package vppcalls contains wrappers over VPP binary APIs for bridge-domains, and L2 FIBs and XConnect pairs and helpers for dumping them.
Package vppcalls contains wrappers over VPP binary APIs for bridge-domains, and L2 FIBs and XConnect pairs and helpers for dumping them.
vppcalls/vpp2001
Package vppcalls contains wrappers over VPP binary APIs for bridge-domains, and L2 FIBs and XConnect pairs and helpers for dumping them.
Package vppcalls contains wrappers over VPP binary APIs for bridge-domains, and L2 FIBs and XConnect pairs and helpers for dumping them.
vppcalls/vpp1904
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.
vppcalls/vpp1908
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.
vppcalls/vpp2001
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.
vrfidx
Package vrfidx implements name-to-index mapping registry and cache for VPP VRFs.
Package vrfidx implements name-to-index mapping registry and cache for VPP VRFs.
vppcalls
Package vppcalls contains wrappers over VPP binary APIs for NAT configuration.
Package vppcalls contains wrappers over VPP binary APIs for NAT configuration.
vppcalls/vpp1904
Package vpp1904 contains wrappers over VPP (version 19.01) binary APIs to simplify their usage
Package vpp1904 contains wrappers over VPP (version 19.01) binary APIs to simplify their usage
vppcalls/vpp1908
Package vpp1908 contains wrappers over VPP (version 19.01) binary APIs to simplify their usage
Package vpp1908 contains wrappers over VPP (version 19.01) binary APIs to simplify their usage
vppcalls/vpp2001
Package vpp2001_379 contains wrappers over VPP (version 20.01) binary APIs to simplify their usage
Package vpp2001_379 contains wrappers over VPP (version 20.01) binary APIs to simplify their usage

Jump to

Keyboard shortcuts

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