From: Petr Machata <petrm@nvidia.com>
To: <Daniel.Machon@microchip.com>
Cc: <petrm@nvidia.com>, <netdev@vger.kernel.org>,
<davem@davemloft.net>, <maxime.chevallier@bootlin.com>,
<thomas.petazzoni@bootlin.com>, <edumazet@google.com>,
<kuba@kernel.org>, <pabeni@redhat.com>,
<Lars.Povlsen@microchip.com>, <Steen.Hegelund@microchip.com>,
<UNGLinuxDriver@microchip.com>, <joe@perches.com>,
<linux@armlinux.org.uk>, <Horatiu.Vultur@microchip.com>,
<Julia.Lawall@inria.fr>, <vladimir.oltean@nxp.com>,
<linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH net-next v4 2/6] net: dcb: add new apptrust attribute
Date: Mon, 31 Oct 2022 17:24:32 +0100 [thread overview]
Message-ID: <87pme8ufjg.fsf@nvidia.com> (raw)
In-Reply-To: <Y1/F5n+geZHAitoW@DEN-LT-70577>
<Daniel.Machon@microchip.com> writes:
>> > + if (ieee[DCB_ATTR_DCB_APP_TRUST_TABLE]) {
>> > + u8 selectors[IEEE_8021QAZ_APP_SEL_MAX + 1] = {0};
>> > + struct nlattr *attr;
>> > + int nselectors = 0;
>> > + u8 selector;
>> > + int rem, i;
>> > +
>> > + if (!ops->dcbnl_setapptrust) {
>> > + err = -EOPNOTSUPP;
>> > + goto err;
>> > + }
>> > +
>> > + nla_for_each_nested(attr, ieee[DCB_ATTR_DCB_APP_TRUST_TABLE],
>> > + rem) {
>> > + if (nla_type(attr) != DCB_ATTR_DCB_APP_TRUST ||
>> > + nla_len(attr) != 1 ||
>> > + nselectors >= sizeof(selectors)) {
>> > + err = -EINVAL;
>> > + goto err;
>> > + }
>> > +
>> > + selector = nla_get_u8(attr);
>> > + switch (selector) {
>> > + case IEEE_8021QAZ_APP_SEL_ETHERTYPE:
>> > + case IEEE_8021QAZ_APP_SEL_STREAM:
>> > + case IEEE_8021QAZ_APP_SEL_DGRAM:
>> > + case IEEE_8021QAZ_APP_SEL_ANY:
>> > + case IEEE_8021QAZ_APP_SEL_DSCP:
>> > + case DCB_APP_SEL_PCP:
>>
>> This assumes that the range of DCB attributes will never overlap with
>> the range of IEEE attributes. Wasn't the original reason for introducing
>> the DCB nest to not have to make this assumption?
>>
>> I.e. now that we split DCB and IEEE attributes in the APP_TABLE
>> attribute, shouldn't it be done here as well?
>
> Hmm, doesn't hurt to do strict checking here as well. We can even get rid
> of the DCB_ATTR_DCB_APP_TRUST attr and just pass DCB_ATTR_DCB_APP and
> DCB_ATTR_IEEE_APP? Then use the same functions to do the checking.
That would make sense to me.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Petr Machata <petrm@nvidia.com>
To: <Daniel.Machon@microchip.com>
Cc: <petrm@nvidia.com>, <netdev@vger.kernel.org>,
<davem@davemloft.net>, <maxime.chevallier@bootlin.com>,
<thomas.petazzoni@bootlin.com>, <edumazet@google.com>,
<kuba@kernel.org>, <pabeni@redhat.com>,
<Lars.Povlsen@microchip.com>, <Steen.Hegelund@microchip.com>,
<UNGLinuxDriver@microchip.com>, <joe@perches.com>,
<linux@armlinux.org.uk>, <Horatiu.Vultur@microchip.com>,
<Julia.Lawall@inria.fr>, <vladimir.oltean@nxp.com>,
<linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH net-next v4 2/6] net: dcb: add new apptrust attribute
Date: Mon, 31 Oct 2022 17:24:32 +0100 [thread overview]
Message-ID: <87pme8ufjg.fsf@nvidia.com> (raw)
In-Reply-To: <Y1/F5n+geZHAitoW@DEN-LT-70577>
<Daniel.Machon@microchip.com> writes:
>> > + if (ieee[DCB_ATTR_DCB_APP_TRUST_TABLE]) {
>> > + u8 selectors[IEEE_8021QAZ_APP_SEL_MAX + 1] = {0};
>> > + struct nlattr *attr;
>> > + int nselectors = 0;
>> > + u8 selector;
>> > + int rem, i;
>> > +
>> > + if (!ops->dcbnl_setapptrust) {
>> > + err = -EOPNOTSUPP;
>> > + goto err;
>> > + }
>> > +
>> > + nla_for_each_nested(attr, ieee[DCB_ATTR_DCB_APP_TRUST_TABLE],
>> > + rem) {
>> > + if (nla_type(attr) != DCB_ATTR_DCB_APP_TRUST ||
>> > + nla_len(attr) != 1 ||
>> > + nselectors >= sizeof(selectors)) {
>> > + err = -EINVAL;
>> > + goto err;
>> > + }
>> > +
>> > + selector = nla_get_u8(attr);
>> > + switch (selector) {
>> > + case IEEE_8021QAZ_APP_SEL_ETHERTYPE:
>> > + case IEEE_8021QAZ_APP_SEL_STREAM:
>> > + case IEEE_8021QAZ_APP_SEL_DGRAM:
>> > + case IEEE_8021QAZ_APP_SEL_ANY:
>> > + case IEEE_8021QAZ_APP_SEL_DSCP:
>> > + case DCB_APP_SEL_PCP:
>>
>> This assumes that the range of DCB attributes will never overlap with
>> the range of IEEE attributes. Wasn't the original reason for introducing
>> the DCB nest to not have to make this assumption?
>>
>> I.e. now that we split DCB and IEEE attributes in the APP_TABLE
>> attribute, shouldn't it be done here as well?
>
> Hmm, doesn't hurt to do strict checking here as well. We can even get rid
> of the DCB_ATTR_DCB_APP_TRUST attr and just pass DCB_ATTR_DCB_APP and
> DCB_ATTR_IEEE_APP? Then use the same functions to do the checking.
That would make sense to me.
next prev parent reply other threads:[~2022-10-31 16:26 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-28 10:03 [PATCH net-next v4 0/6] Add new PCP and APPTRUST attributes to dcbnl Daniel Machon
2022-10-28 10:03 ` Daniel Machon
2022-10-28 10:03 ` [PATCH net-next v4 1/6] net: dcb: add new pcp selector to app object Daniel Machon
2022-10-28 10:03 ` Daniel Machon
2022-10-31 11:13 ` Petr Machata
2022-10-31 11:13 ` Petr Machata
2022-10-31 12:39 ` Daniel.Machon
2022-10-31 12:39 ` Daniel.Machon
2022-10-28 10:03 ` [PATCH net-next v4 2/6] net: dcb: add new apptrust attribute Daniel Machon
2022-10-28 10:03 ` Daniel Machon
2022-10-31 12:24 ` Petr Machata
2022-10-31 12:24 ` Petr Machata
2022-10-31 12:45 ` Daniel.Machon
2022-10-31 12:45 ` Daniel.Machon
2022-10-31 16:24 ` Petr Machata [this message]
2022-10-31 16:24 ` Petr Machata
2022-10-28 10:03 ` [PATCH net-next v4 3/6] net: microchip: sparx5: add support for offloading pcp table Daniel Machon
2022-10-28 10:03 ` Daniel Machon
2022-10-28 10:03 ` [PATCH net-next v4 4/6] net: microchip: sparx5: add support for apptrust Daniel Machon
2022-10-28 10:03 ` Daniel Machon
2022-10-28 10:03 ` [PATCH net-next v4 5/6] net: microchip: sparx5: add support for offloading dscp table Daniel Machon
2022-10-28 10:03 ` Daniel Machon
2022-10-28 10:03 ` [PATCH net-next v4 6/6] net: microchip: sparx5: add support for offloading default prio Daniel Machon
2022-10-28 10:03 ` Daniel Machon
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=87pme8ufjg.fsf@nvidia.com \
--to=petrm@nvidia.com \
--cc=Daniel.Machon@microchip.com \
--cc=Horatiu.Vultur@microchip.com \
--cc=Julia.Lawall@inria.fr \
--cc=Lars.Povlsen@microchip.com \
--cc=Steen.Hegelund@microchip.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=joe@perches.com \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=maxime.chevallier@bootlin.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=vladimir.oltean@nxp.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.