The MLX5 device supports up to MLX5_MAX_MAC_ADDRESSES (256) MAC addresses. The code flushes all MAC devices. If DPDK is compiled with MLX5_DEBUG this would an assert. PANIC in mlx5_nl_mac_addr_flush(): line 775 assert "(size_t)(i) < sizeof(mac_own) * 8" failed The root cause is that mac_own is a pointer and is being used as a bitmap array. The sizeof(mac_own) would therefore be 64 but the number of entries to be flushed would be 256. There is a whole set of asserts in MLX5 netlink code with the same bug; that should just be changed into proper error checks. Fixes: 8e46d4e18f09 ("common/mlx5: improve assert control") Cc: stable@dpdk.org Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com>
DPDK is a set of libraries and drivers for fast packet processing. It supports many processor architectures and both FreeBSD and Linux. The DPDK uses the Open Source BSD-3-Clause license for the core libraries and drivers. The kernel components are GPL-2.0 licensed. Please check the doc directory for release notes, API documentation, and sample application information. For questions and usage discussions, subscribe to: users@dpdk.org Report bugs and issues to the development mailing list: dev@dpdk.org
Description
Languages
C
99.1%
Meson
0.5%
Python
0.2%
Shell
0.1%