From: Oleksij Rempel <o.rempel@pengutronix.de>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: "Woojung Huh" <woojung.huh@microchip.com>,
"Andrew Lunn" <andrew@lunn.ch>,
"Arun Ramadoss" <arun.ramadoss@microchip.com>,
"Florian Fainelli" <f.fainelli@gmail.com>,
"Simon Horman" <horms@kernel.org>,
netdev@vger.kernel.org, "David Ahern" <dsahern@kernel.org>,
linux-kernel@vger.kernel.org, UNGLinuxDriver@microchip.com,
"Eric Dumazet" <edumazet@google.com>,
"Willem de Bruijn" <willemb@google.com>,
kernel@pengutronix.de, "Søren Andersen" <san@skov.dk>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH net-next v6 5/9] net: dsa: microchip: add support for different DCB app configurations
Date: Thu, 11 Apr 2024 08:48:04 +0200 [thread overview]
Message-ID: <ZheHpK7egVvszSQF@pengutronix.de> (raw)
In-Reply-To: <20240410231251.macw4i46jfi57wtc@skbuf>
Hi Vladimir,
On Thu, Apr 11, 2024 at 02:12:51AM +0300, Vladimir Oltean wrote:
> > +/**
> > + * ksz_dcb_init - Initializes the DCB configuration for a KSZ switch
> > + * @dev: Pointer to the KSZ switch device structure
> > + *
> > + * This function initializes the DCB configuration for a KSZ switch. The global
> > + * DSCP-to-priority mapping table is initialized.
> > + *
> > + * Return: 0 on success, or a negative error code on failure
> > + */
> > +int ksz_dcb_init(struct ksz_device *dev)
> > +{
> > + int ret;
> > +
> > + ret = ksz_init_global_dscp_map(dev);
> > + if (ret)
> > + return ret;
> > +
> > + return 0;
> > +}
>
> Sorry for not responding to your previous question about this:
> https://lore.kernel.org/netdev/ZfmJ-O8XMT8oO-TS@pengutronix.de/
> Simply put, I had a period with not a lot of free time, even for reading
> emails.
No problem. I'm in continues similar state permanently DoSed by my
children, parents, etc... :)
> I'm on the fence on whether your solution to the "global DSCP-to-prio
> mapping rather than per-port" problem is the right one.
>
> We try to avoid baking policies into the kernel, no matter how well
> intended the 802.1Q and IETF RFC8325 recommendations are. They are still
> just recommendations and examples, and a particular use case may want to
> configure things completely differently (or as hinted in the Wi-Fi specific
> RFC8325: maybe the administrator doesn't want to assign the higher
> traffic classes, for network control protocols, by using IP DSCP, and
> doesn't want user flows to request DSCP values that would get access to
> these traffic classes. It can indeed be seen as a security concern).
>
> I empathize with the incovenience of having to map the per-netdev dcbnl
> application priority table API with a piece of hardware where that table
> is shared across all ports. But yet, I don't think it is a strong enough
> justification for us to make an exception and say: "yeah, ok, let's not
> even implement .port_set_dscp_prio() to make the thing configurable, but
> let's bake into the kernel a fixed policy that's good for everyone".
>
> No, I think we _need_ the thing to be configurable, and not try so hard
> with the ieee8021q helpers to hardcode things just right in the kernel.
Yes, I agree with you.
ieee8021q helpers are not the attempt to avoid the work needed to
implement global DSCP configuration. The interface is still needed and
we need to agree on how it should be implemented.
The problem which I try to address with ieee8021q helpers are initial
defaults. KSZ8 and KSZ9 families of switches have different initial
defaults. So, if i need to align defaults for this driver, why not to
provide default which are reusable for every one?
> Have you tried the obvious: "every time there is a change to the global
> DSCP mapping table, push the change into the dcbnl app table of all user
> netdevs, so that the user becomes aware of what happens"? Kernel drivers
> can do that, through direct calls to dcb_ieee_setapp(). DSA does it too,
> to probe the initial QoS configuration of the ports and push it to the
> application priority tables.
Hm... what interface should be used for the global DSCP mapping table?
Regards,
Oleksij
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
next prev parent reply other threads:[~2024-04-11 6:48 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-10 8:05 [PATCH net-next v6 0/9] Enhanced DCB and DSCP Support for KSZ Switches Oleksij Rempel
2024-04-10 8:05 ` [PATCH net-next v6 1/9] net: dsa: add support for DCB get/set apptrust configuration Oleksij Rempel
2024-04-10 8:05 ` [PATCH net-next v6 2/9] net: dsa: microchip: add IPV information support Oleksij Rempel
2024-04-10 8:05 ` [PATCH net-next v6 3/9] net: add IEEE 802.1q specific helpers Oleksij Rempel
2024-04-11 11:46 ` Simon Horman
2024-04-11 11:51 ` Vladimir Oltean
2024-04-10 8:05 ` [PATCH net-next v6 4/9] net: dsa: microchip: add multi queue support for KSZ88X3 variants Oleksij Rempel
2024-04-10 8:05 ` [PATCH net-next v6 5/9] net: dsa: microchip: add support for different DCB app configurations Oleksij Rempel
2024-04-10 15:32 ` Vladimir Oltean
2024-04-10 16:11 ` Oleksij Rempel
2024-04-10 23:12 ` Vladimir Oltean
2024-04-11 6:48 ` Oleksij Rempel [this message]
2024-04-11 11:39 ` Vladimir Oltean
2024-04-10 8:05 ` [PATCH net-next v6 6/9] net: dsa: microchip: dcb: add special handling for KSZ88X3 family Oleksij Rempel
2024-04-10 8:05 ` [PATCH net-next v6 7/9] net: dsa: microchip: enable ETS support for KSZ989X variants Oleksij Rempel
2024-04-10 8:05 ` [PATCH net-next v6 8/9] net: dsa: microchip: init predictable IPV to queue mapping for all non KSZ8xxx variants Oleksij Rempel
2024-04-10 8:05 ` [PATCH net-next v6 9/9] net: dsa: microchip: let DCB code do PCP and DSCP policy configuration Oleksij Rempel
2024-04-10 23:18 ` [PATCH net-next v6 0/9] Enhanced DCB and DSCP Support for KSZ Switches Vladimir Oltean
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=ZheHpK7egVvszSQF@pengutronix.de \
--to=o.rempel@pengutronix.de \
--cc=UNGLinuxDriver@microchip.com \
--cc=andrew@lunn.ch \
--cc=arun.ramadoss@microchip.com \
--cc=davem@davemloft.net \
--cc=dsahern@kernel.org \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=horms@kernel.org \
--cc=kernel@pengutronix.de \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=san@skov.dk \
--cc=willemb@google.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox