From: "Michael S. Tsirkin" <mst@redhat.com>
To: Dmitry Fleytman <dmitry@daynix.com>
Cc: Yan Vugenfirer <yan@daynix.com>,
Dmitry Fleytman <dfleytma@redhat.com>,
virtualization@lists.linux-foundation.org
Subject: Re: [PATCH 2/2 V2] virtio-spec: dynamic network offloads configuration
Date: Thu, 28 Mar 2013 18:40:43 +0200 [thread overview]
Message-ID: <20130328164043.GC30183@redhat.com> (raw)
In-Reply-To: <1364464860-28961-3-git-send-email-dmitry@daynix.com>
On Thu, Mar 28, 2013 at 12:01:00PM +0200, Dmitry Fleytman wrote:
> From: Dmitry Fleytman <dfleytma@redhat.com>
>
> Virtio-net driver currently negotiates network offloads
> on startup via features mechanism and have no ability to
> change offloads state later.
> This patch introduced a new control command that allows
> to configure device network offloads state dynamically.
> The patch also introduces a new feature flag
> VIRTIO_NET_F_CTRL_GUEST_OFFLD.
Maybe rename it VIRTIO_NET_F_CTRL_GUEST_OFFLOADS to match
the command name.
Otherwise OK.
>
> Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
> ---
> virtio-spec.lyx | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 143 insertions(+)
>
> diff --git a/virtio-spec.lyx b/virtio-spec.lyx
> index 3d2f485..cdc4320 100644
> --- a/virtio-spec.lyx
> +++ b/virtio-spec.lyx
> @@ -60,6 +60,7 @@
> \author -1930653948 "Amos Kong"
> \author -608949062 "Rusty Russell,,,"
> \author -385801441 "Cornelia Huck" cornelia.huck@de.ibm.com
> +\author 460276516 "Dmitry Fleytman" dfleytma@redhat.com
> \author 1112500848 "Rusty Russell" rusty@rustcorp.com.au
> \author 1531152142 "Paolo Bonzini,,,"
> \author 1717892615 "Alexey Zaytsev,,,"
> @@ -4261,6 +4262,20 @@ VIRTIO_NET_F_GUEST_CSUM
> \end_inset
>
> (1) Guest handles packets with partial checksum
> +\change_inserted 460276516 1363712169
> +
> +\end_layout
> +
> +\begin_layout Description
> +
> +\change_inserted 460276516 1363712334
> +VIRTIO_NET_F_CTRL_GUEST_OFFLD
> +\begin_inset space ~
> +\end_inset
> +
> +(2) Control channel offloads reconfiguration support.
> +\change_unchanged
> +
> \end_layout
>
> \begin_layout Description
> @@ -5675,6 +5690,134 @@ virtqueue_pairs = 1
>
> \end_layout
>
> +\begin_layout Subsection*
> +
> +\change_inserted 460276516 1363765850
> +Offloads State Configuration
> +\end_layout
> +
> +\begin_layout Standard
> +
> +\change_inserted 460276516 1363765861
> +If the VIRTIO_NET_F_CTRL_GUEST_OFFLD feature is negotiated, the driver can
> + send control commands for dynamic offloads state configuration.
> +\end_layout
> +
> +\begin_layout Subsubsection*
> +
> +\change_inserted 460276516 1363765928
> +Setting offloads state
> +\end_layout
> +
> +\begin_layout Standard
> +
> +\change_inserted 460276516 1363713225
> +\begin_inset listings
> +inline false
> +status open
> +
> +\begin_layout Plain Layout
> +
> +\change_inserted 460276516 1363765996
> +
> +u32 offloads;
> +\end_layout
> +
> +\begin_layout Plain Layout
> +
> +\change_inserted 460276516 1363765997
> +
> +\end_layout
> +
> +\begin_layout Plain Layout
> +
> +\change_inserted 460276516 1363766044
> +
> +#define VIRTIO_NET_OFFLOAD_GUEST_CSUM 1
> +\end_layout
> +
> +\begin_layout Plain Layout
> +
> +\change_inserted 460276516 1363766051
> +
> +#define VIRTIO_NET_OFFLOAD_GUEST_TSO4 2
> +\end_layout
> +
> +\begin_layout Plain Layout
> +
> +\change_inserted 460276516 1363766055
> +
> +#define VIRTIO_NET_OFFLOAD_GUEST_TSO6 4
> +\end_layout
> +
> +\begin_layout Plain Layout
> +
> +\change_inserted 460276516 1363766064
> +
> +#define VIRTIO_NET_OFFLOAD_GUEST_ECN 8
> +\end_layout
> +
> +\begin_layout Plain Layout
> +
> +\change_inserted 460276516 1363766035
> +
> +#define VIRTIO_NET_OFFLOAD_GUEST_UFO 16
> +\end_layout
> +
> +\begin_layout Plain Layout
> +
> +\change_inserted 460276516 1363766031
> +
> +\end_layout
> +
> +\begin_layout Plain Layout
> +
> +\change_inserted 460276516 1363765865
> +
> +#define VIRTIO_NET_CTRL_GUEST_OFFLOADS 5
> +\end_layout
> +
> +\begin_layout Plain Layout
> +
> +\change_inserted 460276516 1363765867
> +
> + #define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET 0
> +\end_layout
> +
> +\end_inset
> +
> +
> +\end_layout
> +
> +\begin_layout Standard
> +
> +\change_inserted 460276516 1363766082
> +The class VIRTIO_NET_CTRL_GUEST_OFFLOADS has one command: VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET
> + applies the new offloads configuration.
> +\end_layout
> +
> +\begin_layout Standard
> +
> +\change_inserted 460276516 1363766435
> +u32 value passed as command data is a bitmask, bits set define offloads
> + to be enabled, bits cleared - offloads to be disabled.
> +\end_layout
> +
> +\begin_layout Standard
> +
> +\change_inserted 460276516 1363766757
> +There is a corresponding device feature for each offload.
> + Upon feature negotiation corresponding offload gets enabled to preserve
> + backward compartibility.
> +\end_layout
> +
> +\begin_layout Standard
> +
> +\change_inserted 460276516 1363766720
> +Corresponding feature must be negotiated at startup in order to allow dynamic
> + change of specific offload state.
> +\end_layout
> +
> \begin_layout Chapter*
> Appendix D: Block Device
> \end_layout
> --
> 1.8.1.4
prev parent reply other threads:[~2013-03-28 16:40 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-28 10:00 [PATCH 0/2 V2] virtio-spec: dynamic network offloads configuration Dmitry Fleytman
2013-03-28 10:00 ` [PATCH 1/2 V2] virtio-net: " Dmitry Fleytman
2013-03-28 16:39 ` Michael S. Tsirkin
2013-03-30 18:47 ` Dmitry Fleytman
2013-03-31 7:53 ` Michael S. Tsirkin
2013-04-02 6:56 ` Dmitry Fleytman
2013-04-02 10:53 ` Michael S. Tsirkin
2013-03-28 10:01 ` [PATCH 2/2 V2] virtio-spec: " Dmitry Fleytman
2013-03-28 16:40 ` Michael S. Tsirkin [this message]
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=20130328164043.GC30183@redhat.com \
--to=mst@redhat.com \
--cc=dfleytma@redhat.com \
--cc=dmitry@daynix.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=yan@daynix.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;
as well as URLs for NNTP newsgroup(s).