On Mon, Nov 28, 2011 at 12:19 PM, Vimal <j.vimal@xxxxxxxxx> wrote:
This lock is used to serialize changes to net_device instances from runtime events, conf changesHi Rohan
Yes, I understood this part, but I am wondering what is the purpose of
this lock. I am guessing it's to protect all network related
operations from critical events, for e.g.: protecting a packet
transmit during device removal, protecting routing table entry during
route lookup, etc., but I can't find its precise documentation
anywhere. Thanks,
--
On 27 November 2011 22:44, rohan puri <rohan.puri15@xxxxxxxxx> wrote:
>
>
> On Sun, Nov 27, 2011 at 10:37 PM, Vimal <j.vimal@xxxxxxxxx> wrote:
>>
>> Hi all,
>>
>> In the Linux networking code, I see a lot of comments that say "Must
>> be called with RTNL lock."
>>
>> What is this lock? I tried searching for it but couldn't find any
>> explanation on what it is...
>>
>> Thanks
>> --
>> Vimal
>>
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies@xxxxxxxxxxxxxxxxx
>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
> Hello Vimal,
> This is a mutex named rtnl_mutex. Refer file net/core/rtnetlink.c
> static DEFINE_MUTEX(rtnl_mutex);
>
> void rtnl_lock(void)
> {
> mutex_lock(&rtnl_mutex);
> }
> EXPORT_SYMBOL(rtnl_lock);
> Where ever you see those comments indicate that this mutex is to be held
> before execution of that code path.
> Regards,
> Rohan
Vimal
Refer book understanding Linux network internals for more details.
Regards,
Rohan Puri
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies