Actions
Bug #6741
closeddpdk: automatic cache calculation is broken
Affected Versions:
Effort:
Difficulty:
Label:
Updated by Lukas Sismis 9 months ago
# To approximately calculate required amount of space (in bytes) for interface's mempool: mempool-size * mtu # Make sure you have enough allocated hugepages. # The optimum size for the packet memory pool (in terms of memory usage) is power of two minus one: n = (2^q - 1) mempool-size: 65535 # 8 # The number of elements in the mbuf pool # Mempool cache size must be lower or equal to: # - RTE_MEMPOOL_CACHE_MAX_SIZE (by default 512) and # - "mempool-size / 1.5" # It is advised to choose cache_size to have "mempool-size modulo cache_size == 0". # If this is not the case, some elements will always stay in the pool and will never be used. # The cache can be disabled if the cache_size argument is set to 0, can be useful to avoid losing objects in cache # If the value is empty or set to "auto", Suricata will attempt to set cache size of the mempool to a value # that matches the previously mentioned recommendations mempool-cache-size: auto # 1 rx-descriptors: 8 tx-descriptors: 8
Config: dpdk: net_null0: creating packet mbuf pool mempool_net_null0 of size 65535, cache size 21845, mbuf size 2176 [DeviceConfigureQueues:runmode-dpdk.c:1209] Error: dpdk: net_null0: rte_pktmbuf_pool_create failed with code 22 (mempool: mempool_net_null0) - Invalid argument [DeviceConfigureQueues:runmode-dpdk.c:1216] Error: dpdk: net_null0: failed to configure [ParseDpdkConfigAndConfigureDevice:runmode-dpdk.c:1561]
Updated by Lukas Sismis 8 months ago
- Status changed from Assigned to Resolved
Actions