DPDK usage discussions
 help / color / mirror / Atom feed
From: Viktor Vasiliev <vasiliev-viktor@protei-lab.ru>
To: users@dpdk.org
Subject: bond mode 8023ad LACP system id changes when link goes down
Date: Mon, 30 Jan 2023 14:27:39 +0300	[thread overview]
Message-ID: <ef9003ac-905e-a820-8f0e-9d694a7a97f6@protei-lab.ru> (raw)

Hello,

I have troubles with bond mode 8023ad. I have two bonded network 
adapters connected to my router. When one of router's ports goes down 
and second port continues working, then LACP system id is changed. As a 
result, I got the message: "preferred partner system not equal self 
system". I expect that system id should not change in this case. I tried 
to set bond mac using rte_eth_bond_mac_address_set, but it did not help. 
The system id in LACP frames was copied from mac address of physical 
network adapter. I've looked at DPDK source code, 
drivers/net/bonding/rte_eth_bond_8023ad.c, functions 
bond_mode_8023ad_mac_address_update and bond_mode_8023ad_periodic_cb, 
and found this call:

rte_ether_addr_copy(&slave_addr, &port->actor.system);

where slave_addr is the mac address of physical network adapter. So, 
there's no chance to use manually assigned bond mac as actor system id. 
I've modified the sources like this and rebuild DPDK:

rte_ether_addr_copy(/*&slave_addr*/ &(bond_dev->data->mac_addrs[0]), 
&slave->actor.system);

Now it works, bond mac is used as actor system id in LACP frames, and 
there's no "preferred partner system not equal self system" message.

Please tell if there's another way to achieve my goal, or modifying DPDK 
sources is the only solution. If so, is it a bug in DPDK?

Thank you in advance,

Viktor Vasiliev


                 reply	other threads:[~2023-02-02  8:39 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ef9003ac-905e-a820-8f0e-9d694a7a97f6@protei-lab.ru \
    --to=vasiliev-viktor@protei-lab.ru \
    --cc=users@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).