From: David Marchand Date: Wed, 20 Mar 2019 11:47:21 +0000 (+0100) Subject: net/bonding: fix packet count type for LACP X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=646d3f20aa5140ae6152e3b30e59fae9dde3d6a8;p=dpdk.git net/bonding: fix packet count type for LACP Caught by code review, those variables are supposed to be on 16bits to avoid endless loops in the (unlikely?) case where the application asks for receiving more than 256 packets and the accumulated num_rx_total count reaches 256: uint16_t num_rx_total = 0; uint8_t j, k; j = num_rx_total; num_rx_total += rte_eth_rx_burst(); for (k = j; k < 2 && k < num_rx_total; k++) rte_prefetch0(rte_pktmbuf_mtod(bufs[k], void *)); while (j < num_rx_total) { j++; } Fixes: 46fb43683679 ("bond: add mode 4") Cc: stable@dpdk.org Signed-off-by: David Marchand Reviewed-by: Ferruh Yigit --- diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index bbe2568cda..ae66a70f44 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -405,8 +405,9 @@ bond_ethdev_rx_burst_8023ad(void *queue, struct rte_mbuf **bufs, uint8_t collecting; /* current slave collecting status */ const uint8_t promisc = internals->promiscuous_en; uint8_t subtype; - uint8_t j, k; uint16_t i; + uint16_t j; + uint16_t k; /* Copy slave list to protect against slave up/down changes during tx * bursting */