All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Parav Pandit <parav@nvidia.com>
Cc: Heng Qi <hengqi@linux.alibaba.com>,
	"virtio-comment@lists.oasis-open.org"
	<virtio-comment@lists.oasis-open.org>,
	"virtio-dev@lists.oasis-open.org"
	<virtio-dev@lists.oasis-open.org>,
	Jason Wang <jasowang@redhat.com>,
	Cornelia Huck <cohuck@redhat.com>,
	Yuri Benditovich <yuri.benditovich@daynix.com>,
	Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Subject: Re: [virtio-comment] [PATCH v8] virtio-net: support inner header hash
Date: Mon, 13 Feb 2023 17:23:04 -0500	[thread overview]
Message-ID: <20230213172158-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <PH0PR12MB54817EAF86DF11B9FB0DCB8EDCDD9@PH0PR12MB5481.namprd12.prod.outlook.com>

On Mon, Feb 13, 2023 at 09:42:25PM +0000, Parav Pandit wrote:
> 
> 
> > From: Heng Qi <hengqi@linux.alibaba.com>
> > Sent: Monday, February 13, 2023 8:05 AM
> > Hi, all.
> > 
> > Do you have any comments on this version?
> > 
> > Thanks.
> > 
> > 在 2023/2/8 下午5:08, Heng Qi 写道:
> > > If the tunnel is used to encapsulate the packets, the hash calculated
> > > using the outer header of the receive packets is always fixed for the
> > > same flow packets, i.e. they will be steered to the same receive queue.
> > >
> > > We add a feature bit VIRTIO_NET_F_HASH_TUNNEL and related bitmasks in
> > > \field{hash_tunnel_types}, which instructs the device to calculate the
> > > hash using the inner headers of tunnel-encapsulated packets. Besides,
> > > values in \field{hash_report_tunnel_types} are added to report tunnel types.
> > >
> > > Note that VIRTIO_NET_F_HASH_TUNNEL only indicates the ability of the
> > > inner header hash, and does not give the device the ability to use the
> > > hash value to select a receiving queue to place the packet.
> > >
> [..]
> > > @@ -3384,9 +3396,10 @@ \subsection{Device Operation}\label{sec:Device
> > Types / Network Device / Device O
> > >           le16 csum_start;
> > >           le16 csum_offset;
> > >           le16 num_buffers;
> > > -        le32 hash_value;        (Only if VIRTIO_NET_F_HASH_REPORT
> > negotiated)
> > > -        le16 hash_report;       (Only if VIRTIO_NET_F_HASH_REPORT
> > negotiated)
> > > -        le16 padding_reserved;  (Only if VIRTIO_NET_F_HASH_REPORT
> > negotiated)
> > > +        le32 hash_value;              (Only if VIRTIO_NET_F_HASH_REPORT
> > negotiated)
> > > +        le16 hash_report;             (Only if VIRTIO_NET_F_HASH_REPORT
> > negotiated)
> > > +        u8 hash_report_tunnel_types;  (Only if VIRTIO_NET_F_HASH_REPORT
> 
> I am yet to review the changes of v8.
> But the quick response is, I do not see a use case of above field by sw driver.
> And this addition requires the core hw data path to supply this value.
> Without good motivation, it is hard to have it here.

I think I agree that we should be careful about adding stuff in packet
header. Yes it's using the padding but we only have 2 bytes of that.

> What is valuable is to have a VNI already identified and coming to the driver, like a hash value.
> This can cut down the cpu processing power, in outer header packet processing.
> However, that is relatively a different feature than inner hash.
> 
> So, my input is to omit hash_report_tunnel_types.
> Will respond to Michael question in other thread.


  reply	other threads:[~2023-02-13 22:23 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-08  9:08 [PATCH v8] virtio-net: support inner header hash Heng Qi
2023-02-13 13:05 ` [virtio-comment] " Heng Qi
2023-02-13 20:43   ` Michael S. Tsirkin
2023-02-13 22:29     ` Parav Pandit
2023-02-16  6:48     ` [virtio-comment] Re: [virtio-dev] " Heng Qi
2023-02-13 21:42   ` Parav Pandit
2023-02-13 22:23     ` Michael S. Tsirkin [this message]
2023-02-16  7:23       ` [virtio-comment] Re: [virtio-dev] " Heng Qi
2023-02-16  6:57     ` [virtio-dev] " Heng Qi
2023-02-16 13:25       ` [virtio-comment] " Parav Pandit
2023-02-16 14:19         ` Heng Qi
2023-02-16 14:23           ` Parav Pandit
2023-02-13 22:20 ` Michael S. Tsirkin
2023-02-16  7:20   ` [virtio-dev] " Heng Qi
2023-02-16 11:59     ` Michael S. Tsirkin
2023-02-16 14:11       ` Heng Qi
2023-02-17 14:25         ` Michael S. Tsirkin
2023-02-17 15:36           ` [virtio-comment] " Heng Qi
2023-02-17 16:24             ` [virtio-comment] RE: [virtio-dev] " Parav Pandit
2023-02-17 16:32               ` [virtio-comment] " Heng Qi

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=20230213172158-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=hengqi@linux.alibaba.com \
    --cc=jasowang@redhat.com \
    --cc=parav@nvidia.com \
    --cc=virtio-comment@lists.oasis-open.org \
    --cc=virtio-dev@lists.oasis-open.org \
    --cc=xuanzhuo@linux.alibaba.com \
    --cc=yuri.benditovich@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.