The name in rte_kni_device_info is passed to the kernel, which allows interface names with at most 16 bytes (IFNAMSIZ). rte_kni_alloc with a longer name currently trigger a kernel BUG in alloc_netdev_mqs in net/core/dev.c. Reduce RTE_KNI_NAMESIZE to prevent this situation.
Signed-off-by: Michael Pfeiffer <michael.pfeif...@tu-ilmenau.de> --- lib/librte_eal/linux/eal/include/rte_kni_common.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/librte_eal/linux/eal/include/rte_kni_common.h b/lib/librte_eal/linux/eal/include/rte_kni_common.h index 46f75a710..b427cd56c 100644 --- a/lib/librte_eal/linux/eal/include/rte_kni_common.h +++ b/lib/librte_eal/linux/eal/include/rte_kni_common.h @@ -15,10 +15,10 @@ #include <rte_config.h> #endif -/** - * KNI name is part of memzone name. +/* + * KNI name is part of memzone name. Must not exceed IFNAMSIZ. */ -#define RTE_KNI_NAMESIZE 32 +#define RTE_KNI_NAMESIZE 16 #define RTE_CACHE_LINE_MIN_SIZE 64 -- 2.20.1