On slave activation in LACP (8023AD) SOCKET_ANY_ID (which is -1) is being casted to unsigned char and then to signed int. The result is that socket_id has value of 255, not -1. This results to memory allocation failure. --- drivers/net/bonding/rte_eth_bond_8023ad.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c index 97a828e..c0f0b99 100644 --- a/drivers/net/bonding/rte_eth_bond_8023ad.c +++ b/drivers/net/bonding/rte_eth_bond_8023ad.c @@ -849,7 +849,7 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev *bond_dev, uint8_t slave_id) }; char mem_name[RTE_ETH_NAME_MAX_LEN]; - uint8_t socket_id; + int socket_id; unsigned element_size; /* Given slave mus not be in active list */ -- 2.1.4