All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Schultz <netdev@kapio-technology.com>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: "Andrew Lunn" <andrew@lunn.ch>,
	"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
	"Nikolay Aleksandrov" <razor@blackwall.org>,
	"Kurt Kanzenbach" <kurt@linutronix.de>,
	"Eric Dumazet" <edumazet@google.com>,
	"open list:KERNEL SELFTEST FRAMEWORK"
	<linux-kselftest@vger.kernel.org>,
	"Shuah Khan" <shuah@kernel.org>,
	"Ivan Vecera" <ivecera@redhat.com>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Ido Schimmel" <idosch@nvidia.com>,
	"moderated list:ETHERNET BRIDGE"
	<bridge@lists.linux-foundation.org>,
	"Roopa Prabhu" <roopa@nvidia.com>,
	kuba@kernel.org, "Paolo Abeni" <pabeni@redhat.com>,
	"Clément Léger" <clement.leger@bootlin.com>,
	"Christian Marangi" <ansuelsmth@gmail.com>,
	"Woojung Huh" <woojung.huh@microchip.com>,
	"Landen Chao" <Landen.Chao@mediatek.com>,
	"Jiri Pirko" <jiri@resnulli.us>,
	"Hauke Mehrtens" <hauke@hauke-m.de>,
	"Sean Wang" <sean.wang@mediatek.com>,
	"DENG Qingfang" <dqfext@gmail.com>,
	"Claudiu Manoil" <claudiu.manoil@nxp.com>,
	"moderated list:ARM/Mediatek SoC support"
	<linux-mediatek@lists.infradead.org>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	"moderated list:ARM/Mediatek SoC support"
	<linux-arm-kernel@lists.infradead.org>,
	"AngeloGioacchino Del Regno"
	<angelogioacchino.delregno@collabora.com>,
	netdev@vger.kernel.org,
	"open list" <linux-kernel@vger.kernel.org>,
	"maintainer:MICROCHIP KSZ SERIES ETHERNET SWITCH DRIVER"
	<UNGLinuxDriver@microchip.com>,
	"open list:RENESAS RZ/N1 A5PSW SWITCH DRIVER"
	<linux-renesas-soc@vger.kernel.org>,
	davem@davemloft.net
Subject: Re: [Bridge] [PATCH v2 net-next 2/6] net: dsa: propagate flags down towards drivers
Date: Mon, 27 Mar 2023 23:49:58 +0200	[thread overview]
Message-ID: <87pm8tooe1.fsf@kapio-technology.com> (raw)
In-Reply-To: <20230327160009.bdswnalizdv2u77z@skbuf>

On Mon, Mar 27, 2023 at 19:00, Vladimir Oltean <olteanv@gmail.com> wrote:
> A reasonable question you could ask yourself is: why do my BR_FDB_OFFLOADED
> entries have this flag in the software bridge in the first place?
> Did I add code for it? Is it because there is some difference between
> mv88e6xxx and ocelot/felix, or is it because dsa_fdb_offload_notify()
> gets called in both cases from generic code just the same?
>
> And if dsa_fdb_offload_notify() gets called in both cases just the same,
> but no other driver except for mv88e6xxx emits the SWITCHDEV_FDB_DEL_TO_BRIDGE
> which you've patched the bridge to expect in this series, then what exactly
> is surprising in the fact that offloaded and dynamic FDB entries now become
> stale, but are not removed from the software bridge as they were before?

Yes, I see I have missed that the dsa layer already adds the offloaded
flag in dsa_slave_switchdev_event_work() in slave.c.

My first approach was to use the SWITCHDEV_FDB_ADD_TO_BRIDGE event
and not the SWITCHDEV_FDB_OFFLOADED event as the first would set the
external learned flag which is not aged out by the bridge.
I have at some point earlier asked why there would be two quite
equivalent flags and what the difference between them are, but I didn't
get a response.

Now I see the difference and that I cannot use the offloaded flag
without changing the behaviour of the system as I actually change the
behaviour of the offloaded flag in this version of the patch-set.

So if the idea of a 'synthetically' learned fdb entry from the driver
using the SWITCHDEV_FDB_ADD_TO_BRIDGE event from the driver towards the
bridge instead is accepted, I can go with that?
(thus removing all the changes in the patch-set regarding the offloaded
flag ofcourse)

