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