virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Network Development <netdev@vger.kernel.org>,
	Willem de Bruijn <willemdebruijn.kernel@gmail.com>,
	virtualization@lists.linux-foundation.org
Subject: Re: [PATCH rfc 1/3] virtio-net: support transmit hash report
Date: Mon, 28 Dec 2020 20:19:58 -0500	[thread overview]
Message-ID: <CA+FuTSdDAS9sxLX5j31YzA54UPx0Gu+knHqnnJP+btR2PwAYxg@mail.gmail.com> (raw)
In-Reply-To: <20201228122155-mutt-send-email-mst@kernel.org>

On Mon, Dec 28, 2020 at 12:28 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Mon, Dec 28, 2020 at 11:47:45AM -0500, Willem de Bruijn wrote:
> > On Mon, Dec 28, 2020 at 11:28 AM Michael S. Tsirkin <mst@redhat.com> wrote:
> > >
> > > On Mon, Dec 28, 2020 at 11:22:31AM -0500, Willem de Bruijn wrote:
> > > > From: Willem de Bruijn <willemb@google.com>
> > > >
> > > > Virtio-net supports sharing the flow hash from host to guest on rx.
> > > > Do the same on transmit, to allow the host to infer connection state
> > > > for more robust routing and telemetry.
> > > >
> > > > Linux derives ipv6 flowlabel and ECMP multipath from sk->sk_txhash,
> > > > and updates these fields on error with sk_rethink_txhash. This feature
> > > > allows the host to make similar decisions.
> > > >
> > > > Besides the raw hash, optionally also convey connection state for
> > > > this hash. Specifically, the hash rotates on transmit timeout. To
> > > > avoid having to keep a stateful table in the host to detect flow
> > > > changes, explicitly notify when a hash changed due to timeout.
> > >
> > > I don't actually see code using VIRTIO_NET_HASH_STATE_TIMEOUT_BIT
> > > in this series. Want to split out that part to a separate patch?
> >
> > Will do.
> >
> > I wanted to make it clear that these bits must be reserved (i.e.,
> > zero) until a later patch specifies them.
>
> Already the case for the padding field I think ...

Good. Is this something that the device should enforce? Meaning, drop
requests with reserved bits set.

Once a bit is defined and device updated to accept it, it cannot
distinguish between a new driver aware of the bit and an old one that
wrote to padding. More problematic, a well behaved new driver will
gets packets dropped by an old device.

The proper way is to negotiate this is through features, of course.
But I don't think we want to add one for each new bit. That's why I
squished the bit definition in here, even in absence of an
implementation.
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

  reply	other threads:[~2020-12-29  1:20 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-28 16:22 [PATCH rfc 0/3] virtio-net: add tx-hash, rx-tstamp and tx-tstamp Willem de Bruijn
2020-12-28 16:22 ` [PATCH rfc 1/3] virtio-net: support transmit hash report Willem de Bruijn
2020-12-28 16:28   ` Michael S. Tsirkin
2020-12-28 16:47     ` Willem de Bruijn
2020-12-28 17:22       ` Michael S. Tsirkin
2020-12-29  1:19         ` Willem de Bruijn [this message]
2020-12-28 21:36   ` Michael S. Tsirkin
2020-12-29  1:23     ` Willem de Bruijn
2020-12-28 16:22 ` [PATCH rfc 2/3] virtio-net: support receive timestamp Willem de Bruijn
2020-12-28 17:28   ` Michael S. Tsirkin
2020-12-28 19:30     ` Willem de Bruijn
2020-12-28 21:32       ` Michael S. Tsirkin
2020-12-29  1:05         ` Willem de Bruijn
2020-12-29  9:17           ` Jason Wang
2020-12-29 14:20             ` Willem de Bruijn
2020-12-30  8:38               ` Jason Wang
     [not found]   ` <20201228145953.08673c8c@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
2020-12-29  0:57     ` Willem de Bruijn
2020-12-30  8:44       ` Jason Wang
2021-02-02 13:05   ` kernel test robot
2021-02-02 14:08   ` Michael S. Tsirkin
2021-02-02 22:17     ` Willem de Bruijn
2021-02-02 23:02       ` Michael S. Tsirkin
2021-02-02 23:43         ` Willem de Bruijn
2020-12-28 16:22 ` [PATCH rfc 3/3] virtio-net: support transmit timestamp Willem de Bruijn
     [not found]   ` <20201230123854.GB2034@hoboy.vegasvil.org>
2020-12-30 15:25     ` Willem de Bruijn
2021-02-02 13:47   ` kernel test robot
2020-12-28 17:29 ` [PATCH rfc 0/3] virtio-net: add tx-hash, rx-tstamp and tx-tstamp Michael S. Tsirkin
2020-12-28 19:51   ` Willem de Bruijn
2020-12-28 21:38     ` Michael S. Tsirkin
2020-12-29  1:14       ` Willem de Bruijn
2021-01-06 20:32         ` Willem de Bruijn

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=CA+FuTSdDAS9sxLX5j31YzA54UPx0Gu+knHqnnJP+btR2PwAYxg@mail.gmail.com \
    --to=willemdebruijn.kernel@gmail.com \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=virtualization@lists.linux-foundation.org \
    /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).