[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1432663193.4060.280.camel@edumazet-glaptop2.roam.corp.google.com>
Date: Tue, 26 May 2015 10:59:53 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Shawn Bohrer <shawn.bohrer@...il.com>
Cc: Oliver Graff <oliver.e.graff@...il.com>, netdev@...r.kernel.org
Subject: Re: Socket receives packet to multicast group to which it was not
joined since kernel 3.13.10-1
On Tue, 2015-05-26 at 12:41 -0500, Shawn Bohrer wrote:
> On Sun, May 24, 2015 at 04:55:40AM +0000, Oliver Graff wrote:
> > Shawn Bohrer <shawn.bohrer <at> gmail.com> writes:
> >
> > >
> > > On Tue, May 13, 2014 at 04:36:41PM -0500, Shawn Bohrer wrote:
> >
> > > > If I did "break" something here it appears to be because with
> > > > ip_early_demux we only call ip_check_mc_rcu() once on the initial
> > > > packet, and subsequent packets destined for that socket simply need to
> > > > pass the __udp_is_mcast_sock() test. With ip_early_demux disaled we
> > > > call ip_check_mc_rcu() for every packet.
> > >
> > > So is the solution to effectively call ip_check_mc_rcu() inside
> > > udp_v4_early_demux()?
> > >
> > > --
> > > Shawn
> > >
> > (See earlier parts of thread here:
> > http://netdev.vger.kernel.narkive.com/mwurLsMT/socket-receives-packet-to-multicast-
> > group-to-which-it-was-not-joined-since-kernel-3-13-10-1)
> >
> > Was a bug report filed for this / was this fixed?
> > I looked at the diffs from the referenced commit and the current version of
> > udp_v4_early_demux and the changes appear to be
> > minimal,
> > it doesn't look like ip_check_mc_rcu was added. Is that all that's needed?
>
> Hi Oliver,
>
> I haven't tested but looking over the code I would say that this has
> not been fixed. Is this issue impacting you?
>
> I think calling ip_check_mc_rcu (you might need some of the code from
> ip_route_input_noref too) might "fix" the issue, though I have not
> tried. My concern is that early demux is a performance optimization
> and I don't know how much this would impact multicast receive
> performance.
>
> As Eric mentioned in the earlier email if you don't care about
> performance you can simply disable early demux:
>
> echo 0 >/proc/sys/net/ipv4/ip_early_demux
Well, we should fix the bug, whatever this sysctl value is ;)
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists