Date: Fri, 29 Nov 2013 10:03:20 -0800 From: Oleg Moskalenko <mom040267@gmail.com> To: Tim Kientzle <kientzle@freebsd.org> Cc: =?ISO-8859-1?Q?Ermal_Lu=E7i?= <eri@freebsd.org>, freebsd-net <freebsd-net@freebsd.org>, "freebsd-current@freebsd.org" <freebsd-current@freebsd.org> Subject: Re: [PATCH] SO_REUSEADDR and SO_REUSEPORT behaviour Message-ID: <CALDtMrKvwXW-ou8X7zsKx2ST=dKD7FqHvvnQtGo30znTWU%2BVQQ@mail.gmail.com> In-Reply-To: <4053E074-EDC5-49AB-91A7-E50ABE36602E@freebsd.org> References: <CAPBZQG29BEJJ8BK=gn%2Bg_n5o7JSnPbsKQ-=3=6AkFOxzt%2B=wGQ@mail.gmail.com> <4053E074-EDC5-49AB-91A7-E50ABE36602E@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Tim, you are wrong. Read what is "multicast" definition, and read how UDP and TCP sockets work in Linux 3.9+ kernels. Oleg . On Fri, Nov 29, 2013 at 9:59 AM, Tim Kientzle <kientzle@freebsd.org> wrote: > > On Nov 29, 2013, at 4:04 AM, Ermal Lu=E7i <eri@freebsd.org> wrote: > > > Hello, > > > > since SO_REUSEADDR and SO_REUSEPORT are supposed to allow two daemons t= o > > share the same port and possibly listening ip =85 > > These flags are used with TCP-based servers. > > I=92ve used them to make software upgrades go more smoothly. > Without them, the following often happens: > > * Old server stops. In the process, all of its TCP connections are close= d. > > * Connections to old server remain in the TCP connection table until the > remote end can acknowledge. > > * New server starts. > > * New server tries to open port but fails because that port is =93still i= n > use=94 by connections in the TCP connection table. > > With these flags, the new server can open the port even though > it is =93still in use=94 by existing connections. > > > > This is not the case today. > > Only multicast sockets seem to have the behaviour of broadcasting the > data > > to all sockets sharing the same properties through these options! > > That is what multicast is for. > > If you want the same data sent to all listeners, then > that is multicast behavior and you should be using > a multicast socket. > > > The patch at [1] implements/corrects the behaviour for UDP sockets. > > You=92re trying to turn all UDP sockets with those options > into multicast sockets. > > If you want a multicast socket, you should ask for one. > > Tim > > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALDtMrKvwXW-ou8X7zsKx2ST=dKD7FqHvvnQtGo30znTWU%2BVQQ>