# Generated by /usr/libexec/vyos/conf_mode/vpp.py unix { nodaemon log /var/log/vpp.log full-coredump cli-listen /run/vpp/cli.sock gid vpp # exec /etc/vpp/bootstrap.vpp {% if unix is vyos_defined %} {% if unix.poll_sleep_usec is vyos_defined %} poll-sleep-usec {{ unix.poll_sleep_usec }} {% endif %} {% endif %} } {% if cpu is vyos_defined %} cpu { {% if cpu.main_core is vyos_defined %} main-core {{ cpu.main_core }} {% endif %} {% if cpu.corelist_workers is vyos_defined %} corelist-workers {{ cpu.corelist_workers | join(',') }} {% endif %} {% if cpu.skip_cores is vyos_defined %} skip-cores {{ cpu.skip_cores }} {% endif %} {% if cpu.workers is vyos_defined %} workers {{ cpu.workers }} {% endif %} } {% endif %} {# ip heap-size does not work now (23.06-rc2~1-g3a4e62ad4) #} {# vlib_call_all_config_functions: unknown input `ip heap-size 32M ' #} {% if ip is vyos_defined %} #ip { #{% if ip.heap_size is vyos_defined %} # heap-size {{ ip.heap_size }}M #{% endif %} #} {% endif %} {% if ip6 is vyos_defined %} ip6 { {% if ip6.hash_buckets is vyos_defined %} hash-buckets {{ ip6.hash_buckets }} {% endif %} {% if ip6.heap_size is vyos_defined %} heap-size {{ ip6.heap_size }}M {% endif %} } {% endif %} {% if l2learn is vyos_defined %} l2learn { {% if l2learn.limit is vyos_defined %} limit {{ l2learn.limit }} {% endif %} } {% endif %} {% if logging is vyos_defined %} logging { {% if logging.default_log_level is vyos_defined %} default-log-level {{ logging.default_log_level }} {% endif %} } {% endif %} {% if physmem is vyos_defined %} physmem { {% if physmem.max_size is vyos_defined %} max-size {{ physmem.max_size.upper() }} {% endif %} } {% endif %} plugins { path /usr/lib/x86_64-linux-gnu/vpp_plugins/ plugin default { disable } plugin dpdk_plugin.so { enable } plugin linux_cp_plugin.so { enable } plugin linux_nl_plugin.so { enable } } linux-cp { lcp-sync lcp-auto-subint } dpdk { # Whitelist the fake PCI address 0000:00:00.0 # This prevents all devices from being added to VPP-DPDK by default dev 0000:00:00.0 {% for iface, iface_config in interface.items() %} {% if iface_config.pci is vyos_defined %} dev {{ iface_config.pci }} { name {{ iface }} {% if iface_config.num_rx_desc is vyos_defined %} num-rx-desc {{ iface_config.num_rx_desc }} {% endif %} {% if iface_config.num_tx_desc is vyos_defined %} num-tx-desc {{ iface_config.num_tx_desc }} {% endif %} {% if iface_config.num_rx_queues is vyos_defined %} num-rx-queues {{ iface_config.num_rx_queues }} {% endif %} {% if iface_config.num_tx_queues is vyos_defined %} num-tx-queues {{ iface_config.num_tx_queues }} {% endif %} } {% endif %} {% endfor %} uio-bind-force }