[Devel] Re: [PATCH] [NETNS49] support for per/namespace routing cache cleanup

Daniel Lezcano dlezcano at fr.ibm.com
Fri Oct 19 00:39:06 PDT 2007


Denis V. Lunev wrote:
> Benjamin Thery wrote:
>> Denis V. Lunev wrote:
>>> Benjamin Thery wrote:
>>>> Denis V. Lunev wrote:
>>>>> Daniel Lezcano wrote:
>>>>>> Oh, by the way, I forgot something important you spotted with the 
>>>>>> list
>>>>>> protected by the mutex.
>>>>>>
>>>>>> When looking at ipv6/fib_hash.c with Benjamin, we need to browse the
>>>>>> network namespaces list for the garbage collecting, but we are in an
>>>>>> interrupt handler, so I can not use rtnl_lock.
>>>>> where exactly....
>>>> Actually, it is in net/ipv6/ip6_fib.c, in fib6_clean_all().
>>>>
>>>> fib6_clean_all() is called by fib6_run_gc() handler of the
>>>> ip6_fib_timer. If we don't want to have one such timer per net
>>>> namespace, in fib6_clean_all() we have to go through all net to clean
>>>> their own
>>>> fib_table_hash (using for_each_net() protected by rtnl_lock).
>>> after careful thinking, one timer per/namespace looks better for me :)
>>
>> Why? :)
>> Then you'll have to find a way pass the target net to fib6_run_gc() 
>> (the timer handler). current->nsproxy->net_ns won't work :)
> 
> sorry for spam :) forget to mention that the namespace can be passed via 
> timer data :) yes - additional structure will be required
> 
> By the way, why do you, guys, so dislike our approach :) In that case 
> there will be no problem to get context from currrent. Yes. In soft 
> interrupt also :))

the approach of the patchset is : we don't use current->nsproxy->net_ns.




More information about the Devel mailing list