WARNING: multiple messages have this Message-ID (diff)
From: Hans Schultz <netdev@kapio-technology.com>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: davem@davemloft.net, kuba@kernel.org, netdev@vger.kernel.org,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Andrew Lunn" <andrew@lunn.ch>,
	"Eric Dumazet" <edumazet@google.com>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Kurt Kanzenbach" <kurt@linutronix.de>,
	"Hauke Mehrtens" <hauke@hauke-m.de>,
	"Woojung Huh" <woojung.huh@microchip.com>,
	"maintainer:MICROCHIP KSZ SERIES ETHERNET SWITCH DRIVER"
	<UNGLinuxDriver@microchip.com>,
	"Sean Wang" <sean.wang@mediatek.com>,
	"Landen Chao" <Landen.Chao@mediatek.com>,
	"DENG Qingfang" <dqfext@gmail.com>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	"AngeloGioacchino Del Regno"
	<angelogioacchino.delregno@collabora.com>,
	"Claudiu Manoil" <claudiu.manoil@nxp.com>,
	"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
	"Clément Léger" <clement.leger@bootlin.com>,
	"Jiri Pirko" <jiri@resnulli.us>,
	"Ivan Vecera" <ivecera@redhat.com>,
	"Roopa Prabhu" <roopa@nvidia.com>,
	"Nikolay Aleksandrov" <razor@blackwall.org>,
	"Shuah Khan" <shuah@kernel.org>,
	"Christian Marangi" <ansuelsmth@gmail.com>,
	"Ido Schimmel" <idosch@nvidia.com>,
	"open list" <linux-kernel@vger.kernel.org>,
	"moderated list:ARM/Mediatek SoC support"
	<linux-arm-kernel@lists.infradead.org>,
	"moderated list:ARM/Mediatek SoC support"
	<linux-mediatek@lists.infradead.org>,
	"open list:RENESAS RZ/N1 A5PSW SWITCH DRIVER"
	<linux-renesas-soc@vger.kernel.org>,
	"moderated list:ETHERNET BRIDGE"
	<bridge@lists.linux-foundation.org>,
	"open list:KERNEL SELFTEST FRAMEWORK"
	<linux-kselftest@vger.kernel.org>
Subject: Re: [PATCH v2 net-next 2/6] net: dsa: propagate flags down towards drivers
Date: Mon, 27 Mar 2023 23:49:58 +0200	[thread overview]
Message-ID: <87pm8tooe1.fsf@kapio-technology.com> (raw)
In-Reply-To: <20230327160009.bdswnalizdv2u77z@skbuf>

On Mon, Mar 27, 2023 at 19:00, Vladimir Oltean <olteanv@gmail.com> wrote:
> A reasonable question you could ask yourself is: why do my BR_FDB_OFFLOADED
> entries have this flag in the software bridge in the first place?
> Did I add code for it? Is it because there is some difference between
> mv88e6xxx and ocelot/felix, or is it because dsa_fdb_offload_notify()
> gets called in both cases from generic code just the same?
>
> And if dsa_fdb_offload_notify() gets called in both cases just the same,
> but no other driver except for mv88e6xxx emits the SWITCHDEV_FDB_DEL_TO_BRIDGE
> which you've patched the bridge to expect in this series, then what exactly
> is surprising in the fact that offloaded and dynamic FDB entries now become
> stale, but are not removed from the software bridge as they were before?

Yes, I see I have missed that the dsa layer already adds the offloaded
flag in dsa_slave_switchdev_event_work() in slave.c.

My first approach was to use the SWITCHDEV_FDB_ADD_TO_BRIDGE event
and not the SWITCHDEV_FDB_OFFLOADED event as the first would set the
external learned flag which is not aged out by the bridge.
I have at some point earlier asked why there would be two quite
equivalent flags and what the difference between them are, but I didn't
get a response.

Now I see the difference and that I cannot use the offloaded flag
without changing the behaviour of the system as I actually change the
behaviour of the offloaded flag in this version of the patch-set.

So if the idea of a 'synthetically' learned fdb entry from the driver
using the SWITCHDEV_FDB_ADD_TO_BRIDGE event from the driver towards the
bridge instead is accepted, I can go with that?
(thus removing all the changes in the patch-set regarding the offloaded
flag ofcourse)

