Hi Ben,this is code change: https://gerrit.fd.io/r/c/vpp/+/46828/5. please help to review it, I have already verified it locally and it works fine.
Thanks & Regards Amelia Benoit Ganne (bganne) via lists.fd.io <[email protected]> 于2026年9月11日周五 15:15写道: > Hi Amelia, > > thank you for this report. Can you post a patch in gerrit with your > proposal? See https://s3-docs.fd.io/vpp/26.10/contributing/gitreview.html > Feel free to report here with the link once done. > > Best > ben > > ________________________________________ > From: [email protected] <[email protected]> on behalf of amelia yin > via lists.fd.io <[email protected]> > Sent: Friday, September 11, 2026 4:59 > To: [email protected] > Subject: [vpp-dev] [VPP-2606]The MAC address setting for Bond(mode:xor) > members has failed. > > Hi Team, > > I encountered a problem where a member of the bond failed to set the MAC > address in VPP26.06. > I configured the bond interface with the mode set to XOR, > The member ports of BondEthernet0 are VirtualFunctionEthernet4b/0/4 and > VirtualFunctionEthernet4b/1/2 . > After deleting the pod and the first deployment of the pod, the MAC > addresses of the bond interface and the two member interfaces were > consistent. > However, when I killed the container and restarted the pod, I found that > the MAC address setting for the second member interface failed, > log print: vpp[11]: dpdk: ETHDEV: New default address for port 1 was > already in the address list. Please remove it first. > > I reviewed the DPDK code and found this patch: > https://mails.dpdk.org/archives/dev/2023-February/260884.html?utm_source=chatgpt.com > . > It requires the caller need to ensure that the new default address is > removed from the rest of the list if the address was already in the list. > Therefore, dpdk_set_mac_address should be adapted to handle the case where > the return value of rte_eth_dev_default_mac_addr_set is -EEXIST. > As follows > > static clib_error_t * > dpdk_set_mac_address (vnet_hw_interface_t * hi, > const u8 * old_address, const u8 * address) > { > int error; > dpdk_main_t *dm = &dpdk_main; > dpdk_device_t *xd = vec_elt_at_index (dm->devices, hi->dev_instance); > > error = rte_eth_dev_default_mac_addr_set (xd->port_id, (void *) address); > > /* > * rte_eth_dev_default_mac_addr_set() refuses to set a > * default MAC that already exists in the port's MAC address list and > * returns -EEXIST ("New default address for port %u was already in the > * address list. Please remove it first."). > * Follow the API's own guidance: remove the duplicate entry first, then > * retry setting it as the default MAC. > */ > if (error == -EEXIST) > { > int rem_rv = rte_eth_dev_mac_addr_remove (xd->port_id, (void *) > address); > if (rem_rv == 0) > error = rte_eth_dev_default_mac_addr_set (xd->port_id, (void *) > address); > } > > if (error) > { > return clib_error_return (0, "mac address set failed: %U", > format_dpdk_rte_err, error); > } > else > { > vec_reset_length (xd->default_mac_address); > vec_add (xd->default_mac_address, address, sizeof (mac_address_t)); > return NULL; > } > } > > vpp# show hardware-interfaces > Name Idx Link Hardware > BondEthernet0 4 up BondEthernet0 > Link speed: unknown > Ethernet address 6a:27:af:45:00:37 > Ethernet2 3 up Ethernet2 > Link speed: 10.000000 Gbps > RX Queues: > queue thread mode > 0 vpp_wk_0 (1) polling > TX Queues: > TX Hash: [name: hash-eth-l34 priority: 50 description: Hash > ethernet L34 headers] > queue shared thread(s) > 0 yes 0-1 > Ethernet address 20:00:20:00:20:00 > Nwfsock PMD > carrier up full duplex max-frame-size 0 > flags: admin-up maybe-multiseg int-unmaskable > Devargs: > iface=/tmp/nwfsock0,rx_appq_shared_file=/tmp/appq_rx_shared,nb_rxq=1,nb_txq=1,nb_rx_elems=8192,nb_tx_elems=8192,nb_paps=4,interrupt_mode=0 > rx: queues 1 (max 1), desc 4096 (min 0 max 65535 align 1) > tx: queues 1 (max 1), desc 4096 (min 0 max 65535 align 1) > max rx packet len: -1 > promiscuous: unicast off all-multicast off > vlan offload: strip off filter off qinq off > rx offload avail: scatter > rx offload active: scatter > tx offload avail: multi-segs > tx offload active: multi-segs > rss avail: none > rss active: none > tx burst function: nwfsock_tx > rx burst function: nwfsock_rx > > tx frames ok 999 > rx frames ok 1088 > extended stats: > rx_good_packets 1088 > tx_good_packets 999 > VirtualFunctionEthernet4b/0/4 1 up > VirtualFunctionEthernet4b/0/4 > Link speed: 100.000000 Gbps > RX Queues: > queue thread mode > 0 vpp_wk_0 (1) polling > TX Queues: > TX Hash: [name: hash-eth-l34 priority: 50 description: Hash > ethernet L34 headers] > queue shared thread(s) > 0 yes 0-1 > Ethernet address 6a:27:af:45:00:37 > Mellanox ConnectX-4/5/6 Family > carrier up full duplex max-frame-size 9022 > flags: admin-up maybe-multiseg tx-offload rx-ip4-cksum > Devargs: > rx: queues 1 (max 1024), desc 4096 (min 0 max 32768 align 1) > tx: queues 1 (max 1024), desc 4096 (min 0 max 32768 align 1) > pci: device 15b3:101e subsystem 15b3:0058 address 0000:4b:00.04 > numa 0 > switch info: name 0000:4b:00.4 domain id 0 port id 65535 > max rx packet len: 10000 > promiscuous: unicast off all-multicast on > vlan offload: strip off filter off qinq off > rx offload avail: vlan-strip ipv4-cksum udp-cksum tcp-cksum > tcp-lro > vlan-filter scatter timestamp rss-hash > buffer-split > rx offload active: ipv4-cksum scatter > tx offload avail: vlan-insert ipv4-cksum udp-cksum tcp-cksum > tcp-tso > outer-ipv4-cksum vxlan-tnl-tso gre-tnl-tso > geneve-tnl-tso > multi-segs mbuf-fast-free > tx offload active: ipv4-cksum udp-cksum tcp-cksum outer-ipv4-cksum > multi-segs > rss avail: ipv4-frag ipv4-tcp ipv4-udp ipv4-other ipv4 > ipv6-tcp-ex > ipv6-udp-ex ipv6-frag ipv6-tcp ipv6-udp > ipv6-other > ipv6-ex ipv6 esp l4-dst-only l4-src-only > l3-dst-only > l3-src-only > rss active: none > tx burst mode: Enhanced MPW + MULTI + TSO + SWP + CSUM + METADATA > tx burst function: mlx5_tx_burst_mtsc_empw > rx burst mode: Scalar > rx burst function: mlx5_rx_burst > > tx frames ok 837 > tx bytes ok 84140 > rx frames ok 850664 > rx bytes ok 60513528 > extended stats: > rx_good_packets 850664 > tx_good_packets 837 > rx_good_bytes 60513528 > tx_good_bytes 84140 > rx_q0_packets 850664 > rx_q0_bytes 60513528 > tx_q0_packets 837 > tx_q0_bytes 84140 > rx_unicast_bytes 655464 > rx_multicast_bytes 30477228 > rx_broadcast_bytes 32832256 > rx_unicast_packets 7039 > rx_multicast_packets 331382 > rx_broadcast_packets 513004 > tx_unicast_bytes 49732 > tx_multicast_bytes 70 > tx_broadcast_bytes 44880 > tx_unicast_packets 89 > tx_multicast_packets 1 > tx_broadcast_packets 748 > VirtualFunctionEthernet4b/1/2 2 up > VirtualFunctionEthernet4b/1/2 > Link speed: 100.000000 Gbps > RX Queues: > queue thread mode > 0 vpp_wk_0 (1) polling > TX Queues: > TX Hash: [name: hash-eth-l34 priority: 50 description: Hash > ethernet L34 headers] > queue shared thread(s) > 0 yes 0-1 > Ethernet address e2:9e:af:c2:11:dd > Mellanox ConnectX-4/5/6 Family > carrier up full duplex max-frame-size 9022 > flags: admin-up maybe-multiseg tx-offload rx-ip4-cksum > Devargs: > rx: queues 1 (max 1024), desc 4096 (min 0 max 32768 align 1) > tx: queues 1 (max 1024), desc 4096 (min 0 max 32768 align 1) > pci: device 15b3:101e subsystem 15b3:0058 address 0000:4b:01.02 > numa 0 > switch info: name 0000:4b:01.2 domain id 1 port id 65535 > max rx packet len: 10000 > promiscuous: unicast off all-multicast on > vlan offload: strip off filter off qinq off > rx offload avail: vlan-strip ipv4-cksum udp-cksum tcp-cksum > tcp-lro > vlan-filter scatter timestamp rss-hash > buffer-split > rx offload active: ipv4-cksum scatter > tx offload avail: vlan-insert ipv4-cksum udp-cksum tcp-cksum > tcp-tso > outer-ipv4-cksum vxlan-tnl-tso gre-tnl-tso > geneve-tnl-tso > multi-segs mbuf-fast-free > tx offload active: ipv4-cksum udp-cksum tcp-cksum outer-ipv4-cksum > multi-segs > rss avail: ipv4-frag ipv4-tcp ipv4-udp ipv4-other ipv4 > ipv6-tcp-ex > ipv6-udp-ex ipv6-frag ipv6-tcp ipv6-udp > ipv6-other > ipv6-ex ipv6 esp l4-dst-only l4-src-only > l3-dst-only > l3-src-only > rss active: none > tx burst mode: Enhanced MPW + MULTI + TSO + SWP + CSUM + METADATA > tx burst function: mlx5_tx_burst_mtsc_empw > rx burst mode: Scalar > rx burst function: mlx5_rx_burst > > tx frames ok 6303 > tx bytes ok 464122 > rx frames ok 844343 > rx bytes ok 59928887 > extended stats: > rx_good_packets 844343 > tx_good_packets 6303 > rx_good_bytes 59928887 > tx_good_bytes 464122 > rx_q0_packets 844343 > rx_q0_bytes 59928887 > tx_q0_packets 6303 > tx_q0_bytes 464122 > rx_unicast_bytes 191322 > rx_multicast_bytes 30476401 > rx_broadcast_bytes 32831232 > rx_unicast_packets 1492 > rx_multicast_packets 331376 > rx_broadcast_packets 512988 > tx_unicast_bytes 464122 > tx_multicast_bytes 70 > tx_unicast_packets 6303 > tx_multicast_packets 1 > > Thanks & Regards > Amelia > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#27197): https://lists.fd.io/g/vpp-dev/message/27197 Mute This Topic: https://lists.fd.io/mt/121193161/21656 Group Owner: [email protected] Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/14379924/21656/631435203/xyzzy [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
