OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [PATCH v7 2/5] virtio-net: Add flow filter capabilities read commands


> From: Michael S. Tsirkin <mst@redhat.com>
> Sent: Monday, November 27, 2023 6:03 PM
> 
> On Mon, Nov 27, 2023 at 11:50:24AM +0000, Parav Pandit wrote:
> >
> > > From: Michael S. Tsirkin <mst@redhat.com>
> > > Sent: Monday, November 27, 2023 5:10 PM
> > >
> > > On Mon, Nov 27, 2023 at 11:33:45AM +0000, Parav Pandit wrote:
> > > >
> > > > > From: Michael S. Tsirkin <mst@redhat.com>
> > > > > Sent: Monday, November 27, 2023 4:53 PM
> > > > >
> > > > > On Mon, Nov 27, 2023 at 10:19:47AM +0000, Parav Pandit wrote:
> > > > > > > > > It appears that's not what you meant.
> > > > > > > > > I can try and guess what you meant but I'd rather have
> > > > > > > > > you rewrite this in a way that makes the meaning explicit.
> > > > > > > > >
> > > > > > > > If you insist, I can duplicate in driver requirements too.
> > > > > > > > >
> > > > > > > > > > There are many capabilities here each with a different use.
> > > > > > > > >
> > > > > > > > > And you are under the impression that dumping all kind
> > > > > > > > > of stuff in a single place is good somehow?
> > > > > > > > It is not dumped.
> > > > > > > > It is structured based on the functionality.
> > > > > > > > The config space proposal tends to dump everything in
> > > > > > > > unstructured way at
> > > > > > > single place that cannot extended elegantly.
> > > > > > > >
> > > > > > > > For example, Xuan's dynamic array cannot be placed next to
> > > > > > > > other dynamic
> > > > > > > array of flow filter.
> > > > > > >
> > > > > > > I don't know what "dynamic array" is exactly but generally,
> > > > > > > Any kind of a big array is not appropriate in config space -
> > > > > > > I don't see any of these
> > > > > here, though.
> > > > > > Ah, now I see the disconnect.
> > > > > >
> > > > > > There is.
> > > > > > struct virtio_net_ctrl_ff_match_types
> > > > >
> > > > > Now I think I don't understand what this array does at all.
> > > > > Why are there multiple entries with each entry also including a
> > > > > mask of multiple fields?
> > > > >
> > > > Each entry indicates a bitmask of supported fields that can be filtered.
> > > > The type indicates how to interpret each fields_map.
> > > > Any new type for MPLS can be added easily by defining its type and
> mask.
> > > > And same type enums and field mask also used by the data path too.
> > >
> > > Oh wait I think I begin to remember now. There are 12 bits defined
> > > so far and you made it this huge array. Right? With code to parse
> > > and format it all. Just add a 64 bit field and it will last us long
> > > enough. No parsing and formatting just #define.
> > The infrastructure defines 12 bits only because this is first minimal viable
> work.
> > There will be more fields to be added for more types.
> 
> Maybe.  Let's see a list and see if we even get close to 32 bits.
> 
There are many ether types to filter based on the device.
Many types of IPv4 and IPV6 header fields.

https://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xhtml

> > It is not good to mix up all the fields and bit definitions.
> 
> Not good how? 
I provided example why it will be so bad to mix up the socket options under one socket option command.

>  It's definitely much simpler than what you wrote.
Simpler for spec != simpler to implement in device.

> Does it matter that bits for a given transport are not all consequitive? I do not
> see why it matters.
> 
It is surely not elegant to spread things around that way. 
Actually it is not good for TLV definition in the data path flow filter commands.

> 
> > And there are per device max limits which is way more than 12 bits.
> 
> These are just a couple of 32 bit fields.
> 
And they can be different that cannot be de-duplicated across different member devices.

The proposal is not based on the count or RO/RW etc.
It is based on when it needs to be accessed, as they are not init time early use to initialize the device, they are over cvq.
> --
> MST



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]