From: Saeed Mahameed <saeed@kernel.org>
To: Jakub Kicinski <kuba@kernel.org>
Cc: Parav Pandit <parav@nvidia.com>,
Sunil Sudhakar Rani <sunrani@nvidia.com>,
Saeed Mahameed <saeedm@nvidia.com>, Jiri Pirko <jiri@nvidia.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"davem@davemloft.net" <davem@davemloft.net>,
Bodong Wang <bodong@nvidia.com>
Subject: Re: [PATCH net-next 1/2] devlink: Add support to set port function as trusted
Date: Fri, 14 Jan 2022 22:15:48 -0800 [thread overview]
Message-ID: <20220115061548.4o2uldqzqd4rjcz5@sx1> (raw)
In-Reply-To: <20220114183445.463c74f5@kicinski-fedora-PC1C0HJN.hsd1.ca.comcast.net>
On 14 Jan 18:34, Jakub Kicinski wrote:
>On Fri, 14 Jan 2022 04:52:24 +0000 Parav Pandit wrote:
>> > > Each enabled feature consumes
>> > > (a) driver level memory resource such as querying ip sec capabilities and more later,
>> > > (b) time in querying those capabilities,
>> >
>> > These are on the VM's side, it's not hypervisors responsibility to help the client
>> > by stripping features.
>> >
>> HV is composing the device before giving it to the VM.
>> VM can always disable certain feature if it doesn't want to use by ethtool or other means.
>> But here we are discussing about offering/not offering the feature to the VF from HV.
>> HV can choose to not offer certain features based on some instruction received from orchestration.
>
>I'm still missing why go thru orchestration and HV rather than making
>the driver load more clever to avoid wasting time on initializing
>unnecessary caps.
unfortunately for "smartnics" of this era, many of these initilizations
and resources are only manged by FW and the details are hidden away from
drivers, we need the knobs to tell the FW, hey we don't need all of these
features for this particular vf, save the resources for something else.
After all VF users need only a small portion of all the features we offer
to them, but again unfortunately the FW pre-allocates precious HW
resources to allow such features per VFs.
I know in this case smartnic === dumb FW, and sometimes there is no way
around it, this is the hw arch we have currently, not everything is a
nice generic flexible resources, not when it has to be wrapped with FW
"__awesome__" logic ;), and for proper virtualization we need this FW.
But i totally agree with your point, when we can limit with resources, we
should limit with resources, otherwise we need a knob to communicate to FW
what is the user intention for this VF.
>
>> > > (c) device level initialization in supporting this capability
>> > >
>> > > So for light weight devices which doesn't need it we want to keep it disabled.
>> >
>> > You need to explain this better. We are pretty far from "trust"
>> > settings, which are about privilege and not breaking isolation.
>>
>> We split the abstract trust to more granular settings, some related to privilege and some to capabilities.
>>
>> > "device level initialization" tells me nothing.
>> >
>> Above one belongs to capabilities bucket. Sw_steering belongs to trust bucket.
>>
>> > > No it is limited to tc offloads.
>> > > A VF netdev inserts flow steering rss rules on nic rx table.
>> > > This also uses the same smfs/dmfs when a VF is capable to do so.
>> >
>> > Given the above are you concerned about privilege or also just resources use
>> > here? Do VFs have SMFS today?
>> Privilege.
>> VFs have SMFS today, but by default it is disabled. The proposed knob will enable it.
>
>Could you rephrase? What does it mean that VFs have SMFS but it's
>disabled? Again - privilege means security, I'd think that it can't have
>security implications if you're freely admitting that it's exposed.
I think the term privilege is misused here, due to the global knob proposed
initially. Anyway the issue is exactly as I explained above, SW steering requires
FW pre-allocated resources and initializations, for VFs it is disabled
since there was no demand for it and FW wanted to save on resources.
Now as SW steering is catching up with FW steering in terms of
functionality, people want it also on VFs to help with rule insertion rate
for use cases other than switchdev and TC, e.g TLS, connection tracking,
etc ..
next prev parent reply other threads:[~2022-01-15 6:15 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-22 14:43 [PATCH net-next 0/2] Extend devlink for port trust setting Sunil Rani
2021-11-22 14:43 ` [PATCH net-next 1/2] devlink: Add support to set port function as trusted Sunil Rani
2021-11-23 1:22 ` Jakub Kicinski
2021-11-30 22:17 ` Sunil Sudhakar Rani
2021-12-01 3:12 ` Jakub Kicinski
2021-12-01 7:07 ` Saeed Mahameed
2021-12-02 17:31 ` Jakub Kicinski
2021-12-02 19:06 ` Saeed Mahameed
2021-12-15 18:19 ` Saeed Mahameed
2021-12-15 19:22 ` Jakub Kicinski
2021-12-15 22:15 ` Saeed Mahameed
2021-12-15 23:04 ` Jakub Kicinski
2021-12-16 16:17 ` Sunil Sudhakar Rani
2021-12-16 16:28 ` Jakub Kicinski
2022-01-11 16:57 ` Parav Pandit
2022-01-11 18:20 ` Jakub Kicinski
2022-01-11 18:26 ` Parav Pandit
2022-01-11 19:24 ` Jakub Kicinski
2022-01-11 19:39 ` Parav Pandit
2022-01-11 19:57 ` Jakub Kicinski
2022-01-12 4:40 ` Parav Pandit
2022-01-13 0:35 ` Jakub Kicinski
2022-01-13 3:37 ` Parav Pandit
2022-01-14 4:42 ` Jakub Kicinski
2022-01-14 4:52 ` Parav Pandit
2022-01-15 2:34 ` Jakub Kicinski
2022-01-15 6:15 ` Saeed Mahameed [this message]
2022-01-18 18:02 ` Jakub Kicinski
2022-01-18 22:33 ` Saeed Mahameed
2022-01-19 0:16 ` Jakub Kicinski
2022-01-19 5:49 ` Parav Pandit
2022-01-20 0:40 ` Saeed Mahameed
2022-01-20 4:52 ` Parav Pandit
2022-01-20 6:03 ` Saeed Mahameed
2022-01-20 6:19 ` Parav Pandit
2022-02-03 18:35 ` Parav Pandit
2022-02-03 19:16 ` Saeed Mahameed
2022-02-07 14:45 ` Parav Pandit
2022-02-09 4:21 ` Parav Pandit
2022-01-14 9:15 ` Jiri Pirko
2022-01-15 2:10 ` Jakub Kicinski
2021-11-22 14:43 ` [PATCH net-next 2/2] net/mlx5: SF/VF, Port function trust set support Sunil Rani
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=20220115061548.4o2uldqzqd4rjcz5@sx1 \
--to=saeed@kernel.org \
--cc=bodong@nvidia.com \
--cc=davem@davemloft.net \
--cc=jiri@nvidia.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=parav@nvidia.com \
--cc=saeedm@nvidia.com \
--cc=sunrani@nvidia.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