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. |
defaultplugins
Package defaultplugins contains clients for local and remote management of VPP configuration via default plugins.
|
Package defaultplugins contains clients for local and remote management of VPP configuration via default plugins. |
defaultplugins/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). |
defaultplugins/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. |
defaultplugins/localclient
Package localclient implements client for local management of VPP configuration.
|
Package localclient implements client for local management of VPP configuration. |
defaultplugins/remoteclient
Package remoteclient implements the client for remote management of VPP configuration.
|
Package remoteclient implements the client for remote management of VPP configuration. |
linux
Package linux contains clients for local and remote management of both VPP and Linux configuration via Linux and default plugins.
|
Package linux 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. |
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 flavors contains predefined vpp-agent flavors.
|
Package flavors contains predefined vpp-agent flavors. |
local
Package local defines flavor used for VPP agents managed only locally.
|
Package local defines flavor used for VPP agents managed only locally. |
vpp
Package vpp defines the standard flavor used for full-featured VPP agents.
|
Package vpp defines the standard flavor used for full-featured VPP agents. |
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 plugins is the parent package for all vpp-agent plugins.
|
Package plugins is the parent package for all vpp-agent plugins. |
defaultplugins
Package defaultplugins is the parent package for all "default" VPP-related plugins.
|
Package defaultplugins is the parent package for all "default" VPP-related plugins. |
defaultplugins/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. |
defaultplugins/aclplugin/vppcalls
Package vppcalls contains wrappers over VPP ACL binary APIs.
|
Package vppcalls contains wrappers over VPP ACL binary APIs. |
defaultplugins/aclplugin/vppdump
Package vppdump provides helpers to dump ACLs configured in VPP - per interface and total.
|
Package vppdump provides helpers to dump ACLs configured in VPP - per interface and total. |
defaultplugins/common/bin_api
Package binapi defines southbound API of the default plugins.
|
Package binapi defines southbound API of the default plugins. |
defaultplugins/common/bin_api/acl
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/bin_api/af_packet
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/bin_api/bfd
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/bin_api/dhcp
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/bin_api/interfaces
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/bin_api/ip
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/bin_api/ipsec
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/bin_api/l2
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/bin_api/memif
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/bin_api/nat
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/bin_api/session
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/bin_api/sr
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/bin_api/stats
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/bin_api/stn
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/bin_api/tap
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/bin_api/tapv2
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/bin_api/vpe
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/bin_api/vxlan
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/common/model
Package model defines the northbound API of the default plugins.
|
Package model defines the northbound API of the default plugins. |
defaultplugins/common/model/acl
Package acl is a generated protocol buffer package.
|
Package acl is a generated protocol buffer package. |
defaultplugins/common/model/bfd
Package bfd is a generated protocol buffer package.
|
Package bfd is a generated protocol buffer package. |
defaultplugins/common/model/interfaces
Package interfaces is a generated protocol buffer package.
|
Package interfaces is a generated protocol buffer package. |
defaultplugins/common/model/ipsec
Package ipsec is a generated protocol buffer package.
|
Package ipsec is a generated protocol buffer package. |
defaultplugins/common/model/l2
Package l2 is a generated protocol buffer package.
|
Package l2 is a generated protocol buffer package. |
defaultplugins/common/model/l3
Package l3 is a generated protocol buffer package.
|
Package l3 is a generated protocol buffer package. |
defaultplugins/common/model/l4
Package l4 is a generated protocol buffer package.
|
Package l4 is a generated protocol buffer package. |
defaultplugins/common/model/nat
Package nat is a generated protocol buffer package.
|
Package nat is a generated protocol buffer package. |
defaultplugins/common/model/rpc
Package model is the parent for packages defining various GRPC services generated from protobuf data models.
|
Package model is the parent for packages defining various GRPC services generated from protobuf data models. |
defaultplugins/common/model/srv6
Package srv6 is a generated protocol buffer package.
|
Package srv6 is a generated protocol buffer package. |
defaultplugins/common/model/stn
Package stn is a generated protocol buffer package.
|
Package stn is a generated protocol buffer package. |
defaultplugins/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. |
defaultplugins/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. |
defaultplugins/ifplugin/vppcalls
Package vppcalls contains wrappers over VPP binary APIs for all supported interface types.
|
Package vppcalls contains wrappers over VPP binary APIs for all supported interface types. |
defaultplugins/ifplugin/vppdump
Package vppdump provides helpers for dumping all interfaces configured in VPP.
|
Package vppdump provides helpers for dumping all interfaces configured in VPP. |
defaultplugins/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. |
defaultplugins/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. |
defaultplugins/l2plugin/l2idx
Package bdidx implements name-to-index mapping registry and cache for bridge-domains.
|
Package bdidx implements name-to-index mapping registry and cache for bridge-domains. |
defaultplugins/l2plugin/vppcalls
Package vppcalls contains wrappers over VPP binary APIs for bridge-domains, and L2 FIBs and XConnect pairs.
|
Package vppcalls contains wrappers over VPP binary APIs for bridge-domains, and L2 FIBs and XConnect pairs. |
defaultplugins/l2plugin/vppdump
Package vppdump provides helpers for dumping all bridge-domains, L2 FIBs and XConnect pairs configured in VPP.
|
Package vppdump provides helpers for dumping all bridge-domains, L2 FIBs and XConnect pairs configured in VPP. |
defaultplugins/l3plugin
Package l3plugin implements the L3 plugin that handles L3 FIBs.
|
Package l3plugin implements the L3 plugin that handles L3 FIBs. |
defaultplugins/l3plugin/vppcalls
Package vppcalls contains wrappers over VPP binary APIs for L3 FIBs.
|
Package vppcalls contains wrappers over VPP binary APIs for L3 FIBs. |
defaultplugins/l3plugin/vppdump
Package vppdump provides helpers for dumping all L3 FIBs configured in VPP.
|
Package vppdump provides helpers for dumping all L3 FIBs configured in VPP. |
defaultplugins/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 |
defaultplugins/srplugin/cache
Package cache contains caches for certain modeled types.
|
Package cache contains caches for certain modeled types. |
defaultplugins/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 |
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. |
linuxplugin
Package linuxplugin implements the Linux plugin that handles management of Linux VETH interfaces.
|
Package linuxplugin implements the Linux plugin that handles management of Linux VETH interfaces. |
linuxplugin/common/model
Package model defines the linuxplugin's northbound API.
|
Package model defines the linuxplugin's northbound API. |
linuxplugin/common/model/interfaces
Package interfaces is a generated protocol buffer package.
|
Package interfaces is a generated protocol buffer package. |
linuxplugin/common/model/l3
Package l3 is a generated protocol buffer package.
|
Package l3 is a generated protocol buffer package. |
linuxplugin/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. |
linuxplugin/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. |
linuxplugin/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. |
tests
|
|
go/itest/iftst
Package iftst provides tools and input data for unit testing of ifplugin.
|
Package iftst provides tools and input data for unit testing of ifplugin. |
go/itest/l2tst
Package l2tst provides tools and input data for unit testing of the l2plugin.
|
Package l2tst provides tools and input data for unit testing of the l2plugin. |
vppcallfake
Package vppcallfake contains fake implementation of interface vppcalls.SRv6Calls
|
Package vppcallfake contains fake implementation of interface vppcalls.SRv6Calls |
Click to show internal directories.
Click to hide internal directories.