a879db388642dc5fe3d52ddcade0d124606801ac
[vpp.git] / src / vpp / conf / startup.conf
1
2 unix {
3   nodaemon
4   log /var/log/vpp/vpp.log
5   full-coredump
6   cli-listen /run/vpp/cli.sock
7   gid vpp
8
9   ## run vpp in the interactive mode
10   # interactive
11
12   ## do not use colors in terminal output
13   # nocolor
14
15   ## do not display banner
16   # nobanner
17 }
18
19 api-trace {
20 ## This stanza controls binary API tracing. Unless there is a very strong reason,
21 ## please leave this feature enabled.
22   on
23 ## Additional parameters:
24 ##
25 ## To set the number of binary API trace records in the circular buffer, configure nitems
26 ##
27 ## nitems <nnn>
28 ##
29 ## To save the api message table decode tables, configure a filename. Results in /tmp/<filename>
30 ## Very handy for understanding api message changes between versions, identifying missing
31 ## plugins, and so forth.
32 ##
33 ## save-api-table <filename>
34 }
35
36 api-segment {
37   gid vpp
38 }
39
40 socksvr {
41   default
42 }
43
44 # memory {
45         ## Set the main heap size, default is 1G
46         # main-heap-size 2G
47
48         ## Set the main heap page size. Default page size is OS default page
49         ## which is in most cases 4K. if different page size is specified VPP
50         ## will try to allocate main heap by using specified page size.
51         ## special keyword 'default-hugepage' will use system default hugepage
52         ## size
53         # main-heap-page-size 1G
54         ## Set the default huge page size.
55         # default-hugepage-size 1G
56 #}
57
58 cpu {
59         ## In the VPP there is one main thread and optionally the user can create worker(s)
60         ## The main thread and worker thread(s) can be pinned to CPU core(s) manually or automatically
61
62         ## Manual pinning of thread(s) to CPU core(s)
63
64         ## Set logical CPU core where main thread runs, if main core is not set
65         ## VPP will use core 1 if available
66         # main-core 1
67
68         ## Set logical CPU core(s) where worker threads are running
69         # corelist-workers 2-3,18-19
70
71         ## Automatic pinning of thread(s) to CPU core(s)
72
73         ## Sets number of CPU core(s) to be skipped (1 ... N-1)
74         ## Skipped CPU core(s) are not used for pinning main thread and working thread(s).
75         ## The main thread is automatically pinned to the first available CPU core and worker(s)
76         ## are pinned to next free CPU core(s) after core assigned to main thread
77         # skip-cores 4
78
79         ## Specify a number of workers to be created
80         ## Workers are pinned to N consecutive CPU cores while skipping "skip-cores" CPU core(s)
81         ## and main thread's CPU core
82         # workers 2
83
84         ## Set scheduling policy and priority of main and worker threads
85
86         ## Scheduling policy options are: other (SCHED_OTHER), batch (SCHED_BATCH)
87         ## idle (SCHED_IDLE), fifo (SCHED_FIFO), rr (SCHED_RR)
88         # scheduler-policy fifo
89
90         ## Scheduling priority is used only for "real-time policies (fifo and rr),
91         ## and has to be in the range of priorities supported for a particular policy
92         # scheduler-priority 50
93 }
94
95 # buffers {
96         ## Increase number of buffers allocated, needed only in scenarios with
97         ## large number of interfaces and worker threads. Value is per numa node.
98         ## Default is 16384 (8192 if running unpriviledged)
99         # buffers-per-numa 128000
100
101         ## Size of buffer data area
102         ## Default is 2048
103         # default data-size 2048
104
105         ## Size of the memory pages allocated for buffer data
106         ## Default will try 'default-hugepage' then 'default'
107         ## you can also pass a size in K/M/G e.g. '8M'
108         # page-size default-hugepage
109 # }
110
111 # dpdk {
112         ## Change default settings for all interfaces
113         # dev default {
114                 ## Number of receive queues, enables RSS
115                 ## Default is 1
116                 # num-rx-queues 3
117
118                 ## Number of transmit queues, Default is equal
119                 ## to number of worker threads or 1 if no workers treads
120                 # num-tx-queues 3
121
122                 ## Number of descriptors in transmit and receive rings
123                 ## increasing or reducing number can impact performance
124                 ## Default is 1024 for both rx and tx
125                 # num-rx-desc 512
126                 # num-tx-desc 512
127
128                 ## VLAN strip offload mode for interface
129                 ## Default is off
130                 # vlan-strip-offload on
131
132                 ## TCP Segment Offload
133                 ## Default is off
134                 ## To enable TSO, 'enable-tcp-udp-checksum' must be set
135                 # tso on
136
137                 ## Devargs
138                 ## device specific init args
139                 ## Default is NULL
140                 # devargs safe-mode-support=1,pipeline-mode-support=1
141
142                 ## rss-queues
143                 ## set valid rss steering queues
144                 # rss-queues 0,2,5-7
145         # }
146
147         ## Whitelist specific interface by specifying PCI address
148         # dev 0000:02:00.0
149
150         ## Blacklist specific device type by specifying PCI vendor:device
151         ## Whitelist entries take precedence
152         # blacklist 8086:10fb
153
154         ## Set interface name
155         # dev 0000:02:00.1 {
156         #       name eth0
157         # }
158
159         ## Whitelist specific interface by specifying PCI address and in
160         ## addition specify custom parameters for this interface
161         # dev 0000:02:00.1 {
162         #       num-rx-queues 2
163         # }
164
165         ## Change UIO driver used by VPP, Options are: igb_uio, vfio-pci,
166         ## uio_pci_generic or auto (default)
167         # uio-driver vfio-pci
168
169         ## Disable multi-segment buffers, improves performance but
170         ## disables Jumbo MTU support
171         # no-multi-seg
172
173         ## Change hugepages allocation per-socket, needed only if there is need for
174         ## larger number of mbufs. Default is 256M on each detected CPU socket
175         # socket-mem 2048,2048
176
177         ## Disables UDP / TCP TX checksum offload. Typically needed for use
178         ## faster vector PMDs (together with no-multi-seg)
179         # no-tx-checksum-offload
180
181         ## Enable UDP / TCP TX checksum offload
182         ## This is the reversed option of 'no-tx-checksum-offload'
183         # enable-tcp-udp-checksum
184
185         ## Enable/Disable AVX-512 vPMDs
186         # max-simd-bitwidth <256|512>
187 # }
188
189 ## node variant defaults
190 #node {
191
192 ## specify the preferred default variant
193 #       default { variant avx512 }
194
195 ## specify the preferred variant, for a given node
196 #       ip4-rewrite { variant avx2 }
197
198 #}
199
200
201 # plugins {
202         ## Adjusting the plugin path depending on where the VPP plugins are
203         #       path /ws/vpp/build-root/install-vpp-native/vpp/lib/vpp_plugins
204         ## Add additional directory to the plugin path
205         #       add-path /tmp/vpp_plugins
206
207         ## Disable all plugins by default and then selectively enable specific plugins
208         # plugin default { disable }
209         # plugin dpdk_plugin.so { enable }
210         # plugin acl_plugin.so { enable }
211
212         ## Enable all plugins by default and then selectively disable specific plugins
213         # plugin dpdk_plugin.so { disable }
214         # plugin acl_plugin.so { disable }
215 # }
216
217 ## Statistics Segment
218 # statseg {
219     # socket-name <filename>, name of the stats segment socket
220     #     defaults to /run/vpp/stats.sock
221     # size <nnn>[KMG], size of the stats segment, defaults to 32mb
222     # page-size <nnn>, page size, ie. 2m, defaults to 4k
223     # per-node-counters on | off, defaults to none
224     # update-interval <f64-seconds>, sets the segment scrape / update interval
225 # }
226
227 ## L2 FIB
228 # l2fib {
229     ## l2fib hash table size.
230     #  table-size 512M
231
232     ## l2fib hash table number of buckets. Must be power of 2.
233     #  num-buckets 524288
234 # }
235
236 ## ipsec
237 # {
238    # ip4 {
239    ## ipsec for ipv4 tunnel lookup hash number of buckets.
240    #  num-buckets 524288
241    # }
242    # ip6 {
243    ## ipsec for ipv6 tunnel lookup hash number of buckets.
244    #  num-buckets 524288
245    # }
246 # }
247
248 # logging {
249    ## set default logging level for logging buffer
250    ## logging levels: emerg, alert,crit, error, warn, notice, info, debug, disabled
251    # default-log-level debug
252    ## set default logging level for syslog or stderr output
253    # default-syslog-log-level info
254    ## Set per-class configuration
255    # class dpdk/cryptodev { rate-limit 100 level debug syslog-level error }
256 # }