Documentation ¶
Overview ¶
Package vppagent is the parent for vpp-specific packages used to build VPP Agent, a control/management plane for VPP-based cloud-native VNFs. VPP Agent is built on the cn-infra platform.
Directories ¶
Path | Synopsis |
---|---|
Package clientv1 provides clients for local and remote management of VPP and Linux configuration via VPP Agent plugins.
|
Package clientv1 provides clients for local and remote management of VPP and Linux configuration via VPP Agent plugins. |
linux
Package linuxclient contains clients for local and remote management of both VPP and Linux configuration via Linux and default plugins.
|
Package linuxclient contains clients for local and remote management of both VPP and Linux configuration via Linux and default plugins. |
linux/dbadapter
Package dbadapter implements Domain Specific Language (DSL) for resync and change of VPP and Linux configuration.
|
Package dbadapter implements Domain Specific Language (DSL) for resync and change of VPP and Linux configuration. |
linux/localclient
Package localclient implements client for local management of VPP and Linux configuration.
|
Package localclient implements client for local management of VPP and Linux configuration. |
linux/remoteclient
Package remoteclient implements client for remote management of VPP and Linux configuration.
|
Package remoteclient implements client for remote management of VPP and Linux configuration. |
vpp
Package vppclient contains clients for local and remote management of VPP configuration via default plugins.
|
Package vppclient contains clients for local and remote management of VPP configuration via default plugins. |
vpp/dbadapter
Package dbadapter implements Domain Specific Language (DSL) for resync and change of VPP configuration using Data Broker (by writing to key value store).
|
Package dbadapter implements Domain Specific Language (DSL) for resync and change of VPP configuration using Data Broker (by writing to key value store). |
vpp/grpcadapter
Package grpcadapter implements Domain Specific Language (DSL) for resync and change of VPP configuration using GRPC client.
|
Package grpcadapter implements Domain Specific Language (DSL) for resync and change of VPP configuration using GRPC client. |
vpp/localclient
Package localclient implements client for local management of VPP configuration.
|
Package localclient implements client for local management of VPP configuration. |
vpp/remoteclient
Package remoteclient implements the client for remote management of VPP configuration.
|
Package remoteclient implements the client for remote management of VPP configuration. |
Package clientv2 provides clients for local and remote management of VPP and Linux configuration via VPP Agent plugins.
|
Package clientv2 provides clients for local and remote management of VPP and Linux configuration via VPP Agent plugins. |
linux
Package linuxclient contains clients for local and remote management of both VPP and Linux configuration via Linux and default plugins.
|
Package linuxclient contains clients for local and remote management of both VPP and Linux configuration via Linux and default plugins. |
linux/dbadapter
Package dbadapter implements Domain Specific Language (DSL) for resync and change of VPP and Linux configuration.
|
Package dbadapter implements Domain Specific Language (DSL) for resync and change of VPP and Linux configuration. |
linux/localclient
Package localclient implements client for local management of VPP and Linux configuration.
|
Package localclient implements client for local management of VPP and Linux configuration. |
linux/remoteclient
Package remoteclient implements client for remote management of VPP and Linux configuration.
|
Package remoteclient implements client for remote management of VPP and Linux configuration. |
vpp
Package vppclient contains clients for local and remote management of VPP configuration via default plugins.
|
Package vppclient contains clients for local and remote management of VPP configuration via default plugins. |
vpp/dbadapter
Package dbadapter implements Domain Specific Language (DSL) for resync and change of VPP configuration using Data Broker (by writing to key value store).
|
Package dbadapter implements Domain Specific Language (DSL) for resync and change of VPP configuration using Data Broker (by writing to key value store). |
vpp/localclient
Package localclient implements client for local management of VPP configuration.
|
Package localclient implements client for local management of VPP configuration. |
vpp/remoteclient
Package remoteclient implements the client for remote management of VPP configuration.
|
Package remoteclient implements the client for remote management of VPP configuration. |
Package cmd is the parent of packages that are used to build various executables from VPP Agent sources.
|
Package cmd is the parent of packages that are used to build various executables from VPP Agent sources. |
agentctl
Agentctl is a command-line tool for monitoring and configuring VPP Agents.
|
Agentctl is a command-line tool for monitoring and configuring VPP Agents. |
agentctl/cmd
Package cmd implements a command line interface (CLI) for agentctl tool.
|
Package cmd implements a command line interface (CLI) for agentctl tool. |
agentctl/impl
Package impl implements handlers for agentctl commands.
|
Package impl implements handlers for agentctl commands. |
agentctl/testing
Package testing contains agentctl unit tests.
|
Package testing contains agentctl unit tests. |
agentctl/testing/then
Package then contains methods for verification of agentctl unit test outcomes.
|
Package then contains methods for verification of agentctl unit test outcomes. |
agentctl/utils
Package utils provides utility functions used in agentctl commands.
|
Package utils provides utility functions used in agentctl commands. |
vpp-agent
Package vpp-agent implements the main entry point into the VPP Agent and it is used to build the VPP Agent executable.
|
Package vpp-agent implements the main entry point into the VPP Agent and it is used to build the VPP Agent executable. |
vpp-agent-ctl
package vpp-agent-ctl implements the vpp-agent-ctl test tool for testing VPP Agent plugins.
|
package vpp-agent-ctl implements the vpp-agent-ctl test tool for testing VPP Agent plugins. |
Package examples contains several examples that illustrate various aspects of VPP Agent's functionality.
|
Package examples contains several examples that illustrate various aspects of VPP Agent's functionality. |
govpp_call
Example govpp_call shows how to use govpp library to communicate with VPP over the binary API.
|
Example govpp_call shows how to use govpp library to communicate with VPP over the binary API. |
grpc_vpp/notifications
Example statistics app demonstrates usage of grpc to stream vpp statistics.
|
Example statistics app demonstrates usage of grpc to stream vpp statistics. |
grpc_vpp/remote_client
Example remote_client demonstrates remote VPP config management via clientv1 using GPRC transport.
|
Example remote_client demonstrates remote VPP config management via clientv1 using GPRC transport. |
idx_bd_cache
Example idx_bd_cache demonstrates the use of "bridge-domain name-to-index cache" to watch for bridge-domain config changes across agents.
|
Example idx_bd_cache demonstrates the use of "bridge-domain name-to-index cache" to watch for bridge-domain config changes across agents. |
idx_iface_cache
Example idx_iface_cache demonstrates the use of "interface name-to-index cache" to watch for VPP interface config changes across agents.
|
Example idx_iface_cache demonstrates the use of "interface name-to-index cache" to watch for VPP interface config changes across agents. |
idx_mapping_lookup
Example idx_mapping_lookup shows how to use the name-to-index mapping registry to create a new mapping and how to add and lookup mapping items.
|
Example idx_mapping_lookup shows how to use the name-to-index mapping registry to create a new mapping and how to add and lookup mapping items. |
idx_mapping_watcher
Example idx_mapping_watcher shows how to watch on changes done in name-to-index mapping registry.
|
Example idx_mapping_watcher shows how to watch on changes done in name-to-index mapping registry. |
idx_veth_cache
Example idx_veth_cache demonstrates the use of the "VETH name-to-index cache" to watch Linux VETH interface config changes across agents.
|
Example idx_veth_cache demonstrates the use of the "VETH name-to-index cache" to watch Linux VETH interface config changes across agents. |
localclient_linux/tap
Example localclient_linux demonstrates local Linux (linux-tap) and VPP (tap) config management via clientv1.
|
Example localclient_linux demonstrates local Linux (linux-tap) and VPP (tap) config management via clientv1. |
localclient_linux/veth
Example localclient_linux demonstrates local Linux (veth) and VPP (af-packet) config management via clientv1.
|
Example localclient_linux demonstrates local Linux (veth) and VPP (af-packet) config management via clientv1. |
localclient_vpp/nat
Example localclient_vpp_nat demonstrates NAT VPP configuration managed via clientv1.
|
Example localclient_vpp_nat demonstrates NAT VPP configuration managed via clientv1. |
localclient_vpp/plugins
Example localclient_vpp_plugins demonstrates local VPP config management via clientv1.
|
Example localclient_vpp_plugins demonstrates local VPP config management via clientv1. |
Package idxvpp implements name-to-index mapping used by VPP plugins to keep a map between VPP interface handles and northbound string-based identifiers.
|
Package idxvpp implements name-to-index mapping used by VPP plugins to keep a map between VPP interface handles and northbound string-based identifiers. |
cacheutil
Package cacheutil is a base implementation of name-to-index cache on the top of which all typesafe caches are built.
|
Package cacheutil is a base implementation of name-to-index cache on the top of which all typesafe caches are built. |
nametoidx
Package nametoidx is an in-memory implementation of the name-to-index mapping registry.
|
Package nametoidx is an in-memory implementation of the name-to-index mapping registry. |
persist
Package persist asynchronously writes changes in the map (name->idx) to file.
|
Package persist asynchronously writes changes in the map (name->idx) to file. |
Package idxvpp2 extends NamedMapping from cn-infra to provide a map between VPP/Linux items with integer handles and northbound string-based identifiers (logical names).
|
Package idxvpp2 extends NamedMapping from cn-infra to provide a map between VPP/Linux items with integer handles and northbound string-based identifiers (logical names). |
Package plugins is the parent package for all vpp-agent plugins.
|
Package plugins is the parent package for all vpp-agent plugins. |
govppmux
Package govppmux implements the GoVPPMux plugin that allows multiple plugins to share a single connection to VPP.
|
Package govppmux implements the GoVPPMux plugin that allows multiple plugins to share a single connection to VPP. |
linux
Package linux implements the Linux plugin that handles management of Linux VETH interfaces.
|
Package linux implements the Linux plugin that handles management of Linux VETH interfaces. |
linux/ifplugin/ifaceidx
Package ifaceidx implements name-to-index mapping registry and cache for Linux interfaces.
|
Package ifaceidx implements name-to-index mapping registry and cache for Linux interfaces. |
linux/ifplugin/linuxcalls
Package linuxcalls contains wrappers over Netlink APIs related to Linux VETH interfaces or Linux interfaces in general.
|
Package linuxcalls contains wrappers over Netlink APIs related to Linux VETH interfaces or Linux interfaces in general. |
linux/l3plugin/l3idx
Package l3idx implements name-to-index mapping registry and cache for Linux static arp entries and static routes.
|
Package l3idx implements name-to-index mapping registry and cache for Linux static arp entries and static routes. |
linux/model
Package model defines the linuxplugin's northbound API.
|
Package model defines the linuxplugin's northbound API. |
linuxv2/ifplugin/ifaceidx
Package ifaceidx implements name-to-index mapping for Linux interfaces.
|
Package ifaceidx implements name-to-index mapping for Linux interfaces. |
linuxv2/ifplugin/linuxcalls
Package linuxcalls contains wrappers over Netlink APIs related to Linux VETH interfaces or Linux interfaces in general.
|
Package linuxcalls contains wrappers over Netlink APIs related to Linux VETH interfaces or Linux interfaces in general. |
linuxv2/model
Package model defines the linuxplugin's northbound API.
|
Package model defines the linuxplugin's northbound API. |
linuxv2/nsplugin/linuxcalls
Package linuxcalls contains wrappers over Netlink & OS APIs related to Linux namespaces.
|
Package linuxcalls contains wrappers over Netlink & OS APIs related to Linux namespaces. |
vpp
Package vpp is the parent package for all "default" VPP-related plugins.
|
Package vpp is the parent package for all "default" VPP-related plugins. |
vpp/aclplugin
Package aclplugin implements the ACL Plugin that handles management of VPP Access lists.
|
Package aclplugin implements the ACL Plugin that handles management of VPP Access lists. |
vpp/aclplugin/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. |
vpp/binapi
Package binapi defines southbound API of the default plugins.
|
Package binapi defines southbound API of the default plugins. |
vpp/binapi/acl
Package acl is a generated from VPP binary API module 'acl'.
|
Package acl is a generated from VPP binary API module 'acl'. |
vpp/binapi/af_packet
Package af_packet is a generated from VPP binary API module 'af_packet'.
|
Package af_packet is a generated from VPP binary API module 'af_packet'. |
vpp/binapi/bfd
Package bfd is a generated from VPP binary API module 'bfd'.
|
Package bfd is a generated from VPP binary API module 'bfd'. |
vpp/binapi/dhcp
Package dhcp is a generated from VPP binary API module 'dhcp'.
|
Package dhcp is a generated from VPP binary API module 'dhcp'. |
vpp/binapi/interfaces
Package interfaces is a generated from VPP binary API module 'interface'.
|
Package interfaces is a generated from VPP binary API module 'interface'. |
vpp/binapi/ip
Package ip is a generated from VPP binary API module 'ip'.
|
Package ip is a generated from VPP binary API module 'ip'. |
vpp/binapi/ipsec
Package ipsec is a generated from VPP binary API module 'ipsec'.
|
Package ipsec is a generated from VPP binary API module 'ipsec'. |
vpp/binapi/l2
Package l2 is a generated from VPP binary API module 'l2'.
|
Package l2 is a generated from VPP binary API module 'l2'. |
vpp/binapi/memif
Package memif is a generated from VPP binary API module 'memif'.
|
Package memif is a generated from VPP binary API module 'memif'. |
vpp/binapi/nat
Package nat is a generated from VPP binary API module 'nat'.
|
Package nat is a generated from VPP binary API module 'nat'. |
vpp/binapi/session
Package session is a generated from VPP binary API module 'session'.
|
Package session is a generated from VPP binary API module 'session'. |
vpp/binapi/sr
Package sr is a generated from VPP binary API module 'sr'.
|
Package sr is a generated from VPP binary API module 'sr'. |
vpp/binapi/stats
Package stats is a generated from VPP binary API module 'stats'.
|
Package stats is a generated from VPP binary API module 'stats'. |
vpp/binapi/stn
Package stn is a generated from VPP binary API module 'stn'.
|
Package stn is a generated from VPP binary API module 'stn'. |
vpp/binapi/tap
Package tap is a generated from VPP binary API module 'tap'.
|
Package tap is a generated from VPP binary API module 'tap'. |
vpp/binapi/tapv2
Package tapv2 is a generated from VPP binary API module 'tapv2'.
|
Package tapv2 is a generated from VPP binary API module 'tapv2'. |
vpp/binapi/vpe
Package vpe is a generated from VPP binary API module 'vpe'.
|
Package vpe is a generated from VPP binary API module 'vpe'. |
vpp/binapi/vxlan
Package vxlan is a generated from VPP binary API module 'vxlan'.
|
Package vxlan is a generated from VPP binary API module 'vxlan'. |
vpp/ifplugin
Package ifplugin implements the Interface plugin that handles management of VPP interfaces.
|
Package ifplugin implements the Interface plugin that handles management of VPP interfaces. |
vpp/ifplugin/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. |
vpp/ifplugin/vppcalls
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. |
vpp/ipsecplugin
Package ipsecplugin implements the IPSec plugin that handles management of IPSec for VPP.
|
Package ipsecplugin implements the IPSec plugin that handles management of IPSec for VPP. |
vpp/l2plugin
Package l2plugin implements the L2 plugin that handles Bridge Domains and L2 FIBs.
|
Package l2plugin implements the L2 plugin that handles Bridge Domains and L2 FIBs. |
vpp/l2plugin/l2idx
Package l2idx implements name-to-index mapping registry and cache for bridge-domains.
|
Package l2idx implements name-to-index mapping registry and cache for bridge-domains. |
vpp/l2plugin/vppcalls
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. |
vpp/l3plugin
Package l3plugin implements the L3 plugin that handles L3 FIBs.
|
Package l3plugin implements the L3 plugin that handles L3 FIBs. |
vpp/l3plugin/vppcalls
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. |
vpp/l4plugin/nsidx
Package nsidx implements name-to-index mapping registry and cache for app namespaces
|
Package nsidx implements name-to-index mapping registry and cache for app namespaces |
vpp/model
Package model defines the northbound API of the default plugins.
|
Package model defines the northbound API of the default plugins. |
vpp/model/rpc
Package rpc is the parent for packages defining various GRPC services generated from protobuf data models.
|
Package rpc is the parent for packages defining various GRPC services generated from protobuf data models. |
vpp/srplugin/cache
Package cache contains caches for certain modeled types.
|
Package cache contains caches for certain modeled types. |
vpp/srplugin/vppcalls
Package vppcalls contains wrappers over VPP binary APIs to simplify their usage
|
Package vppcalls contains wrappers over VPP binary APIs to simplify their usage |
vppv2/aclplugin/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. |
vppv2/ifplugin/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. |
vppv2/ifplugin/vppcalls
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. |
vppv2/l2plugin/vppcalls
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. |
vppv2/model
Package model defines the northbound API of the VPP plugins.
|
Package model defines the northbound API of the VPP plugins. |
tests
|
|
Click to show internal directories.
Click to hide internal directories.