[Devel] [PATCH 10/12] L2 network namespace: playing with pass-through device
Daniel Lezcano
dlezcano at fr.ibm.com
Tue Dec 12 06:10:21 PST 2006
Dmitry Mishin wrote:
> On Tuesday 12 December 2006 16:59, Daniel Lezcano wrote:
>> Dmitry Mishin wrote:
>>> Temporary code to debug and play with pass-through device.
>>> Create device pair by
>>> modprobe veth
>>> echo 'add veth1 0:1:2:3:4:1 eth0 0:1:2:3:4:2' >/proc/net/veth_ctl
>>> and your shell will appear into a new namespace with `eth0' device.
>>> Configure device in this namespace
>>> ip l s eth0 up
>>> ip a a 1.2.3.4/24 dev eth0
>>> and in the root namespace
>>> ip l s veth1 up
>>> ip a a 1.2.3.1/24 dev veth1
>>> to establish a communication channel between root namespace and the newly
>>> created one.
>>>
>>> Code is done by Andrey Savochkin and ported by me over Cedric'c patchset
>>>
>>> Signed-off-by: Dmitry Mishin <dim at openvz.org>
>>>
>> [ ... ]
>>
>>> --- linux-2.6.19-rc6-mm2.orig/include/linux/net_namespace.h
>>> +++ linux-2.6.19-rc6-mm2/include/linux/net_namespace.h
>>> @@ -24,6 +24,9 @@ struct net_namespace {
>>> int fib4_trie_last_dflt;
>>> #endif
>>> unsigned int hash;
>>> + struct net_namespace *parent;
>>> + struct list_head child_list, sibling_list;
>>> + unsigned int id;
>>> };
>> 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 ?
More information about the Devel
mailing list