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 client for remote management of VPP configuration.
|
Package remoteclient implements 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+default plugins.
|
Package linux contains clients for local and remote management of both VPP and Linux configuration via Linux+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 for packages that are used to build various executables from vpp-agent sources.
|
Package cmd is the parent for 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 the command line interface (CLI) for the agentctl tool.
|
Package cmd implements the command line interface (CLI) for the 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 of VPP Agent plugins.
|
package vpp-agent-ctl implements the vpp-agent-ctl test tool for testing of VPP Agent plugins. |
vpp-agent-grpc
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. |
examples
|
|
govpp_call
Example govpp_call shows how to use the govpp library to communicate with VPP over the binary API.
|
Example govpp_call shows how to use the govpp library to communicate with VPP over the binary API. |
idx_bd_cache
Example idx_bd_cache demonstrates the use of the "bridge-domain name-to-index cache" to watch for bridge-domain config changes across agents.
|
Example idx_bd_cache demonstrates the use of the "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 the "interface name-to-index cache" to watch for VPP interface config changes across agents.
|
Example idx_iface_cache demonstrates the use of the "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 for Linux VETH interface config changes across agents.
|
Example idx_veth_cache demonstrates the use of the "VETH name-to-index cache" to watch for Linux VETH interface config changes across agents. |
localclient_linux
Example localclient_linux is a demonstration of local Linux and VPP config management via clientv1.
|
Example localclient_linux is a demonstration of local Linux and VPP config management via clientv1. |
localclient_vpp
Example localclient_vpp is a demonstration of local VPP config management via clientv1.
|
Example localclient_vpp is a demonstration of local VPP config management via clientv1. |
remoteclient_grpc_vpp
Example remoteclient_vpp is a demonstration of remote VPP config management via clientv1 (using GPRC transport).
|
Example remoteclient_vpp is a demonstration of remote VPP config management via clientv1 (using GPRC transport). |
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. |
rpc
Package rpc defines flavor used for VPP agents managed using GPRC service.
|
Package rpc defines flavor used for VPP agents managed using GPRC service. |
rpc/model
Package model is the parent for packages that define various GRPC services generated from protobuf data models.
|
Package model is the parent for packages that define various GRPC services generated from protobuf data models. |
rpc/model/vppsvc
Package vppsvc is a generated protocol buffer package.
|
Package vppsvc is a generated protocol buffer package. |
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 top of which all typesafe caches are built.
|
Package cacheutil is a base implementation of name-to-index cache on 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/bin_api
Package binapi defines the aclplugin's southbound API.
|
Package binapi defines the aclplugin's southbound API. |
defaultplugins/aclplugin/bin_api/acl
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/aclplugin/model
Package model defines the acplugin's northbound API.
|
Package model defines the acplugin's northbound API. |
defaultplugins/aclplugin/model/acl
Package acl is a generated protocol buffer package.
|
Package acl is a generated protocol buffer package. |
defaultplugins/aclplugin/vppcalls
Package vppcalls contains wrappers over VPP ACL binary APIs.
|
Package vppcalls contains wrappers over VPP ACL binary APIs. |
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/bin_api
Package binapi is the parent for packages that define various ifplugin southbound APIs.
|
Package binapi is the parent for packages that define various ifplugin southbound APIs. |
defaultplugins/ifplugin/bin_api/af_packet
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/ifplugin/bin_api/bfd
Package bfd represents the VPP binary API of the 'bfd' VPP module.
|
Package bfd represents the VPP binary API of the 'bfd' VPP module. |
defaultplugins/ifplugin/bin_api/interfaces
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/ifplugin/bin_api/ip
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/ifplugin/bin_api/memif
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/ifplugin/bin_api/stats
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/ifplugin/bin_api/tap
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/ifplugin/bin_api/vpe
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/ifplugin/bin_api/vxlan
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
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/model
Package model is the parent for packages that define various if_plugin northbound APIs generated from protobuf data models.
|
Package model is the parent for packages that define various if_plugin northbound APIs generated from protobuf data models. |
defaultplugins/ifplugin/model/bfd
Package bfd is a generated protocol buffer package.
|
Package bfd is a generated protocol buffer package. |
defaultplugins/ifplugin/model/interfaces
Package interfaces is a generated protocol buffer package.
|
Package interfaces is a generated protocol buffer package. |
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 to dump all interfaces configured in VPP.
|
Package vppdump provides helpers to dump all interfaces configured in 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/bdidx
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/bin_api
Package binapi is the parent for packages that define various l2plugin southbound APIs.
|
Package binapi is the parent for packages that define various l2plugin southbound APIs. |
defaultplugins/l2plugin/bin_api/l2
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/l2plugin/bin_api/vpe
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/l2plugin/model
Package model defines the l2lugin's northbound API.
|
Package model defines the l2lugin's northbound API. |
defaultplugins/l2plugin/model/l2
Package l2 is a generated protocol buffer package.
|
Package l2 is a generated protocol buffer package. |
defaultplugins/l2plugin/vppcalls
Package vppcalls contains wrappers over VPP binary APIs for bridge-domains, L2 FIBs and XConnect pairs.
|
Package vppcalls contains wrappers over VPP binary APIs for bridge-domains, L2 FIBs and XConnect pairs. |
defaultplugins/l2plugin/vppdump
Package vppdump provides helpers to dump all bridge-domains, L2 FIBs and XConnect pairs configured in VPP.
|
Package vppdump provides helpers to dump 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/bin_api
Package binapi defines the l3plugin's southbound API.
|
Package binapi defines the l3plugin's southbound API. |
defaultplugins/l3plugin/bin_api/ip
Code generated by govpp binapi-generator DO NOT EDIT.
|
Code generated by govpp binapi-generator DO NOT EDIT. |
defaultplugins/l3plugin/model
Package model defines the l3plugin's northbound API.
|
Package model defines the l3plugin's northbound API. |
defaultplugins/l3plugin/model/l3
Package l3 is a generated protocol buffer package.
|
Package l3 is a generated protocol buffer package. |
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 to dump all L3 FIBs configured in VPP.
|
Package vppdump provides helpers to dump all L3 FIBs configured in VPP. |
govppmux
Package govppmux implements the GoVPPMux plugin that allows multiple plugins to share single connection to VPP.
|
Package govppmux implements the GoVPPMux plugin that allows multiple plugins to share 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/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 to Linux interfaces in general.
|
Package linuxcalls contains wrappers over Netlink APIs related to Linux VETH interfaces or to Linux interfaces in general. |
linuxplugin/ifplugin/model
Package model defines the linuxplugin's northbound API.
|
Package model defines the linuxplugin's northbound API. |
linuxplugin/ifplugin/model/interfaces
Package interfaces is a generated protocol buffer package.
|
Package interfaces is a generated protocol buffer package. |
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. |
linuxplugin/l3plugin/model/l3
Package l3 is a generated protocol buffer package.
|
Package l3 is a generated protocol buffer package. |
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. |
Click to show internal directories.
Click to hide internal directories.