On 29/11/18 - 14:59:36, Eric Dumazet wrote:
> On Thu, Nov 29, 2018 at 2:47 PM Christoph Paasch <cpaa...@apple.com> wrote:
> 
> > Indeed, the UDP-stack is not fully 4-tuple ready.
> >
> >
> > What are your thoughts on getting it there?
> 
> This would request an additional lookup, and heavy duty servers using
> non connected sockets
> would pay the price for an extra lookup for each incoming packets.

Indeed.


But I'm sure we can do it such that those servers don't pay a cost.

E.g., with a jump-label that would only be set when one does a 
"wait-for-connect"
and only these sockets end up in that 4-tuple hash-table.

> DNS servers and QUIC servers would not like that, since they have better use
> of a single (unconnected) UDP socket per cpu/thread.

I'm actually wondering, how are you doing Quic connection migration when
having a single unconnected UDP socket per CPU? That would involve quite
some cross-CPU communication, no?

Except if something else is steering the different UDP-flows that belong to the
same Quic connection to the right CPU...


Christoph



> 
> 
> >
> > Should be doable by simply using a similar approach as TCP, no? Any caveats
> > you see with that?
> >
> > Then, when one sets the "wait-for-connect"-flag we would add the socket to
> > the hash-table only at connect()-time also addressing the cache-line miss
> > you mentioned above.
> 
> Sure.

Reply via email to