Plugin Overview - Ligato Docs
Plugin Overview#
This section provides a brief description of the Ligato plugins. For more information on each plugin, click details.
KV Scheduler Plugin#
Details: KV Scheduler Plugin
Core plugin that works with SB VPP and Linux agents, and NB KV data stores and rpc clients. It manages configuration item dependencies, and computes the correct VPP configuration item programming sequence.
VPP plugins#
VPP plugins allow you to manage and control the VPP data plane.
Plugins:
- GoVPPMux
- Interface
- L2
- L3
- Access Control List (ACL)
- ACL-based forwarding (ABF)
- IPFIX
- IPSec
- NAT
- Punt
- Segment Routing
- STN
- Telemetry
- Wireguard
GoVPPMux#
Details: GoVPPMux plugin
Use this plugin for communication between the VPP agent and the VPP data plane using GoVPP. This plugin serves as the VPP agent’s G0VPP wrapper, and provides access to VPP through an independent communication channel using a shared memory segment prefix, or socket client. It supports custom prefixes to connect to the correct VPP instance in a multi-VPP environment.
Interface#
Details: Interface plugin
Use this plugin to configure VPP interfaces. You can configure base fields including IP and MAC address, and more advanced features such as unnumbered interfaces or RX-mode.
L2#
Details: L2 plugin
Use this plugin to program bridge domains, L2 forwarding tables (FIBs), and VPP cross connects. Dependent on the interface plugin.
L3#
Details: L3 plugin
Use this plugin to program L3 ARP entries, proxy ARP, VPP routes, IP scan neighbor, VRFs, tunnel endpoint base entries, L3 cross connects, and VRRP. Dependent on the interface plugin.
ACL#
Details: ACL plugin
Use this plugin to program VPP access control lists (ACL). If incoming traffic meets the ACL rules, VPP will perform the configured action on the packets.
ACL-based forwarding (ABF)#
Details: ABF plugin
Use this plugin to program ACL-based forwarding rules. Performs policy-based routing (PBR) where ACL matches determine packet forwarding.
IPFIX#
Details: IPFIX plugin
Use this plugin to implement VPP IPFIX monitoring and flow export.
IPSec#
Details: IPSec plugin
Use this plugin to program VPP security policy databases (SPD), and security associations (SA). It handles relationships between the SPD and SA, or between SPD and an assigned interface.
Note
The IPsec plugin does not configure deprecated IPSec tunnel interfaces. For more details, see VPP interface plugin.
NAT#
Details: NAT plugin
Use this plugin to program VPP NAT. It provides a control plane function for the VPP NAT44 data plane. This plugin also supports DNAT44 with load balancing for optimized resource efficiency in K8s network clusters. Dependent on the interface plugin.
Punt#
Details: Punt plugin
Use this plugin to access the VPP punt feature. Incoming VPP traffic matching a set of pre-defined rules is punted, or redirected, to the host stack or socket.
Segment routing#
Details: SR plugin
Use this plugin to program VPP segment routing IPv6 (SRv6).
STN#
Details: STN plugin
Use this plugin to implement the VPP STN (Steal the NIC) control plane.
Telemetry#
Details: telemetry plugin
Use this plugin to collect VPP telemetry stats for export to external monitoring and management tools.
Wireguard#
Details: Wireguard plugin
Use this plugin to program VPP wireguard VPN tunnels.
Linux plugins#
This section describes the VPP agent’s Linux plugins. You can use these plugins independently, or together with VPP plugins.
Plugins:
- Linux interface
- Linux L3
- IP Tables
- Namespace
- Punt
Linux Interface#
Details: Linux Interface plugin
Use this plugin to program Linux interfaces. Interface types include VETH, TAP, loopback, existing, VRF, and dummy.
Linux L3#
Details: Linux L3 plugin
Use this plugin to program Linux routes and ARP entries. Dependent on the Linux interface plugin.
IP Tables#
Details: Linux iptables plugin
Use this plugin to program Linux IPtables.
Namespace#
Details: Namespace plugin
Use this plugin to provide a helper function tied in with the Linux interface and l3 plugins. It manages Linux namespaces, or as a microservice in container-based environment.
Punt#
Details: Punt plugin
Use this plugin to implement the Linux punt-to-host function.
Connection plugins#
VPP agent connection plugins enable external data read/write without the use of a data store.
Plugins:
- REST
- gRPC
REST#
Details: REST plugin
Use this plugin to implement REST API support for a plugin or agent.
gRPC#
Details: GRPC plugin
Use this plugin to enable VPP agent gRPC communications.
Database plugins#
Ligato provides plugins for external data store connectivity and integration.
Plugins:
- Datasync
- Data Broker
- etcd
- Redis
- Consul
- Bolt
- Cassandra
- FileDB
Datasync#
Details: Datasync plugin
Use this plugin to define data synchronization abstractions between your app plugins and different backend data sources such as data stores, message buses, or rpc-connected clients.
Data broker#
Details: Data Broker plugin
Use this plugin as a common API abstraction for client access to KV data stores and sql databases.
etcd#
Details: etcd plugin
Use this plugin for access to an etcd data store.
Redis#
Details: Redis plugin
Use this plugin for access to a Redis KV data store.
Consul#
Details: Consul plugin
Use this plugin for access to a consul KV data store.
Bolt#
Details: Bolt plugin
Use this plugin for access to a Bolt data store.
Cassandra#
Details: Cassandra
Use this plugin for access to a Cassandra MYSQL data store.
FileDB#
Details: FileDB plugin
Use this plugin to access the OS file system serving as an KV data store.
Infra Plugins#
Ligato provides infra plugins for logging, messaging, process management, status checking and service label.
Plugins:
- Configurator
- Orchestrator
- Status Check
- Index Map
- Log Manager
- Messaging/Kafka
- Process Manager
- Service Label
Configurator#
Details: Configurator plugin
Use this plugin to perform operations on the VPP agent configuration.
Orchestrator#
Details: Orchestrator plugin
Use this plugin to synchronize retrieved data from multiple sources, resolve conflicts, and convey configuration data to the KV Scheduler. The orchestrator reads/watches for config updates from NB clients, and communicates config status, running state, metadata, and metrics for NB client consumption.
Status Check#
Details: Status Check plugin
Use this plugin to monitor agent status by collecting and aggregating partial status of VPP agent plugins.
Index Map plugin#
Details: Index Map plugin
Use this plugin to employ a mapping structure that supports configuration item change notifications and retrieval by fields in the value structure.
Log Manager#
Details: Log Manager plugin
Use this plugin to manage global and per-logger log levels.
Messaging/Kafka#
Details: Messaging/Kafka plugin
Use this plugin so agents can publish synchronous/asynchronous messages, and consume selected topics.
Process Manager#
Details: Process Manager plugin
Use this plugin to create a process instance that manages and monitors plugins.
Service Label#
Details: Service Label plugin
Use this plugin with other plugins to obtain the microservice label string that identifies a particular VPP instance.
Từ khóa » Vpp Segment Routing
-
The Fast Data Project () - Segment Routing
-
VPP: SR-MPLS: Segment Routing For MPLS - Docs Tree
-
VPP: SRv6: Segment Routing For IPv6
-
Interconnecting VPCs With Segment Routing & Performance ...
-
VPP/Segment Routing For IPv6 - Birost
-
Org.opendaylight.n.v1.urn.rams.xml.ns ... - Tabnine
-
VPP Scope And Processing Tree (the Nodes Used In ... - ResearchGate
-
Multi-Cloud Chaining With Segment Routing - IEEE Xplore
-
Chaining Your Virtual Private Clouds With Segment Routing
-
SRv6 (Segment Routing On IPv6) Implementation Of K8s Services
-
[PDF] Linux SRv6 实战(第三篇):多云环境下Overlay(VPP)和Underlay整合 ...
-
[PDF] Multi-Cloud Chaining With Segment Routing
-
[PDF] A Performance Evaluation Framework For IPv6 Segment Routing
-
Rethinking Kubernetes Networking With SRv6 And Contiv-VPP