lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 28 Dec 2020 20:19:58 -0500 From: Willem de Bruijn <willemdebruijn.kernel@...il.com> To: "Michael S. Tsirkin" <mst@...hat.com> Cc: Willem de Bruijn <willemdebruijn.kernel@...il.com>, virtualization@...ts.linux-foundation.org, Network Development <netdev@...r.kernel.org>, Jason Wang <jasowang@...hat.com> Subject: Re: [PATCH rfc 1/3] virtio-net: support transmit hash report On Mon, Dec 28, 2020 at 12:28 PM Michael S. Tsirkin <mst@...hat.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@...hat.com> wrote: > > > > > > On Mon, Dec 28, 2020 at 11:22:31AM -0500, Willem de Bruijn wrote: > > > > From: Willem de Bruijn <willemb@...gle.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.
Powered by blists - more mailing lists