VPP plugins manage basic configuration of the VPP. The management of configuration is split among multiple packages. Detailed description can be found in particular READMEs:
The default plugins can use configuration file vpp.conf
to:
- set global maximum transmission unit
- enable/disable stopwatch
- set VPP resync strategy
- to enable/disable status publishers
To run the vpp-agent with vpp.conf:
vpp-agent --vpp-plugin-config=/opt/vpp-agent/dev/vpp.conf
MTU
If there is an interface without MTU set, the value from configuration file will be used. MTU is written in config as follows:
mtu: <value>
Stopwatch
Duration of the VPP binary api call can be measured using stopwatch feature. These data are logged after every event(any resync, interfaces, bridge domains, fib entries etc.). Enable stopwatch in vpp.conf:
stopwatch: true
or stopwatch: false
Stopwatch is disabled by default (if there is no config available).
Resync Strategy
There are two strategies available for VPP resync:
- full always performs the full resync of all VPP plugins. This is the default strategy.
- optimize-cold-start evaluates the existing configuration in the VPP at first. The state of interfaces is the
decision-maker: if there is any interface configured except local0, the resync is performed normally. Otherwise
it is skipped.
IMPORTANT NOTE: Use it carefully because the state of the ETCD is not taken into consideration .
Strategy can be set in vpp.conf:
strategy: full
or strategy: optimize
To skip resync completely, start vpp-agent with --skip-vpp-resync
parameter. In such a case the resync is skipped
completly (config file resync strategy is not taken into account).
Status Publishers
Status Publishers define list of data syncs to which status is published.
status-publishers: [<datasync>, <datasync2>, ...]
Currently supported data syncs for publishing state: etcd
and redis
.