1 # SPDX-License-Identifier: BSD-3-Clause
2 # Copyright(c) 2010-2017 Intel Corporation
5 # String that appears before the version number
7 CONFIG_RTE_VER_PREFIX="DPDK"
10 # Version information completed when this file is processed for a build
12 CONFIG_RTE_VER_YEAR=__YEAR
13 CONFIG_RTE_VER_MONTH=__MONTH
14 CONFIG_RTE_VER_MINOR=__MINOR
15 CONFIG_RTE_VER_SUFFIX=__SUFFIX
16 CONFIG_RTE_VER_RELEASE=__RELEASE
19 # define executive environment
20 # RTE_EXEC_ENV values are the directories in mk/exec-env/
25 # define the architecture we compile for.
26 # RTE_ARCH values are the directories in mk/arch/
31 # machine can define specific variables or action for a specific board
32 # RTE_MACHINE values are the directories in mk/machine/
37 # The compiler we use.
38 # RTE_TOOLCHAIN values are the directories in mk/toolchain/
43 # Use intrinsics or assembly code for key routines
45 CONFIG_RTE_FORCE_INTRINSICS=n
48 # Machine forces strict alignment constraints.
50 CONFIG_RTE_ARCH_STRICT_ALIGN=n
53 # Enable link time optimization
55 CONFIG_RTE_ENABLE_LTO=n
58 # Compile to share library
60 CONFIG_RTE_BUILD_SHARED_LIB=n
63 # Use newest code breaking previous ABI
68 # Machine's cache line size
70 CONFIG_RTE_CACHE_LINE_SIZE=64
75 CONFIG_RTE_USE_C11_MEM_MODEL=n
78 # Compile Environment Abstraction Layer
80 CONFIG_RTE_LIBRTE_EAL=y
81 CONFIG_RTE_MAX_LCORE=128
82 CONFIG_RTE_MAX_NUMA_NODES=8
83 CONFIG_RTE_MAX_HEAPS=32
84 CONFIG_RTE_MAX_MEMSEG_LISTS=64
85 # each memseg list will be limited to either RTE_MAX_MEMSEG_PER_LIST pages
86 # or RTE_MAX_MEM_MB_PER_LIST megabytes worth of memory, whichever is smaller
87 CONFIG_RTE_MAX_MEMSEG_PER_LIST=8192
88 CONFIG_RTE_MAX_MEM_MB_PER_LIST=32768
89 # a "type" is a combination of page size and NUMA node. total number of memseg
90 # lists per type will be limited to either RTE_MAX_MEMSEG_PER_TYPE pages (split
91 # over multiple lists of RTE_MAX_MEMSEG_PER_LIST pages), or
92 # RTE_MAX_MEM_MB_PER_TYPE megabytes of memory (split over multiple lists of
93 # RTE_MAX_MEM_MB_PER_LIST), whichever is smaller
94 CONFIG_RTE_MAX_MEMSEG_PER_TYPE=32768
95 CONFIG_RTE_MAX_MEM_MB_PER_TYPE=131072
96 # global maximum usable amount of VA, in megabytes
97 CONFIG_RTE_MAX_MEM_MB=524288
98 CONFIG_RTE_MAX_MEMZONE=2560
99 CONFIG_RTE_MAX_TAILQ=32
100 CONFIG_RTE_ENABLE_ASSERT=n
101 CONFIG_RTE_LOG_DP_LEVEL=RTE_LOG_INFO
102 CONFIG_RTE_ENABLE_TRACE_FP=n
103 CONFIG_RTE_LOG_HISTORY=256
104 CONFIG_RTE_BACKTRACE=y
105 CONFIG_RTE_LIBEAL_USE_HPET=n
106 CONFIG_RTE_EAL_ALWAYS_PANIC_ON_ERROR=n
107 CONFIG_RTE_EAL_IGB_UIO=n
108 CONFIG_RTE_EAL_VFIO=n
109 CONFIG_RTE_MAX_VFIO_GROUPS=64
110 CONFIG_RTE_MAX_VFIO_CONTAINERS=64
111 CONFIG_RTE_MALLOC_DEBUG=n
112 CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
113 CONFIG_RTE_USE_LIBBSD=n
114 # Use WFE instructions to implement the rte_wait_for_equal_xxx APIs,
115 # calling these APIs put the cores in low power state while waiting
116 # for the memory address to become equal to the expected value.
117 # This is supported only by aarch64.
118 CONFIG_RTE_ARM_USE_WFE=n
121 # Recognize/ignore the AVX/AVX512 CPU flags for performance/power testing.
122 # AVX512 is marked as experimental for now, will enable it after enough
123 # field test and possible optimization.
125 CONFIG_RTE_ENABLE_AVX=y
126 CONFIG_RTE_ENABLE_AVX512=n
128 # Use ARM LSE ATOMIC instructions
129 CONFIG_RTE_ARM_FEATURE_ATOMICS=n
131 # Default driver path (or "" to disable)
132 CONFIG_RTE_EAL_PMD_PATH=""
135 # Compile Environment Abstraction Layer to support Vmware TSC map
137 CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT=y
140 # Compile the PCI library
142 CONFIG_RTE_LIBRTE_PCI=y
145 # Compile the argument parser library
147 CONFIG_RTE_LIBRTE_KVARGS=y
150 # Compile generic ethernet library
152 CONFIG_RTE_LIBRTE_ETHER=y
153 CONFIG_RTE_LIBRTE_ETHDEV_DEBUG=n
154 CONFIG_RTE_MAX_ETHPORTS=32
155 CONFIG_RTE_MAX_QUEUES_PER_PORT=1024
156 CONFIG_RTE_LIBRTE_IEEE1588=n
157 CONFIG_RTE_ETHDEV_QUEUE_STAT_CNTRS=16
158 CONFIG_RTE_ETHDEV_RXTX_CALLBACKS=y
159 CONFIG_RTE_ETHDEV_PROFILE_WITH_VTUNE=n
162 # Turn off Tx preparation stage
164 # Warning: rte_eth_tx_prepare() can be safely disabled only if using a
165 # driver which do not implement any Tx preparation.
167 CONFIG_RTE_ETHDEV_TX_PREPARE_NOOP=n
170 # Common libraries, before Bus/PMDs
172 CONFIG_RTE_LIBRTE_COMMON_DPAAX=n
175 # Compile the Intel FPGA bus
177 CONFIG_RTE_LIBRTE_IFPGA_BUS=y
180 # Compile PCI bus driver
182 CONFIG_RTE_LIBRTE_PCI_BUS=y
185 # Compile the vdev bus
187 CONFIG_RTE_LIBRTE_VDEV_BUS=y
192 CONFIG_RTE_LIBRTE_ARK_PMD=y
193 CONFIG_RTE_LIBRTE_ARK_PAD_TX=y
194 CONFIG_RTE_LIBRTE_ARK_DEBUG_RX=n
195 CONFIG_RTE_LIBRTE_ARK_DEBUG_TX=n
196 CONFIG_RTE_LIBRTE_ARK_DEBUG_STATS=n
197 CONFIG_RTE_LIBRTE_ARK_DEBUG_TRACE=n
200 # Compile Aquantia Atlantic PMD driver
202 CONFIG_RTE_LIBRTE_ATLANTIC_PMD=y
207 CONFIG_RTE_LIBRTE_AXGBE_PMD=y
208 CONFIG_RTE_LIBRTE_AXGBE_PMD_DEBUG=n
211 # Compile burst-oriented Broadcom PMD driver
213 CONFIG_RTE_LIBRTE_BNX2X_PMD=n
214 CONFIG_RTE_LIBRTE_BNX2X_DEBUG_RX=n
215 CONFIG_RTE_LIBRTE_BNX2X_DEBUG_TX=n
216 CONFIG_RTE_LIBRTE_BNX2X_MF_SUPPORT=n
217 CONFIG_RTE_LIBRTE_BNX2X_DEBUG_PERIODIC=n
220 # Compile burst-oriented Broadcom BNXT PMD driver
222 CONFIG_RTE_LIBRTE_BNXT_PMD=y
223 CONFIG_RTE_LIBRTE_BNXT_PMD_SYSTEM=n
226 # Compile burst-oriented Chelsio Terminator (CXGBE) PMD
228 CONFIG_RTE_LIBRTE_CXGBE_PMD=y
231 # Compile burst-oriented NXP PFE PMD driver
233 CONFIG_RTE_LIBRTE_PFE_PMD=n
236 CONFIG_RTE_LIBRTE_DPAA_BUS=n
237 CONFIG_RTE_LIBRTE_DPAA_MEMPOOL=n
238 CONFIG_RTE_LIBRTE_DPAA_PMD=n
239 CONFIG_RTE_LIBRTE_DPAA_HWDEBUG=n
242 # Compile NXP DPAA2 FSL-MC Bus
244 CONFIG_RTE_LIBRTE_FSLMC_BUS=n
247 # Compile Support Libraries for NXP DPAA2
249 CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL=n
250 CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=y
253 # Compile burst-oriented NXP DPAA2 PMD driver
255 CONFIG_RTE_LIBRTE_DPAA2_PMD=n
256 CONFIG_RTE_LIBRTE_DPAA2_DEBUG_DRIVER=n
259 # Compile NXP ENETC PMD Driver
261 CONFIG_RTE_LIBRTE_ENETC_PMD=n
264 # Compile burst-oriented Amazon ENA PMD driver
266 CONFIG_RTE_LIBRTE_ENA_PMD=y
267 CONFIG_RTE_LIBRTE_ENA_DEBUG_RX=n
268 CONFIG_RTE_LIBRTE_ENA_DEBUG_TX=n
269 CONFIG_RTE_LIBRTE_ENA_DEBUG_TX_FREE=n
270 CONFIG_RTE_LIBRTE_ENA_COM_DEBUG=n
273 # Compile burst-oriented Cisco ENIC PMD driver
275 CONFIG_RTE_LIBRTE_ENIC_PMD=y
278 # Compile burst-oriented IGB & EM PMD drivers
280 CONFIG_RTE_LIBRTE_EM_PMD=y
281 CONFIG_RTE_LIBRTE_IGB_PMD=y
282 CONFIG_RTE_LIBRTE_E1000_DEBUG_RX=n
283 CONFIG_RTE_LIBRTE_E1000_DEBUG_TX=n
284 CONFIG_RTE_LIBRTE_E1000_DEBUG_TX_FREE=n
285 CONFIG_RTE_LIBRTE_E1000_PF_DISABLE_STRIP_CRC=n
288 # Compile burst-oriented HINIC PMD driver
290 CONFIG_RTE_LIBRTE_HINIC_PMD=n
293 # Compile burst-oriented HNS3 PMD driver
295 CONFIG_RTE_LIBRTE_HNS3_PMD=n
298 # Compile Pensando IONIC PMD driver
300 CONFIG_RTE_LIBRTE_IONIC_PMD=y
303 # Compile burst-oriented IXGBE PMD driver
305 CONFIG_RTE_LIBRTE_IXGBE_PMD=y
306 CONFIG_RTE_LIBRTE_IXGBE_DEBUG_RX=n
307 CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX=n
308 CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX_FREE=n
309 CONFIG_RTE_LIBRTE_IXGBE_PF_DISABLE_STRIP_CRC=n
310 CONFIG_RTE_LIBRTE_IXGBE_BYPASS=n
313 # Compile burst-oriented I40E PMD driver
315 CONFIG_RTE_LIBRTE_I40E_PMD=y
316 CONFIG_RTE_LIBRTE_I40E_DEBUG_RX=n
317 CONFIG_RTE_LIBRTE_I40E_DEBUG_TX=n
318 CONFIG_RTE_LIBRTE_I40E_DEBUG_TX_FREE=n
319 CONFIG_RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC=y
320 CONFIG_RTE_LIBRTE_I40E_INC_VECTOR=y
321 CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n
322 CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF=64
323 CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM=4
326 # Compile burst-oriented FM10K PMD
328 CONFIG_RTE_LIBRTE_FM10K_PMD=y
329 CONFIG_RTE_LIBRTE_FM10K_DEBUG_RX=n
330 CONFIG_RTE_LIBRTE_FM10K_DEBUG_TX=n
331 CONFIG_RTE_LIBRTE_FM10K_DEBUG_TX_FREE=n
332 CONFIG_RTE_LIBRTE_FM10K_RX_OLFLAGS_ENABLE=y
333 CONFIG_RTE_LIBRTE_FM10K_INC_VECTOR=y
336 # Compile burst-oriented ICE PMD driver
338 CONFIG_RTE_LIBRTE_ICE_PMD=y
339 CONFIG_RTE_LIBRTE_ICE_DEBUG_RX=n
340 CONFIG_RTE_LIBRTE_ICE_DEBUG_TX=n
341 CONFIG_RTE_LIBRTE_ICE_DEBUG_TX_FREE=n
342 CONFIG_RTE_LIBRTE_ICE_16BYTE_RX_DESC=n
344 # Compile burst-oriented IAVF PMD driver
346 CONFIG_RTE_LIBRTE_IAVF_PMD=y
347 CONFIG_RTE_LIBRTE_IAVF_DEBUG_TX=n
348 CONFIG_RTE_LIBRTE_IAVF_DEBUG_TX_FREE=n
349 CONFIG_RTE_LIBRTE_IAVF_DEBUG_RX=n
350 CONFIG_RTE_LIBRTE_IAVF_DEBUG_DUMP_DESC=n
351 CONFIG_RTE_LIBRTE_IAVF_16BYTE_RX_DESC=n
353 # Compile burst-oriented IPN3KE PMD driver
355 CONFIG_RTE_LIBRTE_IPN3KE_PMD=n
358 # Compile burst-oriented IGC PMD drivers
360 CONFIG_RTE_LIBRTE_IGC_PMD=y
361 CONFIG_RTE_LIBRTE_IGC_DEBUG_RX=n
362 CONFIG_RTE_LIBRTE_IGC_DEBUG_TX=n
365 # Compile burst-oriented Mellanox ConnectX-3 (MLX4) PMD
367 CONFIG_RTE_LIBRTE_MLX4_PMD=n
368 CONFIG_RTE_LIBRTE_MLX4_DEBUG=n
371 # Compile burst-oriented Mellanox ConnectX-4, ConnectX-5,
372 # ConnectX-6 & BlueField (MLX5) PMD
374 CONFIG_RTE_LIBRTE_MLX5_PMD=n
375 CONFIG_RTE_LIBRTE_MLX5_DEBUG=n
378 # Compile regex-oriented Mellanox PMD
380 CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD=n
383 # Compile vdpa-oriented Mellanox ConnectX-6 & BlueField (MLX5) PMD
385 CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD=n
387 # Linking method for mlx4/5 dependency on ibverbs and related libraries
388 # Default linking is dynamic by linker.
389 # Other options are: dynamic by dlopen at run-time, or statically embedded.
390 CONFIG_RTE_IBVERBS_LINK_DLOPEN=n
391 CONFIG_RTE_IBVERBS_LINK_STATIC=n
394 # Compile burst-oriented Netronome NFP PMD driver
396 CONFIG_RTE_LIBRTE_NFP_PMD=n
397 CONFIG_RTE_LIBRTE_NFP_DEBUG_TX=n
398 CONFIG_RTE_LIBRTE_NFP_DEBUG_RX=n
400 # QLogic 10G/25G/40G/50G/100G PMD
402 CONFIG_RTE_LIBRTE_QEDE_PMD=y
403 CONFIG_RTE_LIBRTE_QEDE_DEBUG_TX=n
404 CONFIG_RTE_LIBRTE_QEDE_DEBUG_RX=n
405 #Provides abs path/name of the firmware file.
406 #Empty string denotes driver will use default firmware
407 CONFIG_RTE_LIBRTE_QEDE_FW=""
410 # Compile burst-oriented Solarflare libefx-based PMD
412 CONFIG_RTE_LIBRTE_SFC_EFX_PMD=y
413 CONFIG_RTE_LIBRTE_SFC_EFX_DEBUG=n
416 # Compile software PMD backed by SZEDATA2 device
418 CONFIG_RTE_LIBRTE_PMD_SZEDATA2=n
421 # Compile software PMD backed by NFB device
423 CONFIG_RTE_LIBRTE_NFB_PMD=n
426 # Compile burst-oriented Cavium Thunderx NICVF PMD driver
428 CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD=y
429 CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_RX=n
430 CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_TX=n
433 # Compile burst-oriented Cavium LiquidIO PMD driver
435 CONFIG_RTE_LIBRTE_LIO_PMD=y
436 CONFIG_RTE_LIBRTE_LIO_DEBUG_RX=n
437 CONFIG_RTE_LIBRTE_LIO_DEBUG_TX=n
438 CONFIG_RTE_LIBRTE_LIO_DEBUG_MBOX=n
439 CONFIG_RTE_LIBRTE_LIO_DEBUG_REGS=n
442 # Compile burst-oriented Cavium OCTEONTX network PMD driver
444 CONFIG_RTE_LIBRTE_OCTEONTX_PMD=y
447 # Compile burst-oriented Marvell OCTEON TX2 network PMD driver
449 CONFIG_RTE_LIBRTE_OCTEONTX2_PMD=y
452 # Compile WRS accelerated virtual port (AVP) guest PMD driver
454 CONFIG_RTE_LIBRTE_AVP_PMD=n
455 CONFIG_RTE_LIBRTE_AVP_DEBUG_RX=n
456 CONFIG_RTE_LIBRTE_AVP_DEBUG_TX=n
457 CONFIG_RTE_LIBRTE_AVP_DEBUG_BUFFERS=n
460 # Compile burst-oriented VIRTIO PMD driver
462 CONFIG_RTE_LIBRTE_VIRTIO_PMD=y
463 CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_RX=n
464 CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_TX=n
465 CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_DUMP=n
468 # Compile virtio device emulation inside virtio PMD driver
470 CONFIG_RTE_VIRTIO_USER=n
473 # Compile burst-oriented VMXNET3 PMD driver
475 CONFIG_RTE_LIBRTE_VMXNET3_PMD=y
476 CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_RX=n
477 CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_TX=n
478 CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_TX_FREE=n
481 # Compile software PMD backed by AF_PACKET sockets (Linux only)
483 CONFIG_RTE_LIBRTE_PMD_AF_PACKET=n
486 # Compile software PMD backed by AF_XDP sockets (Linux only)
488 CONFIG_RTE_LIBRTE_PMD_AF_XDP=n
491 # Compile Memory Interface PMD driver (Linux only)
493 CONFIG_RTE_LIBRTE_PMD_MEMIF=n
496 # Compile link bonding PMD library
498 CONFIG_RTE_LIBRTE_PMD_BOND=y
499 CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB=n
500 CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB_L1=n
503 # Compile fail-safe PMD
505 CONFIG_RTE_LIBRTE_PMD_FAILSAFE=y
508 # Compile Marvell PMD driver
510 CONFIG_RTE_LIBRTE_MVPP2_PMD=n
513 # Compile Marvell MVNETA PMD driver
515 CONFIG_RTE_LIBRTE_MVNETA_PMD=n
518 # Compile support for VMBus library
520 CONFIG_RTE_LIBRTE_VMBUS=n
523 # Compile native PMD for Hyper-V/Azure
525 CONFIG_RTE_LIBRTE_NETVSC_PMD=n
526 CONFIG_RTE_LIBRTE_NETVSC_DEBUG_RX=n
527 CONFIG_RTE_LIBRTE_NETVSC_DEBUG_TX=n
528 CONFIG_RTE_LIBRTE_NETVSC_DEBUG_DUMP=n
531 # Compile virtual device driver for NetVSC on Hyper-V/Azure
533 CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD=n
538 CONFIG_RTE_LIBRTE_PMD_NULL=y
541 # Compile software PMD backed by PCAP files
543 CONFIG_RTE_LIBRTE_PMD_PCAP=n
546 # Compile example software rings based PMD
548 CONFIG_RTE_LIBRTE_PMD_RING=y
549 CONFIG_RTE_PMD_RING_MAX_RX_RINGS=16
550 CONFIG_RTE_PMD_RING_MAX_TX_RINGS=16
553 # Compile SOFTNIC PMD
555 CONFIG_RTE_LIBRTE_PMD_SOFTNIC=n
558 # Compile the TAP PMD
559 # It is enabled by default for Linux only.
561 CONFIG_RTE_LIBRTE_PMD_TAP=n
564 # Do prefetch of packet data within PMD driver receive function
566 CONFIG_RTE_PMD_PACKET_PREFETCH=y
568 # Compile generic wireless base band device library
569 # EXPERIMENTAL: API may change without prior notice
571 CONFIG_RTE_LIBRTE_BBDEV=y
572 CONFIG_RTE_LIBRTE_BBDEV_DEBUG=n
573 CONFIG_RTE_BBDEV_MAX_DEVS=128
574 CONFIG_RTE_BBDEV_OFFLOAD_COST=y
575 CONFIG_RTE_BBDEV_SDK_AVX2=n
576 CONFIG_RTE_BBDEV_SDK_AVX512=n
579 # Compile PMD for NULL bbdev device
581 CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL=y
584 # Compile PMD for turbo software bbdev device
586 CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW=y
589 # Compile PMD for Intel FPGA LTE FEC bbdev device
591 CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC=y
594 # Compile PMD for Intel FPGA 5GNR FEC bbdev device
596 CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC=y
599 # Compile generic crypto device library
601 CONFIG_RTE_LIBRTE_CRYPTODEV=y
602 CONFIG_RTE_CRYPTO_MAX_DEVS=64
605 # Compile PMD for ARMv8 Crypto device
607 CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO=n
608 CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO_DEBUG=n
611 # Compile NXP CAAM JR crypto Driver
613 CONFIG_RTE_LIBRTE_PMD_CAAM_JR=n
614 CONFIG_RTE_LIBRTE_PMD_CAAM_JR_BE=n
617 # Compile NXP DPAA2 crypto sec driver for CAAM HW
619 CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC=n
622 # NXP DPAA caam - crypto driver
624 CONFIG_RTE_LIBRTE_PMD_DPAA_SEC=n
625 CONFIG_RTE_LIBRTE_DPAA_MAX_CRYPTODEV=4
628 # Compile PMD for Cavium OCTEON TX crypto device
630 CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO=y
633 # Compile PMD for Marvell OCTEON TX2 crypto device
635 CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO=y
638 # Compile PMD for QuickAssist based devices - see docs for details
640 CONFIG_RTE_LIBRTE_PMD_QAT=y
641 CONFIG_RTE_LIBRTE_PMD_QAT_SYM=n
642 CONFIG_RTE_LIBRTE_PMD_QAT_ASYM=n
644 # Max. number of QuickAssist devices, which can be detected and attached
646 CONFIG_RTE_PMD_QAT_MAX_PCI_DEVICES=48
647 CONFIG_RTE_PMD_QAT_COMP_IM_BUFFER_SIZE=65536
650 # Compile PMD for virtio crypto devices
652 CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO=y
654 # Number of maximum virtio crypto devices
656 CONFIG_RTE_MAX_VIRTIO_CRYPTO=32
659 # Compile PMD for AESNI backed device
661 CONFIG_RTE_LIBRTE_PMD_AESNI_MB=n
664 # Compile PMD for Software backed device
666 CONFIG_RTE_LIBRTE_PMD_OPENSSL=n
669 # Compile PMD for AESNI GCM device
671 CONFIG_RTE_LIBRTE_PMD_AESNI_GCM=n
674 # Compile PMD for SNOW 3G device
676 CONFIG_RTE_LIBRTE_PMD_SNOW3G=n
677 CONFIG_RTE_LIBRTE_PMD_SNOW3G_DEBUG=n
680 # Compile PMD for KASUMI device
682 CONFIG_RTE_LIBRTE_PMD_KASUMI=n
685 # Compile PMD for ZUC device
687 CONFIG_RTE_LIBRTE_PMD_ZUC=n
689 # Compile PMD for Crypto Scheduler device
691 CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER=y
694 # Compile PMD for NULL Crypto device
696 CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO=y
699 # Compile PMD for AMD CCP crypto device
701 CONFIG_RTE_LIBRTE_PMD_CCP=n
704 # Compile PMD for Marvell Crypto device
706 CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO=n
709 # Compile PMD for NITROX crypto device
711 CONFIG_RTE_LIBRTE_PMD_NITROX=y
714 # Compile generic security library
716 CONFIG_RTE_LIBRTE_SECURITY=y
719 # Compile generic compression device library
721 CONFIG_RTE_LIBRTE_COMPRESSDEV=y
722 CONFIG_RTE_COMPRESS_MAX_DEVS=64
725 # Compile compressdev unit test
727 CONFIG_RTE_COMPRESSDEV_TEST=n
730 # Compile PMD for Octeontx ZIPVF compression device
732 CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF=y
735 # Compile PMD for ISA-L compression device
737 CONFIG_RTE_LIBRTE_PMD_ISAL=n
740 # Compile PMD for ZLIB compression device
742 CONFIG_RTE_LIBRTE_PMD_ZLIB=n
745 # Compile RegEx device support
747 CONFIG_RTE_LIBRTE_REGEXDEV=y
748 CONFIG_RTE_LIBRTE_REGEXDEV_DEBUG=n
749 CONFIG_RTE_MAX_REGEXDEV_DEVS=32
752 # Compile generic event device library
754 CONFIG_RTE_LIBRTE_EVENTDEV=y
755 CONFIG_RTE_LIBRTE_EVENTDEV_DEBUG=n
756 CONFIG_RTE_EVENT_MAX_DEVS=16
757 CONFIG_RTE_EVENT_MAX_QUEUES_PER_DEV=64
758 CONFIG_RTE_EVENT_TIMER_ADAPTER_NUM_MAX=32
759 CONFIG_RTE_EVENT_ETH_INTR_RING_SIZE=1024
760 CONFIG_RTE_EVENT_CRYPTO_ADAPTER_MAX_INSTANCE=32
761 CONFIG_RTE_EVENT_ETH_TX_ADAPTER_MAX_INSTANCE=32
764 # Compile PMD for skeleton event device
766 CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV=y
767 CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV_DEBUG=n
770 # Compile PMD for software event device
772 CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV=y
775 # Compile PMD for distributed software event device
777 CONFIG_RTE_LIBRTE_PMD_DSW_EVENTDEV=y
780 # Compile PMD for octeontx sso event device
782 CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=y
785 # Compile PMD for octeontx2 sso event device
787 CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV=y
790 # Compile PMD for OPDL event device
792 CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV=y
795 # Compile PMD for NXP DPAA event device
797 CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV=n
800 # Compile PMD for NXP DPAA2 event device
802 CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV=n
805 # Compile raw device support
806 # EXPERIMENTAL: API may change without prior notice
808 CONFIG_RTE_LIBRTE_RAWDEV=y
809 CONFIG_RTE_RAWDEV_MAX_DEVS=64
810 CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV=y
813 # Compile PMD for NXP DPAA2 CMDIF raw device
815 CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV=n
818 # Compile PMD for NXP DPAA2 QDMA raw device
820 CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV=n
823 # Compile PMD for Intel FPGA raw device
825 CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV=n
828 # Compile PMD for Intel IOAT raw device
830 CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV=y
833 # Compile PMD for octeontx2 DMA raw device
835 CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV=y
838 # Compile PMD for octeontx2 EP raw device
840 CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV=y
843 # Compile PMD for NTB raw device
845 CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV=y
848 # Compile librte_ring
850 CONFIG_RTE_LIBRTE_RING=y
853 # Compile librte_stack
855 CONFIG_RTE_LIBRTE_STACK=y
858 # Compile librte_mempool
860 CONFIG_RTE_LIBRTE_MEMPOOL=y
861 CONFIG_RTE_MEMPOOL_CACHE_MAX_SIZE=512
862 CONFIG_RTE_LIBRTE_MEMPOOL_DEBUG=n
865 # Compile Mempool drivers
867 CONFIG_RTE_DRIVER_MEMPOOL_BUCKET=y
868 CONFIG_RTE_DRIVER_MEMPOOL_BUCKET_SIZE_KB=64
869 CONFIG_RTE_DRIVER_MEMPOOL_RING=y
870 CONFIG_RTE_DRIVER_MEMPOOL_STACK=y
873 # Compile PMD for octeontx fpa mempool device
875 CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL=y
878 # Compile PMD for octeontx2 npa mempool device
880 CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL=y
883 # Compile librte_mbuf
885 CONFIG_RTE_LIBRTE_MBUF=y
886 CONFIG_RTE_LIBRTE_MBUF_DEBUG=n
887 CONFIG_RTE_MBUF_DEFAULT_MEMPOOL_OPS="ring_mp_mc"
888 CONFIG_RTE_MBUF_REFCNT_ATOMIC=y
889 CONFIG_RTE_PKTMBUF_HEADROOM=128
892 # Compile librte_timer
894 CONFIG_RTE_LIBRTE_TIMER=y
895 CONFIG_RTE_LIBRTE_TIMER_DEBUG=n
898 # Compile librte_cfgfile
900 CONFIG_RTE_LIBRTE_CFGFILE=y
903 # Compile librte_cmdline
905 CONFIG_RTE_LIBRTE_CMDLINE=y
906 CONFIG_RTE_LIBRTE_CMDLINE_DEBUG=n
909 # Compile librte_hash
911 CONFIG_RTE_LIBRTE_HASH=y
912 CONFIG_RTE_LIBRTE_HASH_DEBUG=n
917 CONFIG_RTE_LIBRTE_EFD=y
920 # Compile librte_member
922 CONFIG_RTE_LIBRTE_MEMBER=y
925 # Compile librte_jobstats
927 CONFIG_RTE_LIBRTE_JOBSTATS=y
930 # Compile the device metrics library
932 CONFIG_RTE_LIBRTE_METRICS=y
935 # Compile the bitrate statistics library
937 CONFIG_RTE_LIBRTE_BITRATE=y
940 # Compile the latency statistics library
942 CONFIG_RTE_LIBRTE_LATENCY_STATS=y
945 # Compile librte_telemetry legacy support
947 CONFIG_RTE_LIBRTE_TELEMETRY=n
952 CONFIG_RTE_LIBRTE_RCU=y
953 CONFIG_RTE_LIBRTE_RCU_DEBUG=n
958 CONFIG_RTE_LIBRTE_RIB=y
963 CONFIG_RTE_LIBRTE_FIB=y
964 CONFIG_RTE_LIBRTE_FIB_DEBUG=n
969 CONFIG_RTE_LIBRTE_LPM=y
970 CONFIG_RTE_LIBRTE_LPM_DEBUG=n
975 CONFIG_RTE_LIBRTE_ACL=y
976 CONFIG_RTE_LIBRTE_ACL_DEBUG=n
979 # Compile librte_power
981 CONFIG_RTE_LIBRTE_POWER=n
982 CONFIG_RTE_LIBRTE_POWER_DEBUG=n
983 CONFIG_RTE_MAX_LCORE_FREQS=64
988 CONFIG_RTE_LIBRTE_NET=y
991 # Compile librte_ip_frag
993 CONFIG_RTE_LIBRTE_IP_FRAG=y
994 CONFIG_RTE_LIBRTE_IP_FRAG_DEBUG=n
995 CONFIG_RTE_LIBRTE_IP_FRAG_MAX_FRAG=4
996 CONFIG_RTE_LIBRTE_IP_FRAG_TBL_STAT=n
999 # Compile GRO library
1001 CONFIG_RTE_LIBRTE_GRO=y
1004 # Compile GSO library
1006 CONFIG_RTE_LIBRTE_GSO=y
1009 # Compile librte_meter
1011 CONFIG_RTE_LIBRTE_METER=y
1014 # Compile librte_classify
1016 CONFIG_RTE_LIBRTE_FLOW_CLASSIFY=y
1019 # Compile librte_sched
1021 CONFIG_RTE_LIBRTE_SCHED=y
1022 CONFIG_RTE_SCHED_DEBUG=n
1023 CONFIG_RTE_SCHED_RED=n
1024 CONFIG_RTE_SCHED_COLLECT_STATS=n
1025 CONFIG_RTE_SCHED_SUBPORT_TC_OV=n
1026 CONFIG_RTE_SCHED_PORT_N_GRINDERS=8
1027 CONFIG_RTE_SCHED_VECTOR=n
1030 # Compile the distributor library
1032 CONFIG_RTE_LIBRTE_DISTRIBUTOR=y
1035 # Compile the reorder library
1037 CONFIG_RTE_LIBRTE_REORDER=y
1040 # Compile librte_port
1042 CONFIG_RTE_LIBRTE_PORT=y
1043 CONFIG_RTE_PORT_STATS_COLLECT=n
1044 CONFIG_RTE_PORT_PCAP=n
1047 # Compile librte_table
1049 CONFIG_RTE_LIBRTE_TABLE=y
1050 CONFIG_RTE_TABLE_STATS_COLLECT=n
1053 # Compile librte_pipeline
1055 CONFIG_RTE_LIBRTE_PIPELINE=y
1056 CONFIG_RTE_PIPELINE_STATS_COLLECT=n
1059 # Compile librte_kni
1061 CONFIG_RTE_LIBRTE_KNI=n
1062 CONFIG_RTE_LIBRTE_PMD_KNI=n
1063 CONFIG_RTE_KNI_KMOD=n
1064 CONFIG_RTE_KNI_PREEMPT_DEFAULT=y
1067 # Compile the pdump library
1069 CONFIG_RTE_LIBRTE_PDUMP=y
1072 # Compile vhost user library
1074 CONFIG_RTE_LIBRTE_VHOST=n
1075 CONFIG_RTE_LIBRTE_VHOST_NUMA=n
1076 CONFIG_RTE_LIBRTE_VHOST_DEBUG=n
1080 # To compile, CONFIG_RTE_LIBRTE_VHOST should be enabled.
1082 CONFIG_RTE_LIBRTE_PMD_VHOST=n
1085 # Compile IFC driver
1086 # To compile, CONFIG_RTE_LIBRTE_VHOST and CONFIG_RTE_EAL_VFIO
1087 # should be enabled.
1089 CONFIG_RTE_LIBRTE_IFC_PMD=n
1092 # Compile librte_bpf
1094 CONFIG_RTE_LIBRTE_BPF=y
1095 # allow load BPF from ELF files (requires libelf)
1096 CONFIG_RTE_LIBRTE_BPF_ELF=n
1099 # Compile librte_ipsec
1101 CONFIG_RTE_LIBRTE_IPSEC=y
1104 # Compile librte_graph
1106 CONFIG_RTE_LIBRTE_GRAPH=y
1107 CONFIG_RTE_GRAPH_BURST_SIZE=256
1108 CONFIG_RTE_LIBRTE_GRAPH_STATS=y
1111 # Compile librte_node
1113 CONFIG_RTE_LIBRTE_NODE=y
1116 # Compile the test application
1118 CONFIG_RTE_APP_TEST=y
1119 CONFIG_RTE_APP_TEST_RESOURCE_TAR=n
1122 # Compile the procinfo application
1124 CONFIG_RTE_PROC_INFO=n
1127 # Compile the PMD test application
1129 CONFIG_RTE_TEST_PMD=y
1130 CONFIG_RTE_TEST_PMD_RECORD_CORE_CYCLES=n
1131 CONFIG_RTE_TEST_PMD_RECORD_BURST_STATS=n
1134 # Compile the rte flow perf application
1136 CONFIG_RTE_TEST_FLOW_PERF=y
1139 # Compile the bbdev test application
1141 CONFIG_RTE_TEST_BBDEV=y
1144 # Compile the compression performance application
1146 CONFIG_RTE_APP_COMPRESS_PERF=y
1149 # Compile the crypto performance application
1151 CONFIG_RTE_APP_CRYPTO_PERF=y
1154 # Compile the eventdev application
1156 CONFIG_RTE_APP_EVENTDEV=y