interface: support configuring RSS steering queues
[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, if main core is not set
42         ## VPP will use core 1 if available
43         # main-core 1
44
45         ## Set logical CPU core(s) where worker threads are running
46         # corelist-workers 2-3,18-19
47
48         ## Automatic pinning of thread(s) to CPU core(s)
49
50         ## Sets number of CPU core(s) to be skipped (1 ... N-1)
51         ## Skipped CPU core(s) are not used for pinning main thread and working thread(s).
52         ## The main thread is automatically pinned to the first available CPU core and worker(s)
53         ## are pinned to next free CPU core(s) after core assigned to main thread
54         # skip-cores 4
55
56         ## Specify a number of workers to be created
57         ## Workers are pinned to N consecutive CPU cores while skipping "skip-cores" CPU core(s)
58         ## and main thread's CPU core
59         # workers 2
60
61         ## Set scheduling policy and priority of main and worker threads
62
63         ## Scheduling policy options are: other (SCHED_OTHER), batch (SCHED_BATCH)
64         ## idle (SCHED_IDLE), fifo (SCHED_FIFO), rr (SCHED_RR)
65         # scheduler-policy fifo
66
67         ## Scheduling priority is used only for "real-time policies (fifo and rr),
68         ## and has to be in the range of priorities supported for a particular policy
69         # scheduler-priority 50
70 }
71
72 # buffers {
73         ## Increase number of buffers allocated, needed only in scenarios with
74         ## large number of interfaces and worker threads. Value is per numa node.
75         ## Default is 16384 (8192 if running unpriviledged)
76         # buffers-per-numa 128000
77
78         ## Size of buffer data area
79         ## Default is 2048
80         # default data-size 2048
81 # }
82
83 # dpdk {
84         ## Change default settings for all interfaces
85         # dev default {
86                 ## Number of receive queues, enables RSS
87                 ## Default is 1
88                 # num-rx-queues 3
89
90                 ## Number of transmit queues, Default is equal
91                 ## to number of worker threads or 1 if no workers treads
92                 # num-tx-queues 3
93
94                 ## Number of descriptors in transmit and receive rings
95                 ## increasing or reducing number can impact performance
96                 ## Default is 1024 for both rx and tx
97                 # num-rx-desc 512
98                 # num-tx-desc 512
99
100                 ## VLAN strip offload mode for interface
101                 ## Default is off
102                 # vlan-strip-offload on
103
104                 ## TCP Segment Offload
105                 ## Default is off
106                 ## To enable TSO, 'enable-tcp-udp-checksum' must be set
107                 # tso on
108
109                 ## Devargs
110                 ## device specific init args
111                 ## Default is NULL
112                 # devargs safe-mode-support=1,pipeline-mode-support=1
113
114                 ## rss-queues
115                 ## set valid rss steering queues
116                 # rss-queues 0,2,5-7
117         # }
118
119         ## Whitelist specific interface by specifying PCI address
120         # dev 0000:02:00.0
121
122         ## Blacklist specific device type by specifying PCI vendor:device
123         ## Whitelist entries take precedence
124         # blacklist 8086:10fb
125
126         ## Set interface name
127         # dev 0000:02:00.1 {
128         #       name eth0
129         # }
130
131         ## Whitelist specific interface by specifying PCI address and in
132         ## addition specify custom parameters for this interface
133         # dev 0000:02:00.1 {
134         #       num-rx-queues 2
135         # }
136
137         ## Change UIO driver used by VPP, Options are: igb_uio, vfio-pci,
138         ## uio_pci_generic or auto (default)
139         # uio-driver vfio-pci
140
141         ## Disable multi-segment buffers, improves performance but
142         ## disables Jumbo MTU support
143         # no-multi-seg
144
145         ## Change hugepages allocation per-socket, needed only if there is need for
146         ## larger number of mbufs. Default is 256M on each detected CPU socket
147         # socket-mem 2048,2048
148
149         ## Disables UDP / TCP TX checksum offload. Typically needed for use
150         ## faster vector PMDs (together with no-multi-seg)
151         # no-tx-checksum-offload
152
153         ## Enable UDP / TCP TX checksum offload
154         ## This is the reversed option of 'no-tx-checksum-offload'
155         # enable-tcp-udp-checksum
156 # }
157
158 ## node variant defaults
159 #node {
160
161 ## specify the preferred default variant
162 #       default { variant avx512 }
163
164 ## specify the preferred variant, for a given node
165 #       ip4-rewrite { variant avx2 }
166
167 #}
168
169
170 # plugins {
171         ## Adjusting the plugin path depending on where the VPP plugins are
172         #       path /ws/vpp/build-root/install-vpp-native/vpp/lib/vpp_plugins
173
174         ## Disable all plugins by default and then selectively enable specific plugins
175         # plugin default { disable }
176         # plugin dpdk_plugin.so { enable }
177         # plugin acl_plugin.so { enable }
178
179         ## Enable all plugins by default and then selectively disable specific plugins
180         # plugin dpdk_plugin.so { disable }
181         # plugin acl_plugin.so { disable }
182 # }
183
184 ## Statistics Segment
185 # statseg {
186     # socket-name <filename>, name of the stats segment socket
187     #     defaults to /run/vpp/stats.sock
188     # size <nnn>[KMG], size of the stats segment, defaults to 32mb
189     # per-node-counters on | off, defaults to none
190     # update-interval <f64-seconds>, sets the segment scrape / update interval
191 # }