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