[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YlaFvqh+Fo4R2Rnt@Laptop-X1>
Date: Wed, 13 Apr 2022 16:11:42 +0800
From: Hangbin Liu <liuhangbin@...il.com>
To: Jay Vosburgh <jay.vosburgh@...onical.com>
Cc: Jonathan Toppins <jtoppins@...hat.com>, netdev@...r.kernel.org,
Veaceslav Falico <vfalico@...il.com>,
Andy Gospodarek <andy@...yhouse.net>,
"David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
David Ahern <dsahern@...il.com>,
Nikolay Aleksandrov <nikolay@...dia.com>,
Eric Dumazet <eric.dumazet@...il.com>,
Paolo Abeni <pabeni@...hat.com>
Subject: Re: [PATCH net-next] Bonding: add per port priority support
On Tue, Apr 12, 2022 at 01:04:46PM -0400, Jonathan Toppins wrote:
> > Presuming that you mean creating a sub-struct here and moving
> > some set of members of struct slave into it, I'm not sure I see the
> > benefit, as it would only exist here and not really be an independent
> > object. Am I misunderstanding?
>
> You are understanding correctly. The goal of this work is to eventually port
> the majority of the per-port parameters that exist in teaming to bonding, we
> have not determined the entire set that make sense. Thus there will be more
Hi Jay,
As Jon said, I'm working to implement/import teaming specific features to
bonding, so users could have more choice. One import feature teaming has is
per-port parameters/configurations. A part of the per-port configs are
queue_id, prio, lacp_prio, lacp_key, etc. Most of the configs are link_watch
parameters. Which means each port/slave has it's own delay up, delay down,
interval, arp targets, etc. We are still discussing if bonding need all of
them or just a part.
Do you see if it's valuable to add all the per-port link watch configurations
to bonding?
Thanks
Hangbin
> than just port priority as a userspace configurable option. So I was
> attempting to ask if modeling the initial setting of these parameters like
> how `bonding_defaults` is used, made sense.
>
> file: drivers/net/bonding/bond_main.c:
> void bond_setup(struct net_device *bond_dev)
> {
> struct bonding *bond = netdev_priv(bond_dev);
>
> spin_lock_init(&bond->mode_lock);
> bond->params = bonding_defaults;
> ...
>
>
> We can always refactor this area when there is another option that needs
> setting.
>
> -Jon
>
Powered by blists - more mailing lists