On Thu, Aug 14, 2025 at 01:46:10PM +0200, Jonas Gorski wrote: > > @@ -2211,6 +2212,7 @@ void bond_3ad_bind_slave(struct slave *slave) > > port->actor_admin_port_key = bond->params.ad_user_port_key << 6; > > ad_update_actor_keys(port, false); > > /* actor system is the bond's system */ > > + SLAVE_AD_INFO(slave)->port_priority = port->actor_port_priority; > > I don't know the code flow well, but the assignment direction here is the > opposite of other values, e.g. > > port->actor_port_number = SLAVE_AD_INFO(slave)->id; > > so I would have expected this to be > > port->actor_port_priority = SLAVE_AD_INFO(slave)->port_priority; > > Is this intentional? The port priority is initialized in ad_initialize_port() a few lines before. Here is intend to update the port_priority in slave info, so user could get correct port priority via ip link, other wise the user will got 0 priority. I can add a comment for this line. > > @@ -77,6 +78,10 @@ static int bond_fill_slave_info(struct sk_buff *skb, > > ad_port->partner_oper.port_state)) > > goto nla_put_failure; > > } > > + > > + if (nla_put_u16(skb, IFLA_BOND_SLAVE_AD_ACTOR_PORT_PRIO, > > + SLAVE_AD_INFO(slave)->port_priority)) > > + goto nla_put_failure; > > > This is an 802.3ad (exclusive) setting, shouldn't this be in the > > if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) { } Hmm, the data in this blocks are read only values. I thought the actor priority is changeable, so I put it outside the block. But on the other hand, it makes sense to only show the value with 802.3ad mode. I will update the code. Thanks Hangbin