Re: What is RTNL lock?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Mon, Nov 28, 2011 at 12:19 PM, Vimal <j.vimal@xxxxxxxxx> wrote:
Hi 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
This lock is used to serialize changes to net_device instances from runtime events, conf changes

Refer book understanding Linux network internals for more details.

Regards,
Rohan Puri
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux