> From: Heng Qi <[email protected]>
> Sent: Thursday, June 8, 2023 2:41 AM
[..]
> > > +The device MUST calculate the inner header hash for the configured
> > > \field{hash_tunnel_types} without the outer UDP header if
> > > \field{hash_option} is 1.
> > > +
> > This I think conflicts with the current RSS where if this override (higher
> > priority
> than RSS) or not.
>
> VIRTIO_NET_F_HASH_TUNNEL instructs the device to calculate an inner header
> hash for configured tunnel types.
> Then, which fields are used for the calculation of the inner header hash is
> determined by the RSS configuration.
>
> Therefore, if the inner header hash uses \field{hash_option} to indicate that
> the
> outer source UDP port is used to calculate the hash, it overrides the RSS
> configuration (higher priority than RSS). It now not only indicates for which
> tunnel types the inner hash should be calculated, but also indicates which
> fields
> participate in the RSS hash calculation.
>
> At this point, we can
> 1. continue to allow this behavior. That is, if \field{hash_option} is set to
> 1, the
> hash value calculated based on the outer source port indicated by
> VIRTIO_NET_F_HASH_TUNNEL is provided to the indirection table to select the
> rxq instead of the hash value provided by RSS.
>
> 2. hand over to RSS the ability to specify a hash based on the outer source
> port.
> That is, we can add VIRTIO_NET_RSS_HASH_TUNNEL_SRC_PORT_UDP_{v4, v6,
> EX} in \field{supported_hash_types} to indicate that the hash should be
> calculated using the outer source port for all UDP tunneling protocols.
> This approach removes the need for \field{hash_option} and makes the line
> between VIRTIO_NET_F_HASH_TUNNEL and VIRTIO_NET_F_RSS clearer.
>
#2 is preferred.
But I must be missing something.
Without VIRTIO_NET_RSS_HASH_TUNNEL_SRC_PORT_UDP_X, today if one wants to do RSS
based on the outer UDP ports,
It is already supported by the RSS (even in presence of the inner header).
So why do have to introduce VIRTIO_NET_RSS_HASH_TUNNEL_SRC_PORT_UDP_X?
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]