On Mon, Nov 28, 2011 at 12:19 PM, Vimal <[email protected]> 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 <[email protected]> wrote: > > > > > > On Sun, Nov 27, 2011 at 10:37 PM, Vimal <[email protected]> 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 > >> [email protected] > >> 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 [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
