DPDK implementation of this mode provide some additional requirements of the application.
It needs to call rte_eth_tx_burst and rte_eth_rx_burst with intervals period of less than 100ms.
Calls to rte_eth_tx_burst must have a buffer size of at least 2xN, where N is the number of slaves. This is a space required for LACP frames. Additionally LACP packets are included in the statistics, but they are not returned to the application.
在低流量环境下,bond4会出现 lacp 未及时发出的情况,导致网络中断。具体原因在dpdk官网有说明(下面有问题摘要) 原因: dpdk创建虚拟设备(bond4),会周期性的创建和接收lacp消息。默认情况下,定时器(dpdk使用的alarm触发)周期创建的lacp报文并放在发送队列中(队列名称:slave_0_tx),当应用程序显示调用rte_eth_rx_burst 时,bond4驱动中会从发送队列中拿出lacp报文,并发送到网卡中。 低流量环境下,若没有及时调用 rte_eth_rx_burst ,则lacp也不能及时发出,最后导致网络中断。
https://doc.dpdk.org/guides-19.11/prog_guide/link_bonding_poll_mode_drv_lib.html