7ed279840fa32ed22710f43fd1c8fba5df84131d
[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
10 api-trace {
11 ## This stanza controls binary API tracing. Unless there is a very strong reason,
12 ## please leave this feature enabled.
13   on
14 ## Additional parameters:
15 ##
16 ## To set the number of binary API trace records in the circular buffer, configure nitems
17 ##
18 ## nitems <nnn>
19 ##
20 ## To save the api message table decode tables, configure a filename. Results in /tmp/<filename>
21 ## Very handy for understanding api message changes between versions, identifying missing
22 ## plugins, and so forth.
23 ##
24 ## save-api-table <filename>
25 }
26
27 api-segment {
28   gid vpp
29 }
30
31 cpu {
32         ## In the VPP there is one main thread and optionally the user can create worker(s)
33         ## The main thread and worker thread(s) can be pinned to CPU core(s) manually or automatically
34
35         ## Manual pinning of thread(s) to CPU core(s)
36
37         ## Set logical CPU core where main thread runs
38         # main-core 1
39
40         ## Set logical CPU core(s) where worker threads are running
41         # corelist-workers 2-3,18-19
42
43         ## Automatic pinning of thread(s) to CPU core(s)
44
45         ## Sets number of CPU core(s) to be skipped (1 ... N-1)
46         ## Skipped CPU core(s) are not used for pinning main thread and working thread(s).
47         ## The main thread is automatically pinned to the first available CPU core and worker(s)
48         ## are pinned to next free CPU core(s) after core assigned to main thread
49         # skip-cores 4
50
51         ## Specify a number of workers to be created
52         ## Workers are pinned to N consecutive CPU cores while skipping "skip-cores" CPU core(s)
53         ## and main thread's CPU core
54         # workers 2
55
56         ## Set scheduling policy and priority of main and worker threads
57
58         ## Scheduling policy options are: other (SCHED_OTHER), batch (SCHED_BATCH)
59         ## idle (SCHED_IDLE), fifo (SCHED_FIFO), rr (SCHED_RR)
60         # scheduler-policy fifo
61
62         ## Scheduling priority is used only for "real-time policies (fifo and rr),
63         ## and has to be in the range of priorities supported for a particular policy
64         # scheduler-priority 50
65 }
66
67 # dpdk {
68         ## Change default settings for all intefaces
69         # dev default {
70                 ## Number of receive queues, enables RSS
71                 ## Default is 1
72                 # num-rx-queues 3
73
74                 ## Number of transmit queues, Default is equal
75                 ## to number of worker threads or 1 if no workers treads
76                 # num-tx-queues 3
77
78                 ## Number of descriptors in transmit and receive rings
79                 ## increasing or reducing number can impact performance
80                 ## Default is 1024 for both rx and tx
81                 # num-rx-desc 512
82                 # num-tx-desc 512
83
84                 ## VLAN strip offload mode for interface
85                 ## Default is off
86                 # vlan-strip-offload on
87         # }
88
89         ## Whitelist specific interface by specifying PCI address
90         # dev 0000:02:00.0
91
92         ## Whitelist specific interface by specifying PCI address and in
93         ## addition specify custom parameters for this interface
94         # dev 0000:02:00.1 {
95         #       num-rx-queues 2
96         # }
97
98         ## Specify bonded interface and its slaves via PCI addresses
99         ##
100         ## Bonded interface in XOR load balance mode (mode 2) with L3 and L4 headers
101         # vdev eth_bond0,mode=2,slave=0000:02:00.0,slave=0000:03:00.0,xmit_policy=l34
102         # vdev eth_bond1,mode=2,slave=0000:02:00.1,slave=0000:03:00.1,xmit_policy=l34
103         ##
104         ## Bonded interface in Active-Back up mode (mode 1)
105         # vdev eth_bond0,mode=1,slave=0000:02:00.0,slave=0000:03:00.0
106         # vdev eth_bond1,mode=1,slave=0000:02:00.1,slave=0000:03:00.1
107
108         ## Change UIO driver used by VPP, Options are: igb_uio, vfio-pci,
109         ## uio_pci_generic or auto (default)
110         # uio-driver vfio-pci
111
112         ## Disable mutli-segment buffers, improves performance but
113         ## disables Jumbo MTU support
114         # no-multi-seg
115
116         ## Increase number of buffers allocated, needed only in scenarios with
117         ## large number of interfaces and worker threads. Value is per CPU socket.
118         ## Default is 16384
119         # num-mbufs 128000
120
121         ## Change hugepages allocation per-socket, needed only if there is need for
122         ## larger number of mbufs. Default is 256M on each detected CPU socket
123         # socket-mem 2048,2048
124
125         ## Disables UDP / TCP TX checksum offload. Typically needed for use
126         ## faster vector PMDs (together with no-multi-seg)
127         # no-tx-checksum-offload
128 # }
129
130
131 # plugins {
132         ## Adjusting the plugin path depending on where the VPP plugins are
133         #       path /home/bms/vpp/build-root/install-vpp-native/vpp/lib64/vpp_plugins
134
135         ## Disable all plugins by default and then selectively enable specific plugins
136         # plugin default { disable }
137         # plugin dpdk_plugin.so { enable }
138         # plugin acl_plugin.so { enable }
139
140         ## Enable all plugins by default and then selectively disable specific plugins
141         # plugin dpdk_plugin.so { disable }
142         # plugin acl_plugin.so { disable }
143 # }
144
145         ## Alternate syntax to choose plugin path
146         # plugin_path /home/bms/vpp/build-root/install-vpp-native/vpp/lib64/vpp_plugins