From: Willy Tarreau <w@1wt.eu>
To: Josh Snyder <josh@code406.com>
Cc: Eric Dumazet <eric.dumazet@gmail.com>,
Tom Herbert <tom@herbertland.com>,
Tolga Ceylan <tolga.ceylan@gmail.com>,
Aaron Conole <aconole@bytheb.org>,
"David S. Miller" <davem@davemloft.net>,
Linux Kernel Network Developers <netdev@vger.kernel.org>
Subject: Re: [PATCH 1/1] net: Add SO_REUSEPORT_LISTEN_OFF socket option as drain mode
Date: Fri, 18 Dec 2015 19:58:12 +0100 [thread overview]
Message-ID: <20151218185812.GD4448@1wt.eu> (raw)
In-Reply-To: <CAO5YkUSL=k3UxmuqkGN666YSvH-=UGKCZvRgqqBnnr1EPRqRtw@mail.gmail.com>
Hi Josh,
On Fri, Dec 18, 2015 at 08:33:45AM -0800, Josh Snyder wrote:
> I was also puzzled that binding succeeded. Looking into the code paths
> involved, in inet_csk_get_port, we quickly goto have_snum. From there, we end
> up dropping into tb_found. Since !hlist_empty(&tb->owners), we end up checking
> that (tb->fastreuseport > 0 && sk->sk_reuseport && uid_eq(tb->fastuid, uid)).
> This test passes, so we goto success and bind.
>
> Crucially, we are checking the fastreuseport field on the inet_bind_bucket, and
> not the sk_reuseport variable on the other sockets in the bucket. Since this
> bit is set based on sk_reuseport at the time the first socket binds (see
> tb_not_found), I can see no reason why sockets need to keep SO_REUSEPORT set
> beyond initial binding.
>
> Given this, I believe Willy's patch elegantly solves the problem at hand.
Great, thanks for your in-depth explanation.
Eric, do you think that this patch may be acceptable material for next
merge window (given that it's not a fix per-se) ? If so I'll resubmit
later.
Thanks,
Willy
next prev parent reply other threads:[~2015-12-18 18:58 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-27 0:30 [PATCH 1/1] net: Add SO_REUSEPORT_LISTEN_OFF socket option as drain mode Tolga Ceylan
2015-09-27 1:04 ` Eric Dumazet
2015-09-27 1:37 ` Tolga Ceylan
2015-09-27 1:44 ` Aaron Conole
2015-09-27 2:02 ` Tolga Ceylan
2015-09-27 2:24 ` Eric Dumazet
2015-11-11 5:41 ` Tom Herbert
2015-11-11 6:19 ` Eric Dumazet
2015-11-11 17:05 ` Tom Herbert
2015-11-11 17:23 ` Eric Dumazet
2015-11-11 18:23 ` Tom Herbert
2015-11-11 18:43 ` Eric Dumazet
2015-11-12 1:09 ` Eric Dumazet
2015-12-15 16:14 ` Willy Tarreau
2015-12-15 17:10 ` Eric Dumazet
2015-12-15 17:43 ` Willy Tarreau
2015-12-15 18:21 ` Eric Dumazet
2015-12-15 19:44 ` Willy Tarreau
2015-12-15 21:21 ` Eric Dumazet
2015-12-16 7:38 ` Willy Tarreau
2015-12-16 16:15 ` Willy Tarreau
2015-12-18 16:33 ` Josh Snyder
2015-12-18 18:58 ` Willy Tarreau [this message]
2015-12-19 2:38 ` Eric Dumazet
2015-12-19 7:00 ` Willy Tarreau
2015-12-21 20:38 ` Tom Herbert
2015-12-21 20:41 ` Willy Tarreau
2016-03-24 5:10 ` Tolga Ceylan
2016-03-24 6:12 ` Willy Tarreau
2016-03-24 14:13 ` Eric Dumazet
2016-03-24 14:22 ` Willy Tarreau
2016-03-24 14:45 ` Eric Dumazet
2016-03-24 15:30 ` Willy Tarreau
2016-03-24 16:33 ` Eric Dumazet
2016-03-24 16:50 ` Willy Tarreau
2016-03-24 17:01 ` Eric Dumazet
2016-03-24 17:26 ` Tom Herbert
2016-03-24 17:55 ` Daniel Borkmann
2016-03-24 18:20 ` Tolga Ceylan
2016-03-24 18:24 ` Willy Tarreau
2016-03-24 18:37 ` Eric Dumazet
2016-03-24 22:40 ` Yann Ylavic
2016-03-24 22:49 ` Eric Dumazet
2016-03-24 23:40 ` Yann Ylavic
2016-03-24 23:54 ` Tom Herbert
2016-03-25 0:01 ` Yann Ylavic
2016-03-25 5:28 ` Willy Tarreau
2016-03-25 6:49 ` Eric Dumazet
2016-03-25 8:53 ` Willy Tarreau
2016-03-25 11:21 ` Yann Ylavic
2016-03-25 13:17 ` Eric Dumazet
2016-03-25 0:25 ` David Miller
2016-03-25 0:24 ` David Miller
2016-03-24 18:00 ` Willy Tarreau
2016-03-24 18:21 ` Willy Tarreau
2016-03-24 18:32 ` Eric Dumazet
-- strict thread matches above, loose matches on Subject: below --
2016-03-25 15:29 Craig Gallek
2016-03-25 16:21 ` Alexei Starovoitov
2016-03-25 16:31 ` Craig Gallek
2016-03-25 17:00 ` Eric Dumazet
2016-03-25 18:31 ` Willem de Bruijn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151218185812.GD4448@1wt.eu \
--to=w@1wt.eu \
--cc=aconole@bytheb.org \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=josh@code406.com \
--cc=netdev@vger.kernel.org \
--cc=tolga.ceylan@gmail.com \
--cc=tom@herbertland.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.