net/bonding: fix packet count type for LACP
authorDavid Marchand <david.marchand@redhat.com>
Wed, 20 Mar 2019 11:47:21 +0000 (12:47 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 21 Mar 2019 20:09:16 +0000 (21:09 +0100)
commit646d3f20aa5140ae6152e3b30e59fae9dde3d6a8
treed4512960f96a969548da348d5800f4d2b3ebb78c
parent1d6cab8a91ba461b6a223f98a527d81182c9a6d2
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 <david.marchand@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
drivers/net/bonding/rte_eth_bond_pmd.c