WARNING: multiple messages have this Message-ID (diff)
From: Hans Schultz <netdev@kapio-technology.com>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: davem@davemloft.net, kuba@kernel.org, netdev@vger.kernel.org,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Andrew Lunn" <andrew@lunn.ch>,
	"Eric Dumazet" <edumazet@google.com>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Kurt Kanzenbach" <kurt@linutronix.de>,
	"Hauke Mehrtens" <hauke@hauke-m.de>,
	"Woojung Huh" <woojung.huh@microchip.com>,
	"maintainer:MICROCHIP KSZ SERIES ETHERNET SWITCH DRIVER"
	<UNGLinuxDriver@microchip.com>,
	"Sean Wang" <sean.wang@mediatek.com>,
	"Landen Chao" <Landen.Chao@mediatek.com>,
	"DENG Qingfang" <dqfext@gmail.com>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	"AngeloGioacchino Del Regno"
	<angelogioacchino.delregno@collabora.com>,
	"Claudiu Manoil" <claudiu.manoil@nxp.com>,
	"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
	"Clément Léger" <clement.leger@bootlin.com>,
	"Jiri Pirko" <jiri@resnulli.us>,
	"Ivan Vecera" <ivecera@redhat.com>,
	"Roopa Prabhu" <roopa@nvidia.com>,
	"Nikolay Aleksandrov" <razor@blackwall.org>,
	"Shuah Khan" <shuah@kernel.org>,
	"Christian Marangi" <ansuelsmth@gmail.com>,
	"Ido Schimmel" <idosch@nvidia.com>,
	"open list" <linux-kernel@vger.kernel.org>,
	"moderated list:ARM/Mediatek SoC support"
	<linux-arm-kernel@lists.infradead.org>,
	"moderated list:ARM/Mediatek SoC support"
	<linux-mediatek@lists.infradead.org>,
	"open list:RENESAS RZ/N1 A5PSW SWITCH DRIVER"
	<linux-renesas-soc@vger.kernel.org>,
	"moderated list:ETHERNET BRIDGE"
	<bridge@lists.linux-foundation.org>,
	"open list:KERNEL SELFTEST FRAMEWORK"
	<linux-kselftest@vger.kernel.org>
Subject: Re: [PATCH v2 net-next 2/6] net: dsa: propagate flags down towards drivers
Date: Mon, 27 Mar 2023 23:49:58 +0200	[thread overview]
Message-ID: <87pm8tooe1.fsf@kapio-technology.com> (raw)
In-Reply-To: <20230327160009.bdswnalizdv2u77z@skbuf>

On Mon, Mar 27, 2023 at 19:00, Vladimir Oltean <olteanv@gmail.com> wrote:
> A reasonable question you could ask yourself is: why do my BR_FDB_OFFLOADED
> entries have this flag in the software bridge in the first place?
> Did I add code for it? Is it because there is some difference between
> mv88e6xxx and ocelot/felix, or is it because dsa_fdb_offload_notify()
> gets called in both cases from generic code just the same?
>
> And if dsa_fdb_offload_notify() gets called in both cases just the same,
> but no other driver except for mv88e6xxx emits the SWITCHDEV_FDB_DEL_TO_BRIDGE
> which you've patched the bridge to expect in this series, then what exactly
> is surprising in the fact that offloaded and dynamic FDB entries now become
> stale, but are not removed from the software bridge as they were before?

Yes, I see I have missed that the dsa layer already adds the offloaded
flag in dsa_slave_switchdev_event_work() in slave.c.

My first approach was to use the SWITCHDEV_FDB_ADD_TO_BRIDGE event
and not the SWITCHDEV_FDB_OFFLOADED event as the first would set the
external learned flag which is not aged out by the bridge.
I have at some point earlier asked why there would be two quite
equivalent flags and what the difference between them are, but I didn't
get a response.

Now I see the difference and that I cannot use the offloaded flag
without changing the behaviour of the system as I actually change the
behaviour of the offloaded flag in this version of the patch-set.

So if the idea of a 'synthetically' learned fdb entry from the driver
using the SWITCHDEV_FDB_ADD_TO_BRIDGE event from the driver towards the
bridge instead is accepted, I can go with that?
(thus removing all the changes in the patch-set regarding the offloaded
flag ofcourse)

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-03-27 21:49 UTC|newest]

