[dpdk-users] bonding driver LACP mode issues

Alex Kiselev kiselev99 at gmail.com
Fri Jul 14 00:33:40 CEST 2017


New info:

I've added RTE_LOG call right after the rte_eth_tx_burst in the
bond_ethdev_tx_burst_8023ad
in the file rte_eth_bond_pmd.c

bond_ethdev_tx_burst_8023ad(...)
{
...
                num_tx_slave = rte_eth_tx_burst(slaves[i], bd_tx_q->queue_id,
                                slave_bufs[i], slave_nb_pkts[i]);

                RTE_LOG(DEBUG, PMD,
                    "rte_eth_tx_burst: port_id %hhu, queue_id %hu, num
pkts %hu, "
                    "was sent %hu, slow pkts %hhu\n", slaves[i],
bd_tx_q->queue_id, slave_nb_pkts[i],
                    num_tx_slave, slave_slow_nb_pkts[i]);
...
}

When my app stopped forward packets I set log_level to debug and got
some new debug data. It turned out that the problem is tx queue_id #0.
It's the only
tx queue that stops sending packets on both slave ports 0 and 1.

tail -f /run/the_router | grep 'was sent 0' | 'grep port_id 0'

Jul 14 02:51:03 bizin the_router.lag[22550]: PMD: rte_eth_tx_burst:
port_id 0, queue_id 0, num pkts 1, was sent 0, slow pkts 0
Jul 14 02:51:03 bizin the_router.lag[22550]: PMD: rte_eth_tx_burst:
port_id 0, queue_id 0, num pkts 1, was sent 0, slow pkts 0
Jul 14 02:51:03 bizin the_router.lag[22550]: PMD: rte_eth_tx_burst:
port_id 0, queue_id 0, num pkts 1, was sent 0, slow pkts 0

tail -f /run/the_router | grep 'was sent 0' | 'grep port_id 1'
Jul 14 02:44:45 bizin the_router.lag[22550]: PMD: rte_eth_tx_burst:
port_id 1, queue_id 0, num pkts 1, was sent 0, slow pkts 0
Jul 14 02:44:46 bizin the_router.lag[22550]: PMD: rte_eth_tx_burst:
port_id 1, queue_id 0, num pkts 31, was sent 0, slow pkts 0
Jul 14 02:44:46 bizin the_router.lag[22550]: PMD: rte_eth_tx_burst:
port_id 1, queue_id 0, num pkts 1, was sent 0, slow pkts 0


The others tx queues are ok. Each packet that goes into tx queue other
than #0 is sent to the wire.

tail -f /run/the_router | grep -v 'was sent 0' | grep 'was sent'
Jul 14 03:04:06 bizin the_router.lag[22550]: PMD: rte_eth_tx_burst:
port_id 1, queue_id 3, num pkts 4, was sent 4, slow pkts 0
Jul 14 03:04:06 bizin the_router.lag[22550]: PMD: rte_eth_tx_burst:
port_id 1, queue_id 2, num pkts 1, was sent 1, slow pkts 0
Jul 14 03:04:06 bizin the_router.lag[22550]: PMD: rte_eth_tx_burst:
port_id 1, queue_id 3, num pkts 1, was sent 1, slow pkts 0
Jul 14 03:04:06 bizin the_router.lag[22550]: PMD: rte_eth_tx_burst:
port_id 1, queue_id 3, num pkts 1, was sent 1, slow pkts 0

I still have no clue what could cause such behavior and I am running
out of ideas how to further debug it.

Please, anybody, help! I would love to hear any ideas.

--
Alex Kiselev


More information about the users mailing list