netdev
[Top] [All Lists]

Re: [Vlan-devel] Some more questions on multicast & VLAN.

To: Ben Greear <greearb@xxxxxxxxxxxxxxx>
Subject: Re: [Vlan-devel] Some more questions on multicast & VLAN.
From: Gleb Natapov <gleb@xxxxxxxxxxx>
Date: Tue, 10 Oct 2000 17:48:06 +0200
Cc: vlan-devel@xxxxxxxxxxxxxxxxxxxxx, VLAN Mailing List <vlan@xxxxxxxxxxxxxxxx>, "netdev@xxxxxxxxxxx" <netdev@xxxxxxxxxxx>
In-reply-to: <39E33C3D.873C5D3D@candelatech.com>; from greearb@candelatech.com on Tue, Oct 10, 2000 at 08:56:45AM -0700
References: <39E0E2C0.559EE3F3@candelatech.com> <20001010104223.A8550@nbase.co.il> <39E33C3D.873C5D3D@candelatech.com>
Sender: owner-netdev@xxxxxxxxxxx
On Tue, Oct 10, 2000 at 08:56:45AM -0700, Ben Greear wrote:
>
[...]
> You mentioned that there was a race condition when using SMP, could you 
> explain
> that one a bit more?  We could probably put a lock around it if we need to, in
> order to make it safe.

 Not a race condition, but deadlock. Look at linux/net/core/dev_mcast.c. VLAN 
set_multicast_list()
function is called from dev_mc_upload() while holding dev_mc_lock. When you try 
to add or delete
MC address to/from underlying device from your set_multicast_list() you call 
dev_mc_{delete,add} 
and they also try to grab the same lock, oops deadlock ;)

--
                        Gleb.

<Prev in Thread] Current Thread [Next in Thread>