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: [EXT] [PATCH 7/7] virtio-net: Add flow filter device and driver requirements



> From: Satananda Burla <sburla@marvell.com>
> Sent: Sunday, October 1, 2023 3:13 PM
> 
> Hi Parav
> 
> > -----Original Message-----
> > From: Parav Pandit <parav@nvidia.com>
> > Sent: Friday, September 22, 2023 6:49 AM
> > To: virtio-comment@lists.oasis-open.org; mst@redhat.com;
> > cohuck@redhat.com
> > Cc: Satananda Burla <sburla@marvell.com>; shahafs@nvidia.com; si-
> > wei.liu@oracle.com; xuanzhuo@linux.alibaba.com; Parav Pandit
> > <parav@nvidia.com>; Heng Qi <hengqi@linux.alibaba.com>
> > Subject: [EXT] [PATCH 7/7] virtio-net: Add flow filter device and
> > driver requirements
> >
> > External Email
> >
> > ----------------------------------------------------------------------
> > The flow filter functionality consists of the following four
> > components.
> > Add driver and device requirements for it.
> >
> > 1. Device capabilities query for commands VIRTIO_NET_CTRL_FF_CAP_GET,
> >    VIRTIO_NET_CTRL_FF_MATCH_CAP_GET.
> > 2. Flow filter group operation commands VIRTIO_NET_CTRL_FF_GROUP_ADD
> >    and VIRTIO_NET_CTRL_FF_GROUP_DEL.
> > 3. Flow filter transport mode set command
> >    VIRTIO_NET_CTRL_FF_TRANSPORT_MODE_SET.
> > 4. Flow filter requests using command VIRTIO_NET_CTRL_FF_REQ and
> >    the structure virtio_net_ff_op for the flow filter virtqueue.
> >
> > Fixes: https://urldefense.proofpoint.com/v2/url?u=https-
> > 3A__github.com_oasis-2Dtcs_virtio-
> >
> 2Dspec_issues_179&d=DwIDAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=NHDPsfcAYl
> N2z-
> >
> NXHHG4WB09qqS0voo_nf6_kGS625A&m=8GgvPPzhkMzjnrqhLPEu7j1B0uqFdiy
> 5e7lQGf
> > UZEW
> >
> MOxPwYNGtfRt_j2pephKf8&s=8VGvaTxBK738Ex8bGnhEXIrrDkavvG_JfEZ7TkUY
> e-4&e
> > =
> > Signed-off-by: Parav Pandit <parav@nvidia.com>
> > Signed-off-by: Heng Qi <hengqi@linux.alibaba.com>
> > ---
> >  device-types/net/description.tex | 116
> > +++++++++++++++++++++++++++++++
> >  1 file changed, 116 insertions(+)
> >
> > diff --git a/device-types/net/description.tex b/device-
> > types/net/description.tex index a96e47a..6f89096 100644
> > --- a/device-types/net/description.tex
> > +++ b/device-types/net/description.tex
> > @@ -2358,6 +2358,122 @@ \subsubsection{Control
> > Virtqueue}\label{sec:Device Types / Network Device / Devi
> > \field{command-specific-result} is in format of  \field{struct
> > virtio_net_ff_req_result}.
> >
> > +\devicenormative{\subparagraph}{Flow Filter}{Device Types / Network
> > Device / Device Operation / Control Virtqueue / Flow Filter}
> > +
> > +When the VIRTIO_NET_F_FLOW_FILTER is negotiated, the device MUST
> > +support VIRTIO_NET_CTRL_FF_CAP_GET,
> VIRTIO_NET_CTRL_FF_MATCH_CAP_GET,
> > VIRTIO_NET_CTRL_FF_GROUP_ADD,
> > +VIRTIO_NET_CTRL_FF_GROUP_DEL,
> VIRTIO_NET_CTRL_FF_TRANSPORT_MODE_SET
> > +and VIRTIO_NET_CTRL_FF_REQ commands.
> > +
> > +When the VIRTIO_NET_F_FLOW_FILTER is not negotiated, the device MUST
> > respond
> > +with error VIRTIO_NET_ERR for
> > +VIRTIO_NET_CTRL_FF_CAP_GET, VIRTIO_NET_CTRL_FF_MATCH_CAP_GET,
> > VIRTIO_NET_CTRL_FF_GROUP_ADD,
> > +VIRTIO_NET_CTRL_FF_GROUP_DEL,
> VIRTIO_NET_CTRL_FF_TRANSPORT_MODE_SET
> > +and VIRTIO_NET_CTRL_FF_REQ commands.
> > +
> > +When the command VIRTIO_NET_CTRL_FF_CAP_GET completes
> successfully,
> > +the
> > device
> > +MUST return either \field{max_vqs} to be non zero or return
> > +\field{cvq_supports_ff_ops} to 1; the device MUST return non zero
> > +value
> > for fields
> > +\field{max_groups}, \field{max_ff_per_group}, \field{max_ff},
> > +\field{max_match_fields} and \field{max_flow_priorities_per_group}.
> > +
> > +When the command VIRTIO_NET_CTRL_FF_MATCH_CAP_GET completes
> > +successfully,
> > the
> > +device MUST return non zero value for \field{num_entries} and return
> > +corresponding number of valid entries.
> May be better to say the fields_bmap cannot be 0 for any returned entry.
> The same field type should not repeat multiple times. Also it is better to order
> the entries in network protocol order (l2,l3,l4).
> > +
> > +The device MUST respond VIRTIO_NET_ERROR for the command
> > +VIRTIO_NET_CTRL_FF_GROUP_ADD if there are existing flow filters for
> > +the supplied group \field{id} or for the supplied \field{priority}.
> > +
> > +The device MUST respond VIRTIO_NET_ERROR for the command
> > +VIRTIO_NET_CTRL_FF_GROUP_DEL if the group identified with \field{id}
> > +does not exist in the device.
> How about issuing VIRTIO_NET_CTRL_FF_GROUP_DEL when there are non zero
> number of flow filters in the group ? that also result in error, right?
Yes. good point.
I will add it v1.


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