Hangbin Liu <liuhangbin@xxxxxxxxx> wrote: >On Thu, Aug 28, 2025 at 09:59:20AM -0700, Jay Vosburgh wrote: >> Hangbin Liu <liuhangbin@xxxxxxxxx> wrote: >> >> >On Wed, Aug 27, 2025 at 11:43:19AM -0700, Jay Vosburgh wrote: >> >> Hangbin Liu <liuhangbin@xxxxxxxxx> wrote: >> >> >> >> >Add support for the actor_port_prio option for bond slaves. >> >> >This per-port priority can be used by the bonding driver in ad_select to >> >> >choose the higher-priority aggregator during failover. >> >> > >> >> >Signed-off-by: Hangbin Liu <liuhangbin@xxxxxxxxx> >> >> >--- >> >> >v4: no update >> >> >v3: rename ad_actor_port_prio to actor_port_prio >> >> >v2: no update >> >> >--- >> >> > ip/iplink_bond.c | 1 + >> >> > ip/iplink_bond_slave.c | 18 ++++++++++++++++-- >> >> > man/man8/ip-link.8.in | 6 ++++++ >> >> > 3 files changed, 23 insertions(+), 2 deletions(-) >> >> > >> >> >diff --git a/ip/iplink_bond.c b/ip/iplink_bond.c >> >> >index d6960f6d9b03..1a2c1b3042a0 100644 >> >> >--- a/ip/iplink_bond.c >> >> >+++ b/ip/iplink_bond.c >> >> >@@ -91,6 +91,7 @@ static const char *ad_select_tbl[] = { >> >> > "stable", >> >> > "bandwidth", >> >> > "count", >> >> >+ "prio", >> >> >> >> Should this be actor_port_prio? >> > >> >hmm, actor_port_prio correspond to the ip link option name, which is also >> >acceptable. >> >> Isn't this the text of the ip link option name right here (in >> the sense of what goes on the "ip link" command line)? > >"stable", "bandwidth", "count" are not ip link parameters, and same with >kernel names, so I also used the kernel name "prio" here. Perhaps I wasn't explaining sufficiently; I mean that the text in ad_select_tbl[] is where the name of the option settings comes from for ip link whatever commands. E.g., If I do something like ip link add dev bond0 type bond [...] ad_select rutabaga The "rutabaga" text is being compared to the elements of ad_select_tbl[], correct? Anyway, what I meant is that I think setting this new priority option should look something like: ip link add dev bond0 type bond [...] ad_select actor_port_prio So that it's called the same thing everwhere, and it matches the nomenclature used in the standard. -J >> >While in kernel, we defined the select policy as >> > >> > { "stable", BOND_AD_STABLE, BOND_VALFLAG_DEFAULT}, >> > { "bandwidth", BOND_AD_BANDWIDTH, 0}, >> > { "count", BOND_AD_COUNT, 0}, >> >+ { "prio", BOND_AD_PRIO, 0}, >> >> Maybe my memory is starting to go, but I thought in a prior >> discussion we'd agreed to change this as well for consistency. > >Maybe I didn't get your comment[1] correctly. I only changed >`ad_actor_port_prio` to `actor_port_prio` last time. > >> >> >So I think the prio here should also be OK. >> > >> >You can decide which one to use. >> >> I would prefer that the two options have discrete names, or, >> really, that we not repeat "prio" as it's already used elsewhere. Plus, >> who knows, maybe in the future we'll have another priority option. > >OK, do not use same name for different usage. I will also change the "prio" >to "actor_port_prio" in next patch. > >[1] https://lore.kernel.org/netdev/1109153.1755380673@famine/ > >Thanks >Hangbin --- -Jay Vosburgh, jv@xxxxxxxxxxxxx