[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <490B183E.3010707@cosmosbay.com>
Date: Fri, 31 Oct 2008 15:37:50 +0100
From: Eric Dumazet <dada1@...mosbay.com>
To: Corey Minyard <minyard@....org>, David Miller <davem@...emloft.net>
CC: Stephen Hemminger <shemminger@...tta.com>,
paulmck@...ux.vnet.ibm.com, benny+usenet@...rsen.dk,
netdev@...r.kernel.org,
Christoph Lameter <cl@...ux-foundation.org>,
a.p.zijlstra@...llo.nl, johnpol@....mipt.ru,
Christian Bell <christian@...i.com>,
Pavel Emelyanov <xemul@...nvz.org>
Subject: Re: [PATCH] udp: Introduce special NULL pointers for hlist termination
Corey Minyard a écrit :
>
> It is annoying that it doesn't help the performance for multicast.
> However, I think the current patch will solve the DOS issue for
> multicast, since it switches to a normal spinlock and has a per-list lock.
About multicast, it should be possible to do something about it, if it happens
to be an issue.
That is, do a lockless lookup and accumulate matching sockets ptr in a table
(incrementing their refcount if not zero, checking key, adding in a local stack).
If lookup must be restarted, forget all accumulated sockets (sock_put(ptrs))
goto begin;
Then, send the (cloned) packet to all accumulated sockets, and
sock_put() them to release the refcount.
Well, looking at current implementation, I found that udp_v4_mcast_next()
doesnt take into account the 'struct net *net', so we have a bug here...
udp_v6_mcast_next() is buggy too (or at least its caller is)
David, please find a patch against net-2.6
Thanks
[PATCH] udp: multicast packets need to check namespace
Current UDP multicast delivery is not namespace aware.
Signed-off-by: Eric Dumazet <dada1@...mosbay.com>
---
net/ipv4/udp.c | 14 ++++++++------
net/ipv6/udp.c | 8 ++++----
2 files changed, 12 insertions(+), 10 deletions(-)
View attachment "udp_multi.patch" of type "text/plain" (3014 bytes)
Powered by blists - more mailing lists