All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jamal Hadi Salim <jhs@mojatatu.com>
To: sfeldma@gmail.com, netdev@vger.kernel.org
Cc: jiri@resnulli.us, roopa@cumulusnetworks.com, linux@roeck-us.net,
	f.fainelli@gmail.com, sridhar.samudrala@intel.com,
	ronen.arad@intel.com
Subject: Re: [PATCH net-next v2 01/26] switchdev: introduce get/set attrs ops
Date: Wed, 01 Apr 2015 08:19:00 -0400	[thread overview]
Message-ID: <551BE234.2060308@mojatatu.com> (raw)
In-Reply-To: <1427882882-2533-2-git-send-email-sfeldma@gmail.com>

On 04/01/15 06:07, sfeldma@gmail.com wrote:
> From: Scott Feldman <sfeldma@gmail.com>
>
> Add two new swdev ops for get/set switch port attributes.  Most swdev
> interactions on a port are gets or sets on port attributes, so rather than
> adding ops for each attribute, let's define clean get/set ops for all
> attributes, and then we can have clear, consistent rules on how attributes
> propagate on stacked devs.
>
> Add the basic algorithms for get/set attr ops.  Use the same recusive algo to
> walk lower devs we've used for STP updates, for example.  For get, compare attr
> value for each lower dev and only return success if attr values match across
> all lower devs.

So this GET is very specific? All underlying children have to have the
exact same value?
My impression of GET is, depending on the target object, i retrieve
one thing or a lot of things that probably user space is asking for.
I wasnt getting that impression looking at this code.

  For sets, set the same attr value for all lower devs.  If
> something goes wrong on one of the lower devs, revert all back to previous attr
> value.

And from staring at the code - the reverting could fail as well..

>
> If lower dev recusion isn't desired, allow a flag SWDEV_F_NO_RECURSE to
> indicate get/set only work on port (lowest) device.
>
> On set, allow a flag SWDEV_F_NO_RECOVER to turn off automatic err recovery.
>


uh-oh did i read that last one correctly?;-> I dont see it in the code
but are you now allowing for policy to dictate whether we want something
atomic or not? That should be a generic much higher level flag imo.
Note, I am for supporting the different scenarios but i thought
the initial approach was all transactions are atomic (all-or-nothing).

Also why invent new namespace for these switch attributes? They all seem
to have netlink IDs already. I note in patches afterwards are using the
netlink IDs.

cheers,
jamal

  reply	other threads:[~2015-04-01 12:19 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-01 10:07 [PATCH net-next v2 00/26] switchdev: spring cleanup sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 01/26] switchdev: introduce get/set attrs ops sfeldma
2015-04-01 12:19   ` Jamal Hadi Salim [this message]
2015-04-01 18:08   ` David Miller
2015-04-02  7:43     ` Scott Feldman
2015-04-02 16:05       ` David Miller
2015-04-02 17:38         ` Scott Feldman
2015-04-02 17:54           ` David Miller
2015-04-02 18:43           ` Andrew Lunn
2015-04-01 10:07 ` [PATCH net-next v2 02/26] switchdev: convert parent_id_get to swdev attr get sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 03/26] switchdev: convert STP update to swdev attr set sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 04/26] switchdev: add bridge port flags attr sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 05/26] rocker: use swdev get/set attr for bridge port flags sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 06/26] switchdev: introduce swdev add/del obj ops sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 07/26] switchdev: add port vlan obj sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 08/26] rocker: use swdev add/del obj for bridge port vlans sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 09/26] switchdev: add new swdev bridge setlink sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 10/26] rocker: cut over to new swdev_port_bridge_setlink sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 11/26] bonding: " sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 12/26] team: " sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 13/26] switchdev: remove old netdev_switch_port_bridge_setlink sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 14/26] switchdev: add new swdev_port_bridge_dellink sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 15/26] rocker: cut over to " sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 16/26] bonding: " sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 17/26] team: " sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 18/26] switchdev: remove unused netdev_switch_port_bridge_dellink sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 19/26] switchdev: add new swdev_port_bridge_getlink sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 20/26] rocker: cut over to " sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 21/26] bonding: " sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 22/26] team: " sfeldma
2015-04-01 10:07 ` [PATCH net-next v2 23/26] switchdev: rename netdev_switch_fib_* to swdev_fib_* sfeldma
2015-04-01 10:08 ` [PATCH net-next v2 24/26] switchdev: rename netdev_switch_notifier_* to swdev_notifier_* sfeldma
2015-04-01 10:08 ` [PATCH net-next v2 25/26] switchdev: convert swdev_fib_ipv4_add/del over to swdev_port_obj_add/del sfeldma
2015-04-01 11:47   ` Jiri Pirko
2015-04-01 15:05   ` roopa
2015-04-01 16:05     ` Jiri Pirko
2015-04-03 18:00       ` Florian Fainelli
2015-04-06 21:56         ` Scott Feldman
2015-04-01 10:08 ` [PATCH net-next v2 26/26] switchdev: bring documentation up-to-date sfeldma
2015-04-01 11:40 ` [PATCH net-next v2 00/26] switchdev: spring cleanup Jiri Pirko
2015-04-01 18:02   ` Scott Feldman
2015-04-02  6:06     ` Jiri Pirko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=551BE234.2060308@mojatatu.com \
    --to=jhs@mojatatu.com \
    --cc=f.fainelli@gmail.com \
    --cc=jiri@resnulli.us \
    --cc=linux@roeck-us.net \
    --cc=netdev@vger.kernel.org \
    --cc=ronen.arad@intel.com \
    --cc=roopa@cumulusnetworks.com \
    --cc=sfeldma@gmail.com \
    --cc=sridhar.samudrala@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.