Thread overview: 129+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-18 14:10 [Bridge] [PATCH v2 net-next 0/6] ATU and FDB synchronization on locked ports Hans J. Schultz
2023-03-18 14:10 ` Hans J. Schultz
2023-03-18 14:10 ` Hans J. Schultz
2023-03-18 14:10 ` [Bridge] [PATCH v2 net-next 1/6] net: bridge: add dynamic flag to switchdev notifier Hans J. Schultz
2023-03-18 14:10   ` Hans J. Schultz
2023-03-18 14:10   ` Hans J. Schultz
2023-03-20  8:48   ` [Bridge] " Ido Schimmel
2023-03-20  8:48     ` Ido Schimmel
2023-03-20  8:48     ` Ido Schimmel
2023-03-24 13:04     ` [Bridge] " Hans Schultz
2023-03-24 13:04       ` Hans Schultz
2023-03-24 13:04       ` Hans Schultz
2023-03-18 14:10 ` [Bridge] [PATCH v2 net-next 2/6] net: dsa: propagate flags down towards drivers Hans J. Schultz
2023-03-18 14:10   ` Hans J. Schultz
2023-03-18 14:10   ` Hans J. Schultz
2023-03-27 11:52   ` [Bridge] " Vladimir Oltean
2023-03-27 11:52     ` Vladimir Oltean
2023-03-27 11:52     ` Vladimir Oltean
2023-03-27 15:31     ` [Bridge] " Hans Schultz
2023-03-27 15:31       ` Hans Schultz
2023-03-27 15:31       ` Hans Schultz
2023-03-27 16:00       ` [Bridge] " Vladimir Oltean
2023-03-27 16:00         ` Vladimir Oltean
2023-03-27 16:00         ` Vladimir Oltean
2023-03-27 21:49         ` Hans Schultz [this message]
2023-03-27 21:49           ` Hans Schultz
2023-03-27 21:49           ` Hans Schultz
2023-03-27 22:59           ` [Bridge] " Vladimir Oltean
2023-03-27 22:59             ` Vladimir Oltean
2023-03-27 22:59             ` Vladimir Oltean
2023-03-28 11:04             ` [Bridge] " Hans Schultz
2023-03-28 11:04               ` Hans Schultz
2023-03-28 11:04               ` Hans Schultz
2023-03-28 11:49               ` [Bridge] " Vladimir Oltean
2023-03-28 11:49                 ` Vladimir Oltean
2023-03-28 11:49                 ` Vladimir Oltean
2023-03-28 19:45                 ` [Bridge] " Hans Schultz
2023-03-28 19:45                   ` Hans Schultz
2023-03-28 19:45                   ` Hans Schultz
2023-03-30 12:43                   ` [Bridge] " Vladimir Oltean
2023-03-30 12:43                     ` Vladimir Oltean
2023-03-30 12:43                     ` Vladimir Oltean
2023-03-30 12:59                     ` [Bridge] " Hans Schultz
2023-03-30 12:59                       ` Hans Schultz
2023-03-30 12:59                       ` Hans Schultz
2023-03-30 13:09                       ` [Bridge] " Vladimir Oltean
2023-03-30 13:09                         ` Vladimir Oltean
2023-03-30 13:09                         ` Vladimir Oltean
2023-03-30 14:54                         ` [Bridge] " Hans Schultz
2023-03-30 14:54                           ` Hans Schultz
2023-03-30 14:54                           ` Hans Schultz
2023-03-30 15:07                           ` [Bridge] " Vladimir Oltean
2023-03-30 15:07                             ` Vladimir Oltean
2023-03-30 15:07                             ` Vladimir Oltean
2023-03-30 15:34                             ` [Bridge] " Hans Schultz
2023-03-30 15:34                               ` Hans Schultz
2023-03-30 15:34                               ` Hans Schultz
2023-03-30 15:44                               ` [Bridge] " Vladimir Oltean
2023-03-30 15:44                                 ` Vladimir Oltean
2023-03-30 15:44                                 ` Vladimir Oltean
2023-04-06 15:17                             ` [Bridge] " Hans Schultz
2023-04-06 15:17                               ` Hans Schultz
2023-04-06 15:17                               ` Hans Schultz
2023-04-06 15:21                               ` [Bridge] " Vladimir Oltean
2023-04-06 15:21                                 ` Vladimir Oltean
2023-04-06 15:21                                 ` Vladimir Oltean
2023-04-06 16:20                                 ` [Bridge] " Hans Schultz
2023-04-06 16:20                                   ` Hans Schultz
2023-04-06 16:20                                   ` Hans Schultz
2023-03-18 14:10 ` [Bridge] [PATCH v2 net-next 3/6] drivers: net: dsa: add fdb entry flags incoming to switchcore drivers Hans J. Schultz
2023-03-18 14:10   ` Hans J. Schultz
2023-03-18 14:10   ` Hans J. Schultz
2023-03-18 14:10 ` [Bridge] [PATCH v2 net-next 4/6] net: bridge: ensure FDB offloaded flag is handled as needed Hans J. Schultz
2023-03-18 14:10   ` Hans J. Schultz
2023-03-18 14:10   ` Hans J. Schultz
2023-03-18 14:10 ` [Bridge] [PATCH v2 net-next 5/6] net: dsa: mv88e6xxx: implementation of dynamic ATU entries Hans J. Schultz
2023-03-18 14:10   ` Hans J. Schultz
2023-03-18 14:10   ` Hans J. Schultz
2023-03-18 14:10 ` [Bridge] [PATCH v2 net-next 6/6] selftests: forwarding: add dynamic FDB test Hans J. Schultz
2023-03-18 14:10   ` Hans J. Schultz
2023-03-18 14:10   ` Hans J. Schultz
2023-03-20  8:44   ` [Bridge] " Ido Schimmel
2023-03-20  8:44     ` Ido Schimmel
2023-03-20  8:44     ` Ido Schimmel
2023-03-26 15:41     ` [Bridge] " Hans Schultz
2023-03-26 15:41       ` Hans Schultz
2023-03-26 15:41       ` Hans Schultz
2023-03-28 16:40       ` [Bridge] " Ido Schimmel
2023-03-28 16:40         ` Ido Schimmel
2023-03-28 16:40         ` Ido Schimmel
2023-03-28 19:30         ` [Bridge] " Hans Schultz
2023-03-28 19:30           ` Hans Schultz
2023-03-28 19:30           ` Hans Schultz
2023-03-30  6:37           ` [Bridge] " Ido Schimmel
2023-03-30  6:37             ` Ido Schimmel
2023-03-30  6:37             ` Ido Schimmel
2023-03-30 10:29             ` [Bridge] " Hans Schultz
2023-03-30 10:29               ` Hans Schultz
2023-03-30 10:29               ` Hans Schultz
2023-03-30 10:45               ` [Bridge] " Nikolay Aleksandrov
2023-03-30 10:45                 ` Nikolay Aleksandrov
2023-03-30 10:45                 ` Nikolay Aleksandrov
2023-03-30 19:07         ` [Bridge] " Hans Schultz
2023-03-30 19:07           ` Hans Schultz
2023-03-30 19:07           ` Hans Schultz
2023-03-30 19:27           ` [Bridge] " Vladimir Oltean
2023-03-30 19:27             ` Vladimir Oltean
2023-03-30 19:27             ` Vladimir Oltean
2023-03-31  7:43             ` [Bridge] " Hans Schultz
2023-03-31  7:43               ` Hans Schultz
2023-03-31  7:43               ` Hans Schultz
2023-03-31  8:58               ` [Bridge] " Vladimir Oltean
2023-03-31  8:58                 ` Vladimir Oltean
2023-03-31  8:58                 ` Vladimir Oltean
2023-03-31  8:06             ` [Bridge] " Hans Schultz
2023-03-31  8:06               ` Hans Schultz
2023-03-31  8:06               ` Hans Schultz
2023-03-31  9:37               ` [Bridge] " Vladimir Oltean
2023-03-31  9:37                 ` Vladimir Oltean
2023-03-31  9:37                 ` Vladimir Oltean
2023-03-31 12:43                 ` [Bridge] " Hans Schultz
2023-03-31 12:43                   ` Hans Schultz
2023-03-31 12:43                   ` Hans Schultz
2023-04-06 15:24                   ` [Bridge] " Vladimir Oltean
2023-04-06 15:24                     ` Vladimir Oltean
2023-04-06 15:24                     ` Vladimir Oltean
2023-04-06 16:26                     ` [Bridge] " Hans Schultz
2023-04-06 16:26                       ` Hans Schultz
2023-04-06 16:26                       ` Hans Schultz

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=87pm8tooe1.fsf@kapio-technology.com \
    --to=netdev@kapio-technology.com \
    --cc=Landen.Chao@mediatek.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=andrew@lunn.ch \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=ansuelsmth@gmail.com \
    --cc=bridge@lists.linux-foundation.org \
    --cc=claudiu.manoil@nxp.com \
    --cc=clement.leger@bootlin.com \
    --cc=davem@davemloft.net \
    --cc=dqfext@gmail.com \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=hauke@hauke-m.de \
    --cc=idosch@nvidia.com \
    --cc=ivecera@redhat.com \
    --cc=jiri@resnulli.us \
    --cc=kuba@kernel.org \
    --cc=kurt@linutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=matthias.bgg@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=razor@blackwall.org \
    --cc=roopa@nvidia.com \
    --cc=sean.wang@mediatek.com \
    --cc=shuah@kernel.org \
    --cc=woojung.huh@microchip.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.