[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [PATCH v1 4/7] virtio-net: Add flow filter transport set command
Flow filter requests can be either sent using a control virtqueue or using one or more flow filter virtqueues. The driver can choose one of the transport based on device capability. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/179 Signed-off-by: Parav Pandit <parav@nvidia.com> Signed-off-by: Heng Qi <hengqi@linux.alibaba.com> --- device-types/net/description.tex | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/device-types/net/description.tex b/device-types/net/description.tex index c7306b6..17d4f15 100644 --- a/device-types/net/description.tex +++ b/device-types/net/description.tex @@ -1180,6 +1180,8 @@ \subsubsection{Flow Filter}\label{sec:Device Types / Network Device / Device Ope at a time, i.e. either control virtqueue or flow filter virtqueues. Once the driver sets the flow filter request transport in the device, the driver can send flow filter request using the enabled transport. +The driver selects the flow filter transport using control vq command +\ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Flow Filter / Flow Filter Transport Mode Set}. The flow filters are grouped using a flow filter group. Each flow filter group has a priority. The device first applies the flow filters of the highest @@ -2048,6 +2050,7 @@ \subsubsection{Control Virtqueue}\label{sec:Device Types / Network Device / Devi #define VIRTIO_NET_CTRL_FF_MATCH_CAP_GET 1 #define VIRTIO_NET_CTRL_FF_GROUP_ADD 2 #define VIRTIO_NET_CTRL_FF_GROUP_DEL 3 + #define VIRTIO_NET_CTRL_FF_TRANSPORT_MODE_SET 4 \end{lstlisting} \subparagraph{Flow Filter Capabilities Get}\label{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Flow Filter / Flow Filter Capabilities Get} @@ -2140,6 +2143,25 @@ \subsubsection{Control Virtqueue}\label{sec:Device Types / Network Device / Devi }; \end{lstlisting} +\subparagraph{Flow Filter Transport Mode Set}\label{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Flow Filter / Flow Filter Transport Mode Set} + +The command VIRTIO_NET_CTRL_FF_TRANSPORT_MODE_SET sets the +transport mode for flow filter requests in the device. + +\begin{lstlisting} +struct virtio_net_ctrl_ff_transport_set { + u8 mode; +}; + +#define VIRTIO_NET_FF_TRANSPORT_CVQ 0 +#define VIRTIO_NET_FF_TRANSPORT_FFVQ 1 +\end{lstlisting} + +The \field{mode} when set to 0, it indicates the driver will use +control virtqueue for transporting flow filters requests; when the +\field{mode} is set to 1, it indicates that the driver will use +flow filter virtqueue(s) for transporting flow filter requests. + \subsubsection{Legacy Interface: Framing Requirements}\label{sec:Device Types / Network Device / Legacy Interface: Framing Requirements} -- 2.34.1
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]