lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