[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090611.165856.108387598.davem@davemloft.net>
Date: Thu, 11 Jun 2009 16:58:56 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: cl@...ux-foundation.org
Cc: rdreier@...co.com, netdev@...r.kernel.org, yosefe@...taire.COM
Subject: Re: IPoIB: Fix multicast packet drops before join is complete
From: Christoph Lameter <cl@...ux-foundation.org>
Date: Thu, 11 Jun 2009 11:07:52 -0400 (EDT)
> On Tue, 9 Jun 2009, David Miller wrote:
>
>> From: Roland Dreier <rdreier@...co.com>
>> Date: Tue, 09 Jun 2009 20:55:57 -0700
>>
>> > Hmm... how do I do that? The interface gets an skb that it sees should
>> > be sent to a multicast group that it is not a member of yet, and so it
>> > fires off a request to join that group (as a send-only member). How
>> > does a netdev block the process that queued up a given skb to send?
>> > Couldn't the packet have come through a local software bridge or
>> > something like that, so the original process is long since lost to the
>> > network stack?
>>
>> If a facility doesn't exist yet, we're going to have to create
>> one. It would need to do a downcall to the device when the
>> user joins a multicast group on a socket, and then the device
>> can do whatever magic is necessary to speak multicast immediately
>> and sleep until it really is available for immediate use.
>
> Umm?? My patch does that....
No it does not. It eliminates a limit on the generic intermediate
queue. It did no blocking, no sleeping, or the process when it
joined the group.
I was suggesting to block the process, at socket context time, when it
joins a multicast group. That way it wouldn't be able to do any sends
until IPoIB could resolve the multicast join.
--
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