[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAGfWUPyDERLKTi2MSNY1ero7maFHAXmbZo11V5SFPkaCsC4J2A@mail.gmail.com>
Date: Thu, 25 Jan 2024 15:11:39 -0800
From: Aahil Awatramani <aahila@...gle.com>
To: David Ahern <dsahern@...il.com>
Cc: Mahesh Bandewar <maheshb@...gle.com>, David Dillow <dillow@...gle.com>,
Jay Vosburgh <j.vosburgh@...il.com>, Hangbin Liu <liuhangbin@...il.com>, netdev@...r.kernel.org
Subject: Re: [PATCH] ip/bond: add coupled_control support
> This patch needs to be targeted at iproute2-next
> parse_on_off
> print_on_off
Thank you for your feedback. I have modified the patch name. I have
also dropped uapi and implemented the use of print_on_off and
parse_on_off for coupled_control as per David's suggestion.
On Thu, Jan 25, 2024 at 10:08 AM David Ahern <dsahern@...il.com> wrote:
>
> On 1/24/24 5:38 PM, Aahil Awatramani wrote:
> > diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h
> > index d17271fb..ff4ceeaf 100644
> > --- a/include/uapi/linux/if_link.h
> > +++ b/include/uapi/linux/if_link.h
> > @@ -1503,6 +1503,7 @@ enum {
> > IFLA_BOND_AD_LACP_ACTIVE,
> > IFLA_BOND_MISSED_MAX,
> > IFLA_BOND_NS_IP6_TARGET,
> > + IFLA_BOND_COUPLED_CONTROL,
> > __IFLA_BOND_MAX,
> > };
> >
>
> at best uapi changes should be a separate patch which gets dropped when
> we sync headers with the kernel.
>
> > diff --git a/ip/iplink_bond.c b/ip/iplink_bond.c
> > index 214244da..68bc157a 100644
> > --- a/ip/iplink_bond.c
> > +++ b/ip/iplink_bond.c
> > @@ -176,7 +184,7 @@ static int bond_parse_opt(struct link_util *lu, int argc, char **argv,
> > {
> > __u8 mode, use_carrier, primary_reselect, fail_over_mac;
> > __u8 xmit_hash_policy, num_peer_notif, all_slaves_active;
> > - __u8 lacp_active, lacp_rate, ad_select, tlb_dynamic_lb;
> > + __u8 lacp_active, lacp_rate, ad_select, tlb_dynamic_lb, coupled_control;
> > __u16 ad_user_port_key, ad_actor_sys_prio;
> > __u32 miimon, updelay, downdelay, peer_notify_delay, arp_interval, arp_validate;
> > __u32 arp_all_targets, resend_igmp, min_links, lp_interval;
> > @@ -367,6 +375,13 @@ static int bond_parse_opt(struct link_util *lu, int argc, char **argv,
> >
> > lacp_active = get_index(lacp_active_tbl, *argv);
> > addattr8(n, 1024, IFLA_BOND_AD_LACP_ACTIVE, lacp_active);
> > + } else if (strcmp(*argv, "coupled_control") == 0) {
> > + NEXT_ARG();
> > + if (get_index(coupled_control_tbl, *argv) < 0)
> > + invarg("invalid coupled_control", *argv);
> > +
> > + coupled_control = get_index(coupled_control_tbl, *argv);
>
> parse_on_off
>
> > + addattr8(n, 1024, IFLA_BOND_COUPLED_CONTROL, coupled_control);
> > } else if (matches(*argv, "ad_select") == 0) {
> > NEXT_ARG();
> > if (get_index(ad_select_tbl, *argv) < 0)
> > @@ -659,6 +674,15 @@ static void bond_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
> > lacp_rate);
> > }
> >
> > + if (tb[IFLA_BOND_COUPLED_CONTROL]) {
> > + const char *coupled_control = get_name(coupled_control_tbl,
> > + rta_getattr_u8(tb[IFLA_BOND_COUPLED_CONTROL]));
> > + print_string(PRINT_ANY,
> > + "coupled_control",
> > + "coupled_control %s ",
> > + coupled_control);
>
> print_on_off
>
> > + }
> > +
> > if (tb[IFLA_BOND_AD_SELECT]) {
> > const char *ad_select = get_name(ad_select_tbl,
> > rta_getattr_u8(tb[IFLA_BOND_AD_SELECT]));
>
> pw-bot: cr
Powered by blists - more mailing lists