unix { nodaemon log /tmp/vpp.log full-coredump cli-listen /run/vpp/cli.sock gid vpp } api-trace { on } api-segment { gid vpp } socksvr { default } memory { main-heap-size 4G main-heap-page-size 1G } cpu { ## In the VPP there is one main thread and optionally the user can create worker(s) ## The main thread and worker thread(s) can be pinned to CPU core(s) manually or automatically ## Manual pinning of thread(s) to CPU core(s) ## Set logical CPU core where main thread runs, if main core is not set ## VPP will use core 1 if available main-core 4 ## Set logical CPU core(s) where worker threads are running corelist-workers 5 ## Automatic pinning of thread(s) to CPU core(s) ## Sets number of CPU core(s) to be skipped (1 ... N-1) ## Skipped CPU core(s) are not used for pinning main thread and working thread(s). ## The main thread is automatically pinned to the first available CPU core and worker(s) ## are pinned to next free CPU core(s) after core assigned to main thread # skip-cores 4 ## Specify a number of workers to be created ## Workers are pinned to N consecutive CPU cores while skipping "skip-cores" CPU core(s) ## and main thread's CPU core # workers 2 ## Set scheduling policy and priority of main and worker threads ## Scheduling policy options are: other (SCHED_OTHER), batch (SCHED_BATCH) ## idle (SCHED_IDLE), fifo (SCHED_FIFO), rr (SCHED_RR) # scheduler-policy fifo ## Scheduling priority is used only for "real-time policies (fifo and rr), ## and has to be in the range of priorities supported for a particular policy # scheduler-priority 50 } # buffers { ## Increase number of buffers allocated, needed only in scenarios with ## large number of interfaces and worker threads. Value is per numa node. ## Default is 16384 (8192 if running unpriviledged) # buffers-per-numa 128000 ## Size of buffer data area ## Default is 2048 # default data-size 2048 ## Size of the memory pages allocated for buffer data ## Default will try 'default-hugepage' then 'default' ## you can also pass a size in K/M/G e.g. '8M' # page-size default-hugepage # } # dsa { ## DSA work queue address # dev wq0.0 # dev wq0.1 # } dpdk { dev 0000:53:19.1 { name SECGW-CORE_RAN num-rx-queues 1 num-rx-desc 1024 num-tx-desc 1024 } dev 0000:53:11.1 { name SECGW-ACCESS_RAN num-rx-queues 1 num-rx-desc 1024 num-tx-desc 1024 } } ## node variant defaults #node { ## specify the preferred default variant # default { variant avx512 } ## specify the preferred variant, for a given node # ip4-rewrite { variant avx2 } #} plugins { plugin default { disable } plugin dpdk_plugin.so { enable } plugin ping_plugin.so { enable } plugin ikev2_plugin.so { enable } plugin crypto_native_plugin.so { enable } } ## Statistics Segment # statseg { # socket-name , name of the stats segment socket # defaults to /run/vpp/stats.sock # size [KMG], size of the stats segment, defaults to 32mb # page-size , page size, ie. 2m, defaults to 4k # per-node-counters on | off, defaults to none # update-interval , sets the segment scrape / update interval # } ## L2 FIB # l2fib { ## l2fib hash table size. # table-size 512M ## l2fib hash table number of buckets. Must be power of 2. # num-buckets 524288 # } ## ipsec # { # ip4 { ## ipsec for ipv4 tunnel lookup hash number of buckets. # num-buckets 524288 # } # ip6 { ## ipsec for ipv6 tunnel lookup hash number of buckets. # num-buckets 524288 # } # } # logging { ## set default logging level for logging buffer ## logging levels: emerg, alert,crit, error, warn, notice, info, debug, disabled # default-log-level debug ## set default logging level for syslog or stderr output # default-syslog-log-level info ## Set per-class configuration # class dpdk/cryptodev { rate-limit 100 level debug syslog-level error } # }