* [DPDK/ethdev Bug 1900] The DPDK bond driver does not support the secondary process.
@ 2026-03-10 2:53 bugzilla
0 siblings, 0 replies; only message in thread
From: bugzilla @ 2026-03-10 2:53 UTC (permalink / raw)
To: dev
http://bugs.dpdk.org/show_bug.cgi?id=1900
Bug ID: 1900
Summary: The DPDK bond driver does not support the secondary
process.
Product: DPDK
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: ethdev
Assignee: dev@dpdk.org
Reporter: 916421004@qq.com
Target Milestone: ---
When I use the bond4 mode (dedicated_queues_enable), I find that DPDK does not
support the secondary mode.
1.bond_probe:
if (rte_eal_process_type() == RTE_PROC_SECONDARY) {
eth_dev = rte_eth_dev_attach_secondary(name);
if (!eth_dev) {
RTE_BOND_LOG(ERR, "Failed to probe %s", name);
return -1;
}
/* TODO: request info from primary to set up Rx and Tx */
eth_dev->dev_ops = &default_dev_ops;
eth_dev->device = &dev->device;
rte_eth_dev_probing_finish(eth_dev);
return 0;
}
Here don`t set eth_dev->tx_pkt_burst and eth_dev->rx_pkt_burst.
2.struct port bond_mode_8023ad_ports[RTE_MAX_ETHPORTS];
This is a global variable, and the content of the primary is not synchronized.
problem example:
rx_burst_8023ad:
...
collecting = ACTOR_STATE(&bond_mode_8023ad_ports[members[idx]],
COLLECTING);
...
/* Remove packet from array if:
* - it is slow packet but no dedicated rxq is present,
* - member is not in collecting state,
* - bonding interface is not in promiscuous mode and
* packet address isn't in mac_addrs array:
* - packet is unicast,
* - packet is multicast and bonding interface
* is not in allmulti,
*/
if (unlikely(
(!dedicated_rxq &&
is_lacp_packets(hdr->ether_type, subtype,
bufs[j])) ||
!collecting ||
(!promisc &&
!is_bond_mac_addr(&hdr->dst_addr, bond_mac,
BOND_MAX_MAC_ADDRS) &&
(rte_is_unicast_ether_addr(&hdr->dst_addr) ||
!allmulti)))) {
...
}
because the bond_mode_8023ad_ports is not synchronized to the primary process.
As a result, the value of collecting is 0, and non-LACP packets are discarded.
Why does the DPDK bond not support the secondary mode? When will the DPDK bond
support the secondary mode?
--
You are receiving this mail because:
You are the assignee for the bug.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-03-10 2:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-10 2:53 [DPDK/ethdev Bug 1900] The DPDK bond driver does not support the secondary process bugzilla
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox