On Tue, 8 Nov 2022 16:40:38 +0800 Huisong Li <lihuis...@huawei.com> wrote:
> The port configurations of bonding device need to be updated when add a > slave device. But mbuf fast free offload can't be used in bonding mode > Broadcast and mode 8023AD. So remove this offload for both mode in case > of failing to initialize bonding device. > > Fixes: 76376bd9cd49 ("app/testpmd: update bond port configurations when add > slave") > > Signed-off-by: Huisong Li <lihuis...@huawei.com> int ret; > > @@ -2825,6 +2826,13 @@ update_bonding_port_dev_conf(portid_t bond_pid) > if (port->dev_info.tx_offload_capa & RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE) > port->dev_conf.txmode.offloads |= > RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE; > + /* Bond mode broadcast & 8023AD don't support MBUF_FAST_FREE offload */ > + bonding_mode = rte_eth_bond_mode_get(bond_pid); > + if (bonding_mode == BONDING_MODE_8023AD || > + bonding_mode == BONDING_MODE_BROADCAST) > + port->dev_conf.txmode.offloads &= > + ~RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE; > + This would be better handled in the bonding driver. It should return the correct txmode offloads based on bonding mode. That way it would work for any application not just testpmd.