From mboxrd@z Thu Jan 1 00:00:00 1970 From: Willem de Bruijn Subject: Re: [RFC 0/2] Delayed binding of UDP sockets for Quic per-connection sockets Date: Thu, 1 Nov 2018 17:51:39 -0400 Message-ID: References: <20181031232635.33750-1-cpaasch@apple.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Cc: Network Development , ianswett@google.com, lhedstrom@apple.com, jri.ietf@gmail.com, Eric Dumazet To: cpaasch@apple.com Return-path: Received: from mail-ed1-f45.google.com ([209.85.208.45]:36037 "EHLO mail-ed1-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726273AbeKBG5E (ORCPT ); Fri, 2 Nov 2018 02:57:04 -0400 Received: by mail-ed1-f45.google.com with SMTP id x2-v6so328766eds.3 for ; Thu, 01 Nov 2018 14:52:16 -0700 (PDT) In-Reply-To: <20181031232635.33750-1-cpaasch@apple.com> Sender: netdev-owner@vger.kernel.org List-ID: On Wed, Oct 31, 2018 at 7:30 PM Christoph Paasch wrote: > > Implementations of Quic might want to create a separate socket for each > Quic-connection by creating a connected UDP-socket. > > To achieve that on the server-side, a "master-socket" needs to wait for > incoming new connections and then creates a new socket that will be a > connected UDP-socket. To create that latter one, the server needs to > first bind() and then connect(). However, after the bind() the server > might already receive traffic on that new socket that is unrelated to the > Quic-connection at hand. This can also be achieved with SO_REUSEPORT_BPF and a filter that only selects the listener socket(s) in the group. The connect call should call udp_lib_rehash and take the connected socket out of the reuseport listener group. Though admittedly that is more elaborate than setting a boolean socket option. > The ideas for the implementation came up after a discussion with Ian > and Jana re: their implementation of a QUIC server. That might have preceded SO_TXTIME? AFAIK traffic shaping was the only real reason to prefer connected sockets.