What is RTNL lock?

rohan puri rohan.puri15 at gmail.com
Mon Nov 28 02:05:53 EST 2011


On Mon, Nov 28, 2011 at 12:19 PM, Vimal <j.vimal at gmail.com> 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 at gmail.com> wrote:
> >
> >
> > On Sun, Nov 27, 2011 at 10:37 PM, Vimal <j.vimal at gmail.com> 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 at kernelnewbies.org
> >> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20111128/92aeb500/attachment.html 


More information about the Kernelnewbies mailing list