summaryrefslogtreecommitdiff
path: root/data/templates/vpp/startup.conf.j2
blob: f33539fbae1170c9080f8e87ae9a2d9d8cade325 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# 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
}