On Tue, May 09, 2023 at 10:22:19PM +0800, Heng Qi wrote:
> 
> 
> 在 2023/5/5 下午10:56, Michael S. Tsirkin 写道:
> > On Fri, May 05, 2023 at 09:51:15PM +0800, Heng Qi wrote:
> > > On Thu, Apr 27, 2023 at 01:13:29PM -0400, Michael S. Tsirkin wrote:
> > > > On Thu, Apr 27, 2023 at 10:28:29AM +0800, Heng Qi wrote:
> > > > > 
> > > > > 在 2023/4/26 下午10:48, Michael S. Tsirkin 写道:
> > > > > > On Wed, Apr 26, 2023 at 10:14:30PM +0800, Heng Qi wrote:
> > > > > > > This does not mean that every device needs to implement and 
> > > > > > > support all of
> > > > > > > these, they can choose to support some protocols they want.
> > > > > > > 
> > > > > > > I add these because we have scale application scenarios for 
> > > > > > > modern protocols
> > > > > > > VXLAN-GPE/GENEVE:
> > > > > > > 
> > > > > > > +\item In scenarios where the same flow passing through different 
> > > > > > > tunnels is expected to be received in the same queue,
> > > > > > > +      warm caches, lessing locking, etc. are optimized to obtain 
> > > > > > > receiving performance.
> > > > > > > 
> > > > > > > 
> > > > > > > Maybe the legacy GRE, VXLAN-GPE and GENEVE? But it has a little 
> > > > > > > crossover.
> > > > > > > 
> > > > > > > Thanks.
> > > > > > But VXLAN-GPE/GENEVE can use source port for entropy.
> > > > > > 
> > > > > >     It is recommended that the UDP source port number
> > > > > >      be calculated using a hash of fields from the inner packet
> > > > > > 
> > > > > > That is best because
> > > > > > it allows end to end control and is protocol agnostic.
> > > > > Yes. I agree with this, I don't think we have an argument on this 
> > > > > point
> > > > > right now.:)
> > > > > 
> > > > > For VXLAN-GPE/GENEVE or other modern tunneling protocols, we have to 
> > > > > deal
> > > > > with
> > > > > scenarios where the same flow passes through different tunnels.
> > > > > 
> > > > > Having them hashed to the same rx queue, is hard to do via outer 
> > > > > headers.
> > > > > > All that is missing is symmetric Toepliz and all is well?
> > > > > The scenarios above or in the commit log also require inner headers.
> > > > Hmm I am not sure I get it 100%.
> > > > Could you show an example with inner header hash in the port #,
> > > > hash is symmetric, and you still have trouble?
> > > > 
> > > > 
> > > > It kinds of sounds like not enough entropy is not the problem
> > > > at this point.
> > > Sorry for the late reply. :)
> > > 
> > > For modern tunneling protocols, yes.
> > > 
> > > > You now want to drop everything from the header
> > > > except the UDP source port. Is that a fair summary?
> > > > 
> > > For example, for the same flow passing through different VXLAN tunnels,
> > > packets in this flow have the same inner header and different outer
> > > headers. Sometimes these packets of the flow need to be hashed to the
> > > same rxq, then we can use the inner header as the hash input.
> > > 
> > > Thanks!
> > So, they will have the same source port yes?
> 
> Yes. The outer source port can be calculated using the 5-tuple of the
> original packet,
> and the outer ports are the same but the outer IPs are different after
> different directions of the same flow pass through different tunnels.
> > Any way to use that
> 
> We use it in monitoring, firewall and other scenarios.
> 
> > so we don't depend on a specific protocol?
> 
> Yes, selected tunneling protocols can be used in this scenario like this.
> 
> Thanks.
> 

No, the question was - can we generalize this somehow then?
For example, a flag to ignore source IP when hashing?
Or maybe just for UDP packets?

-- 
MST


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to