public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: David Schwartz <davids@webmaster.com>
To: <terje.eggestad@scali.com>
Cc: linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: Possible bug with UDP and SO_REUSEADDR.
Date: Mon, 29 Apr 2002 01:44:47 -0700	[thread overview]
Message-ID: <20020429084448.AAA25009@shell.webmaster.com@whenever> (raw)
In-Reply-To: <1020067604.22026.3.camel@pc-16.office.scali.no>


>>    1) The two instances are cooperating closely together and should be
>>sharing
>>a socket (not each opening one), or
>>
>>    2) The two instances are not cooperating closely together and each own
>>their
>>own socket. For all the kernel knows, they don't even know about each
>>other.
>>
>>    In the first case, it's logical for whichever one happens to try to 
read
>>first to get the/a datagram. In the second case, it's logical for the
>>kernel
>>to pick one and give it all the data.
>>
>>    DS

>IMHO, in the second case it's logical for the kernel NOT to allow the
>second to bind to the port at all. Which it actually does, it's the
>normal case. When you set the SO_REUSEADDR flag on the socket you're
>telling the kernel that we're in case 1).
>
>TJ  

	NO. When you set the SO_REUSEADDR, you are telling the kernel that you 
intend to share your port with *someone*, but not who. The kernel has no way 
to know that two processes that bind to the same UDP port with SO_REUSEADDR 
are the two that were intended to cooperate with each other. For all it 
knows, one is a foo intended to cooperate with other foo's and the other is a 
bar intended to cooperate with other bar's.

	That's why if you mean to share, you should share the actual socket 
descriptor rather than trying to reference the same transport endpoint with 
two different sockets.

	Of course, in this case you don't even need SO_REUSEADDR/SO_REUSEPORT since 
you only actually open the endpoint once.

	DS



  reply	other threads:[~2002-04-29  8:44 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20020410.190550.83626375.taka@valinux.co.jp.suse.lists.linux.kernel>
2002-04-10 19:32 ` [PATCH] zerocopy NFS updated Andi Kleen
2002-04-11  2:30   ` David S. Miller
2002-04-11  6:46     ` Hirokazu Takahashi
2002-04-11  6:48       ` David S. Miller
2002-04-11  7:41         ` Hirokazu Takahashi
2002-04-11  7:52           ` David S. Miller
2002-04-11 11:38             ` Hirokazu Takahashi
2002-04-11 11:36               ` David S. Miller
2002-04-11 18:00                 ` Denis Vlasenko
2002-04-11 13:16                   ` Andi Kleen
2002-04-11 17:36                     ` Benjamin LaHaise
2002-04-16  0:17                     ` Mike Fedyk
2002-04-16 15:37                       ` Oliver Xymoron
2002-04-11 17:33             ` Benjamin LaHaise
2002-04-12  8:10               ` Hirokazu Takahashi
2002-04-12 12:30         ` Hirokazu Takahashi
2002-04-12 12:35           ` Andi Kleen
2002-04-12 21:22             ` Jamie Lokier
2002-04-12 21:31               ` David S. Miller
2002-04-13  0:21                 ` Jamie Lokier
2002-04-13  6:39                   ` Andi Kleen
2002-04-13  8:01                     ` Hirokazu Takahashi
2002-04-13 19:19                     ` Eric W. Biederman
2002-04-13 19:37                       ` Andi Kleen
2002-04-13 20:34                         ` Eric W. Biederman
2002-04-24 23:11                           ` Mike Fedyk
2002-04-25 17:11                             ` Andreas Dilger
2002-04-13 18:52                 ` Chris Wedgwood
2002-04-14  0:07                   ` Keith Owens
2002-04-14  8:19                     ` Chris Wedgwood
2002-04-14  8:40                       ` Keith Owens
2002-04-12 21:39             ` David S. Miller
2002-04-15  1:30               ` Hirokazu Takahashi
2002-04-15  4:23                 ` David S. Miller
2002-04-16  1:03                   ` Hirokazu Takahashi
2002-04-16  1:41                     ` Jakob Østergaard
2002-04-16  2:20                       ` Hirokazu Takahashi
2002-04-18  5:01                       ` Hirokazu Takahashi
2002-04-18  7:58                         ` Jakob Østergaard
2002-04-18  8:53                         ` Trond Myklebust
2002-04-19  3:21                           ` Hirokazu Takahashi
2002-04-19  9:18                             ` Trond Myklebust
2002-04-20  7:47                               ` Hirokazu Takahashi
2002-04-25 12:37                                 ` Possible bug with UDP and SO_REUSEADDR. Was " Terje Eggestad
2002-04-26  2:43                                   ` David S. Miller
2002-04-26  7:38                                     ` Terje Eggestad
2002-04-29  0:41                                     ` Possible bug with UDP and SO_REUSEADDR David Schwartz
2002-04-29  8:06                                       ` Terje Eggestad
2002-04-29  8:44                                         ` David Schwartz [this message]
2002-04-29 10:03                                           ` Terje Eggestad
2002-04-29 10:38                                             ` David Schwartz
2002-04-29 14:20                                               ` Terje Eggestad
     [not found]                               ` <200204192128.QAA24592@popmail.austin.ibm.com>
2002-04-20 10:14                                 ` [PATCH] zerocopy NFS updated Hirokazu Takahashi
2002-04-20 15:49                                   ` Andrew Theurer

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=20020429084448.AAA25009@shell.webmaster.com@whenever \
    --to=davids@webmaster.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=terje.eggestad@scali.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox