Dmitry Mishin wrote: > On Tuesday 12 December 2006 17:19, Daniel Lezcano wrote: >> Dmitry Mishin wrote: >> >>>>>> Why do yo need to have a child list and sibling list ? >>>>> Because of the level2<->level3 hierarchy, for example. >>>> This hierarchy doesn't exist with ns->parent ? Do you have an example >>>> when the hierarchy should be used ? I mean when we need to browse from >>>> l2 -> l3 ? >>> For example, to check that new ifaddr is already used by child l3 namespace. >> The devinet isolation does already do that, you can not add a new ifaddr >> if it already exists. Do you have another example ? > Could devinet isolation provide ifaddrs list with namespaces? I hope the answer is yes... It seems to me that we do way to many lookups like this: + rcu_read_lock(); + in_dev = __in_dev_get_rcu(dev); + if (!in_dev) + goto no_in_dev; + + for_ifa(in_dev) { in the proposed L3 code. > What will be with child namespaces if you decide to destroy parent namespace? > If we decide to destroy them, than how we could get their list? I think they should be destroyed as well. This is where the child_list will/should be used. However, I don't see a need for sibling_list until interface migration is done. -vlad