replace all lxc.network* with lxc.net*

This patch wipe all references to lxc.network{[i]}.*
and replace with lxc.net.{[i]}.* in templates, documentation
and configuration files.

Signed-off-by: 0x0916 <w@laoqinren.net>
This commit is contained in:
0x0916 2017-06-26 21:08:34 +08:00
parent 18ede42752
commit 7fa3f2e9eb
52 changed files with 389 additions and 389 deletions

View File

@ -83,8 +83,8 @@ LXC is configured via a simple set of keys. For example,
- `lxc.mount.entry` - `lxc.mount.entry`
LXC namespaces configuration keys by using single dots. This means complex LXC namespaces configuration keys by using single dots. This means complex
configuration keys such as `lxc.network` expose various subkeys such as configuration keys such as `lxc.net.0` expose various subkeys such as
`lxc.network.type`, `lxc.network.link`, `lxc.network.ipv6`, and others for even `lxc.net.0.type`, `lxc.net.0.link`, `lxc.net.0.ipv6`, and others for even
more fine-grained configuration. more fine-grained configuration.
LXC is used as the default runtime for [LXD](https://github.com/lxc/lxd), LXC is used as the default runtime for [LXD](https://github.com/lxc/lxd),

View File

@ -1,3 +1,3 @@
lxc.network.type = veth lxc.net.0.type = veth
lxc.network.link = virbr0 lxc.net.0.link = virbr0
lxc.network.flags = up lxc.net.0.flags = up

View File

@ -1 +1 @@
lxc.network.type = empty lxc.net.0.type = empty

View File

@ -56,7 +56,7 @@ wait_for_bridge()
local BRNAME try flags br local BRNAME try flags br
[ -f "$sysconfdir"/lxc/default.conf ] || { return 0; } [ -f "$sysconfdir"/lxc/default.conf ] || { return 0; }
BRNAME=`grep '^[ ]*lxc.network.link' "$sysconfdir"/lxc/default.conf | sed 's/^.*=[ ]*//'` BRNAME=`grep '^[ ]*lxc.net.0.link' "$sysconfdir"/lxc/default.conf | sed 's/^.*=[ ]*//'`
if [ -z "$BRNAME" ]; then if [ -z "$BRNAME" ]; then
return 0 return 0
fi fi

View File

@ -1,23 +1,23 @@
# Container with network a complex network mixing macvlan, veth and # Container with network a complex network mixing macvlan, veth and
# physical network devices # physical network devices
lxc.utsname = complex lxc.utsname = complex
lxc.network.type = veth lxc.net.0.type = veth
lxc.network.flags = up lxc.net.0.flags = up
lxc.network.link = br0 lxc.net.0.link = br0
lxc.network.hwaddr = 4a:49:43:49:79:bf lxc.net.0.hwaddr = 4a:49:43:49:79:bf
lxc.network.ipv4 = 10.2.3.5/24 lxc.net.0.ipv4 = 10.2.3.5/24
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597 lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597
lxc.network.type = macvlan lxc.net.0.type = macvlan
lxc.network.flags = up lxc.net.0.flags = up
lxc.network.link = eth0 lxc.net.0.link = eth0
lxc.network.hwaddr = 4a:49:43:49:79:bd lxc.net.0.hwaddr = 4a:49:43:49:79:bd
lxc.network.ipv4 = 10.2.3.4/24 lxc.net.0.ipv4 = 10.2.3.4/24
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596 lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596
lxc.network.type = phys lxc.net.0.type = phys
lxc.network.flags = up lxc.net.0.flags = up
lxc.network.link = dummy0 lxc.net.0.link = dummy0
lxc.network.hwaddr = 4a:49:43:49:79:ff lxc.net.0.hwaddr = 4a:49:43:49:79:ff
lxc.network.ipv4 = 10.2.3.6/24 lxc.net.0.ipv4 = 10.2.3.6/24
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3297 lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3297

View File

@ -1,4 +1,4 @@
# Container with new network withtout network devices # Container with new network withtout network devices
lxc.utsname = omega lxc.utsname = omega
lxc.network.type = empty lxc.net.0.type = empty
lxc.network.flags = up lxc.net.0.flags = up

View File

@ -1,8 +1,8 @@
# Container with network virtualized using the macvlan device driver # Container with network virtualized using the macvlan device driver
lxc.utsname = alpha lxc.utsname = alpha
lxc.network.type = macvlan lxc.net.0.type = macvlan
lxc.network.flags = up lxc.net.0.flags = up
lxc.network.link = eth0 lxc.net.0.link = eth0
lxc.network.hwaddr = 4a:49:43:49:79:bd lxc.net.0.hwaddr = 4a:49:43:49:79:bd
lxc.network.ipv4 = 10.2.3.4/24 lxc.net.0.ipv4 = 10.2.3.4/24
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596 lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596

View File

@ -1,3 +1,3 @@
# Container with non-virtualized network # Container with non-virtualized network
lxc.network.type = none lxc.net.0.type = none
lxc.utsname = delta lxc.utsname = delta

View File

@ -1,9 +1,9 @@
# Container with network virtualized using a physical network device with name # Container with network virtualized using a physical network device with name
# 'eth0' # 'eth0'
lxc.utsname = gamma lxc.utsname = gamma
lxc.network.type = phys lxc.net.0.type = phys
lxc.network.flags = up lxc.net.0.flags = up
lxc.network.link = eth0 lxc.net.0.link = eth0
lxc.network.hwaddr = 4a:49:43:49:79:ff lxc.net.0.hwaddr = 4a:49:43:49:79:ff
lxc.network.ipv4 = 10.2.3.6/24 lxc.net.0.ipv4 = 10.2.3.6/24
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3297 lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3297

View File

@ -1,9 +1,9 @@
# Container with network virtualized using a pre-configured bridge named br0 and # Container with network virtualized using a pre-configured bridge named br0 and
# veth pair virtual network devices # veth pair virtual network devices
lxc.utsname = beta lxc.utsname = beta
lxc.network.type = veth lxc.net.0.type = veth
lxc.network.flags = up lxc.net.0.flags = up
lxc.network.link = br0 lxc.net.0.link = br0
lxc.network.hwaddr = 4a:49:43:49:79:bf lxc.net.0.hwaddr = 4a:49:43:49:79:bf
lxc.network.ipv4 = 10.2.3.5/24 lxc.net.0.ipv4 = 10.2.3.5/24
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597 lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597

View File

@ -1,9 +1,9 @@
# Container with network virtualized using the vlan device driver # Container with network virtualized using the vlan device driver
lxc.utsname = alpha lxc.utsname = alpha
lxc.network.type = vlan lxc.net.0.type = vlan
lxc.network.vlan.id = 1234 lxc.net.0.vlan.id = 1234
lxc.network.flags = up lxc.net.0.flags = up
lxc.network.link = eth0 lxc.net.0.link = eth0
lxc.network.hwaddr = 4a:49:43:49:79:bd lxc.net.0.hwaddr = 4a:49:43:49:79:bd
lxc.network.ipv4 = 10.2.3.4/24 lxc.net.0.ipv4 = 10.2.3.4/24
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596 lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596

View File

@ -220,7 +220,7 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>lxc-info -n foo -c lxc.network.0.veth.pair</term> <term>lxc-info -n foo -c lxc.net.0.veth.pair</term>
<listitem> <listitem>
<para> <para>
<!-- <!--

View File

@ -126,12 +126,12 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
<para> <para>
<!-- <!--
LXC namespaces configuration keys by using single dots. This means complex LXC namespaces configuration keys by using single dots. This means complex
configuration keys such as <option>lxc.network</option> expose various configuration keys such as <option>lxc.net.0</option> expose various
subkeys such as <option>lxc.network.type</option>, subkeys such as <option>lxc.net.0.type</option>,
<option>lxc.network.link</option>, <option>lxc.network.ipv6</option>, and <option>lxc.net.0.link</option>, <option>lxc.net.0.ipv6</option>, and
others for even more fine-grained configuration. others for even more fine-grained configuration.
--> -->
LXC は、シングルドットを使って設定キーの名前空間を表します。<option>lxc.network</option> のような複雑な設定キーは、<option>lxc.network.type</option>、<option>lxc.network.link</option>、<option>lxc.network.ipv6</option> や、さらに細分化された設定向けの色々なサブキーを持つことを意味します。 LXC は、シングルドットを使って設定キーの名前空間を表します。<option>lxc.net.0</option> のような複雑な設定キーは、<option>lxc.net.0.type</option>、<option>lxc.net.0.link</option>、<option>lxc.net.0.ipv6</option> や、さらに細分化された設定向けの色々なサブキーを持つことを意味します。
</para> </para>
<refsect2> <refsect2>
@ -455,7 +455,7 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network</option> <option>lxc.net</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -468,7 +468,7 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].type</option> <option>lxc.net.[i].type</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -477,17 +477,17 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
for the container. for the container.
Multiple networks can be specified by using an additional index Multiple networks can be specified by using an additional index
<option>i</option> <option>i</option>
after all <option>lxc.network.*</option> keys. For example, after all <option>lxc.net.*</option> keys. For example,
<option>lxc.network.0.type = veth</option> and <option>lxc.net.0.type = veth</option> and
<option>lxc.network.1.type = veth</option> specify two different <option>lxc.net.1.type = veth</option> specify two different
networks of the same type. All keys sharing the same index networks of the same type. All keys sharing the same index
<option>i</option> will be treated as belonging to the same <option>i</option> will be treated as belonging to the same
network. For example, <option>lxc.network.0.link = br0</option> network. For example, <option>lxc.net.0.link = br0</option>
will belong to <option>lxc.network.0.type</option>. will belong to <option>lxc.net.0.type</option>.
Currently, the different virtualization types can be: Currently, the different virtualization types can be:
--> -->
コンテナがどの種類のネットワーク仮想化を使うかを指定します。すべての <option>lxc.network.*</option> キーに、追加のインデックス <option>i</option> を使うと、複数のネットワークを指定できます。例えば、<option>lxc.network.0.type = veth</option> と <option>lxc.network.1.type = veth</option> は、同じタイプの異なるネットワークを 2 つ指定します。 コンテナがどの種類のネットワーク仮想化を使うかを指定します。すべての <option>lxc.net.*</option> キーに、追加のインデックス <option>i</option> を使うと、複数のネットワークを指定できます。例えば、<option>lxc.net.0.type = veth</option> と <option>lxc.net.1.type = veth</option> は、同じタイプの異なるネットワークを 2 つ指定します。
同じインデックスを指定したキーはすべて同じネットワークの指定になります。例えば、<option>lxc.network.0.link = br0</option> は <option>lxc.network.0.type</option> と同じネットワークの設定になります。 同じインデックスを指定したキーはすべて同じネットワークの指定になります。例えば、<option>lxc.net.0.link = br0</option> は <option>lxc.net.0.type</option> と同じネットワークの設定になります。
現時点では、以下のネットワーク仮想化のタイプが使えます: 現時点では、以下のネットワーク仮想化のタイプが使えます:
</para> </para>
@ -518,7 +518,7 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
<option>veth:</option> a virtual ethernet pair <option>veth:</option> a virtual ethernet pair
device is created with one side assigned to the container device is created with one side assigned to the container
and the other side attached to a bridge specified by and the other side attached to a bridge specified by
the <option>lxc.network.link</option> option. the <option>lxc.net.[i].link</option> option.
If the bridge is not specified, then the veth pair device If the bridge is not specified, then the veth pair device
will be created but not attached to any bridge. will be created but not attached to any bridge.
Otherwise, the bridge has to be created on the system Otherwise, the bridge has to be created on the system
@ -530,37 +530,37 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
container, but if you wish to handle container, but if you wish to handle
this name yourselves, you can tell <command>lxc</command> this name yourselves, you can tell <command>lxc</command>
to set a specific name with to set a specific name with
the <option>lxc.network.veth.pair</option> option (except for the <option>lxc.net.[i].veth.pair</option> option (except for
unprivileged containers where this option is ignored for security unprivileged containers where this option is ignored for security
reasons). reasons).
--> -->
<option>veth:</option > 一方がコンテナに、もう一方が <option>lxc.network.link</option> オプションで指定されたブリッジに接続されるペアの仮想イーサネットデバイスを作成します。 <option>veth:</option > 一方がコンテナに、もう一方が <option>lxc.net.[i].link</option> オプションで指定されたブリッジに接続されるペアの仮想イーサネットデバイスを作成します。
もし、ブリッジが指定されていない場合、veth ペアデバイスは作成されますが、ブリッジには接続されません。 もし、ブリッジが指定されていない場合、veth ペアデバイスは作成されますが、ブリッジには接続されません。
ブリッジはコンテナが開始する前にシステムで事前に設定しておく必要があります。 ブリッジはコンテナが開始する前にシステムで事前に設定しておく必要があります。
<command>lxc</command> はコンテナ外の設定を扱うことはありません。 <command>lxc</command> はコンテナ外の設定を扱うことはありません。
デフォルトでは、<command>lxc</command> がコンテナの外部に属するネットワークデバイスに対する名前を決定します。 デフォルトでは、<command>lxc</command> がコンテナの外部に属するネットワークデバイスに対する名前を決定します。
しかし、もしこの名前を自分で指定したい場合、<option>lxc.network.veth.pair</option> オプションを使って名前を設定し、lxc に対して指定をすることができます (非特権コンテナの場合をのぞきます。セキュリティ上の理由からこのオプションは無視されます)。 しかし、もしこの名前を自分で指定したい場合、<option>lxc.net.[i].veth.pair</option> オプションを使って名前を設定し、lxc に対して指定をすることができます (非特権コンテナの場合をのぞきます。セキュリティ上の理由からこのオプションは無視されます)。
</para> </para>
<para> <para>
<!-- <!--
<option>vlan:</option> a vlan interface is linked with <option>vlan:</option> a vlan interface is linked with
the interface specified by the interface specified by
the <option>lxc.network.link</option> and assigned to the <option>lxc.net.[i].link</option> and assigned to
the container. The vlan identifier is specified with the the container. The vlan identifier is specified with the
option <option>lxc.network.vlan.id</option>. option <option>lxc.net.[i].vlan.id</option>.
--> -->
<option>vlan:</option> vlan インターフェースは <option>lxc.network.link</option> で指定されたインターフェースとリンクし、コンテナに割り当てられます。 <option>vlan:</option> vlan インターフェースは <option>lxc.net.[i].link</option> で指定されたインターフェースとリンクし、コンテナに割り当てられます。
vlan の指定は <option>lxc.network.vlan.id</option> オプションで指定します。 vlan の指定は <option>lxc.net.[i].vlan.id</option> オプションで指定します。
</para> </para>
<para> <para>
<!-- <!--
<option>macvlan:</option> a macvlan interface is linked <option>macvlan:</option> a macvlan interface is linked
with the interface specified by with the interface specified by
the <option>lxc.network.link</option> and assigned to the <option>lxc.net.[i].link</option> and assigned to
the container. the container.
<option>lxc.network.macvlan.mode</option> specifies the <option>lxc.net.[i].macvlan.mode</option> specifies the
mode the macvlan will use to communicate between mode the macvlan will use to communicate between
different macvlan on the same upper device. The accepted different macvlan on the same upper device. The accepted
modes are <option>private</option>, <option>vepa</option>, modes are <option>private</option>, <option>vepa</option>,
@ -589,8 +589,8 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
interface. Only one macvlan interface in <option>passthru</option> interface. Only one macvlan interface in <option>passthru</option>
mode is possible for one physical interface. mode is possible for one physical interface.
--> -->
<option>macvlan:</option> macvlan インターフェースは <option>lxc.network.link</option> により指定されるインターフェースとリンクし、コンテナに割り当てられます。 <option>macvlan:</option> macvlan インターフェースは <option>lxc.net.[i].link</option> により指定されるインターフェースとリンクし、コンテナに割り当てられます。
<option>lxc.network.macvlan.mode</option> でモードを指定すると、その macvlan の指定を、同じ上位デバイスで異なる macvlan の間の通信をする時に使います。 <option>lxc.net.[i].macvlan.mode</option> でモードを指定すると、その macvlan の指定を、同じ上位デバイスで異なる macvlan の間の通信をする時に使います。
指定できるモードは <option>private</option>、<option>vepa</option>、<option>bridge</option>、<option>passthru</option> のいずれかです。 指定できるモードは <option>private</option>、<option>vepa</option>、<option>bridge</option>、<option>passthru</option> のいずれかです。
<option>private</option> モードの場合、デバイスは同じ上位デバイスの他のデバイスとの通信を行いません (デフォルト)。 <option>private</option> モードの場合、デバイスは同じ上位デバイスの他のデバイスとの通信を行いません (デフォルト)。
新しい仮想イーサネットポート集約モード (Virtual Ethernet Port Aggregator (VEPA)) である <option>vepa</option> モードの場合、隣接したポートが、ソースとデスティネーションの両方が macvlan ポートに対してローカルであるフレームを全て返すと仮定します。 新しい仮想イーサネットポート集約モード (Virtual Ethernet Port Aggregator (VEPA)) である <option>vepa</option> モードの場合、隣接したポートが、ソースとデスティネーションの両方が macvlan ポートに対してローカルであるフレームを全て返すと仮定します。
@ -608,17 +608,17 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
<para> <para>
<!-- <!--
<option>phys:</option> an already existing interface <option>phys:</option> an already existing interface
specified by the <option>lxc.network.link</option> is specified by the <option>lxc.net.[i].link</option> is
assigned to the container. assigned to the container.
--> -->
<option>phys:</option> <option>lxc.network.link</option> で指定された、すでに存在しているインターフェースがコンテナに割り当てられます。 <option>phys:</option> <option>lxc.net.[i].link</option> で指定された、すでに存在しているインターフェースがコンテナに割り当てられます。
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].flags</option> <option>lxc.net.[i].flags</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -639,7 +639,7 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].link</option> <option>lxc.net.[i].link</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -653,7 +653,7 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].mtu</option> <option>lxc.net.[i].mtu</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -667,7 +667,7 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].name</option> <option>lxc.net.[i].name</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -684,7 +684,7 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].hwaddr</option> <option>lxc.net.[i].hwaddr</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -702,7 +702,7 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].ipv4</option> <option>lxc.net.[i].ipv4</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -718,7 +718,7 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].ipv4.gateway</option> <option>lxc.net.[i].ipv4.gateway</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -729,13 +729,13 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
Can also have the special value <option>auto</option>, Can also have the special value <option>auto</option>,
which means to take the primary address from the bridge which means to take the primary address from the bridge
interface (as specified by the interface (as specified by the
<option>lxc.network.link</option> option) and use that as <option>lxc.net.[i].link</option> option) and use that as
the gateway. <option>auto</option> is only available when the gateway. <option>auto</option> is only available when
using the <option>veth</option> and using the <option>veth</option> and
<option>macvlan</option> network types. <option>macvlan</option> network types.
--> -->
コンテナでゲートウェイとして使う IPv4 アドレスを指定します。アドレスは x.y.z.t というフォーマットです。例) 192.168.1.123 コンテナでゲートウェイとして使う IPv4 アドレスを指定します。アドレスは x.y.z.t というフォーマットです。例) 192.168.1.123
<option>auto</option> という特別な値を指定できます。これは (<option>lxc.network.link</option> で指定した) ブリッジインターフェースの最初のアドレスを使用し、それをゲートウェイに使うという意味になります。<option>auto</option> はネットワークタイプとして <option>veth</option> と <option>macvlan</option> を指定している時だけ有効となります。 <option>auto</option> という特別な値を指定できます。これは (<option>lxc.net.[i].link</option> で指定した) ブリッジインターフェースの最初のアドレスを使用し、それをゲートウェイに使うという意味になります。<option>auto</option> はネットワークタイプとして <option>veth</option> と <option>macvlan</option> を指定している時だけ有効となります。
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -743,7 +743,7 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].ipv6</option> <option>lxc.net.[i].ipv6</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -760,7 +760,7 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].ipv6.gateway</option> <option>lxc.net.[i].ipv6.gateway</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -771,20 +771,20 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
Can also have the special value <option>auto</option>, Can also have the special value <option>auto</option>,
which means to take the primary address from the bridge which means to take the primary address from the bridge
interface (as specified by the interface (as specified by the
<option>lxc.network.link</option> option) and use that as <option>lxc.net.[i].link</option> option) and use that as
the gateway. <option>auto</option> is only available when the gateway. <option>auto</option> is only available when
using the <option>veth</option> and using the <option>veth</option> and
<option>macvlan</option> network types. <option>macvlan</option> network types.
--> -->
コンテナでゲートウェイとして使う IPv6 アドレスを指定します。アドレスは x::y というフォーマットです。例) 2003:db8:1:0::1 コンテナでゲートウェイとして使う IPv6 アドレスを指定します。アドレスは x::y というフォーマットです。例) 2003:db8:1:0::1
<option>auto</option> という特別な値を記述する事も可能です。これは (<option>lxc.network.link</option> で指定した) ブリッジインターフェースの最初のアドレスを使用し、それをゲートウェイに使うという意味になります。<option>auto</option> はネットワークタイプとして <option>veth</option> と <option>macvlan</option> を指定している時だけ有効となります。 <option>auto</option> という特別な値を記述する事も可能です。これは (<option>lxc.net.[i].link</option> で指定した) ブリッジインターフェースの最初のアドレスを使用し、それをゲートウェイに使うという意味になります。<option>auto</option> はネットワークタイプとして <option>veth</option> と <option>macvlan</option> を指定している時だけ有効となります。
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].script.up</option> <option>lxc.net.[i].script.up</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -817,7 +817,7 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].script.down</option> <option>lxc.net.[i].script.down</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -2668,13 +2668,13 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
</para> </para>
<programlisting> <programlisting>
lxc.utsname = myhostname lxc.utsname = myhostname
lxc.network.type = veth lxc.net.0.type = veth
lxc.network.flags = up lxc.net.0.flags = up
lxc.network.link = br0 lxc.net.0.link = br0
lxc.network.name = eth0 lxc.net.0.name = eth0
lxc.network.hwaddr = 4a:49:43:49:79:bf lxc.net.0.hwaddr = 4a:49:43:49:79:bf
lxc.network.ipv4 = 1.2.3.5/24 1.2.3.255 lxc.net.0.ipv4 = 1.2.3.5/24 1.2.3.255
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597 lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597
</programlisting> </programlisting>
</refsect2> </refsect2>
@ -2721,26 +2721,26 @@ by KATOH Yasufumi <karma at jazz.email.ne.jp>
</para> </para>
<programlisting> <programlisting>
lxc.utsname = complex lxc.utsname = complex
lxc.network.0.type = veth lxc.net.0.type = veth
lxc.network.0.flags = up lxc.net.0.flags = up
lxc.network.0.link = br0 lxc.net.0.link = br0
lxc.network.0.hwaddr = 4a:49:43:49:79:bf lxc.net.0.hwaddr = 4a:49:43:49:79:bf
lxc.network.0.ipv4 = 10.2.3.5/24 10.2.3.255 lxc.net.0.ipv4 = 10.2.3.5/24 10.2.3.255
lxc.network.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597 lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597
lxc.network.0.ipv6 = 2003:db8:1:0:214:5432:feab:3588 lxc.net.0.ipv6 = 2003:db8:1:0:214:5432:feab:3588
lxc.network.1.type = macvlan lxc.net.1.type = macvlan
lxc.network.1.flags = up lxc.net.1.flags = up
lxc.network.1.link = eth0 lxc.net.1.link = eth0
lxc.network.1.hwaddr = 4a:49:43:49:79:bd lxc.net.1.hwaddr = 4a:49:43:49:79:bd
lxc.network.1.ipv4 = 10.2.3.4/24 lxc.net.1.ipv4 = 10.2.3.4/24
lxc.network.1.ipv4 = 192.168.10.125/24 lxc.net.1.ipv4 = 192.168.10.125/24
lxc.network.1.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596 lxc.net.1.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596
lxc.network.2.type = phys lxc.net.2.type = phys
lxc.network.2.flags = up lxc.net.2.flags = up
lxc.network.2.link = dummy0 lxc.net.2.link = dummy0
lxc.network.2.hwaddr = 4a:49:43:49:79:ff lxc.net.2.hwaddr = 4a:49:43:49:79:ff
lxc.network.2.ipv4 = 10.2.3.6/24 lxc.net.2.ipv4 = 10.2.3.6/24
lxc.network.2.ipv6 = 2003:db8:1:0:214:1234:fe0b:3297 lxc.net.2.ipv6 = 2003:db8:1:0:214:1234:fe0b:3297
lxc.cgroup.cpuset.cpus = 0,1 lxc.cgroup.cpuset.cpus = 0,1
lxc.cgroup.cpu.shares = 1234 lxc.cgroup.cpu.shares = 1234
lxc.cgroup.devices.deny = a lxc.cgroup.devices.deny = a

View File

@ -220,7 +220,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>lxc-info -n foo -c lxc.network.0.veth.pair</term> <term>lxc-info -n foo -c lxc.net.0.veth.pair</term>
<listitem> <listitem>
<para> <para>
<!-- <!--

View File

@ -415,7 +415,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network</option> <option>lxc.net</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -428,14 +428,14 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.type</option> <option>lxc.net.[i].type</option>
</term> </term>
<listitem> <listitem>
<para> <para>
<!-- <!--
specify what kind of network virtualization to be used specify what kind of network virtualization to be used
for the container. Each time for the container. Each time
a <option>lxc.network.type</option> field is found a new a <option>lxc.net.[i].type</option> field is found a new
round of network configuration begins. In this way, round of network configuration begins. In this way,
several network virtualization types can be specified several network virtualization types can be specified
for the same container, as well as assigning several for the same container, as well as assigning several
@ -443,7 +443,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
virtualization types can be: virtualization types can be:
--> -->
컨테이너가 어떤 종류의 네트워크 가상화를 사용할지 지정한다. 컨테이너가 어떤 종류의 네트워크 가상화를 사용할지 지정한다.
<option>lxc.network.type</option> 필드부터 새로운 네트워크 설정이 시작된다. 이 방법으로 여러개의 네트워크 가상화 형태를 같은 컨테이너에 지정할 수 있다. 그리고 여러개의 네트워크 인터페이스를 하나의 컨테이너에 지정할 수도 있다. <option>lxc.net.[i].type</option> 필드부터 새로운 네트워크 설정이 시작된다. 이 방법으로 여러개의 네트워크 가상화 형태를 같은 컨테이너에 지정할 수 있다. 그리고 여러개의 네트워크 인터페이스를 하나의 컨테이너에 지정할 수도 있다.
지정 가능한 형태는 아래와 같다. 지정 가능한 형태는 아래와 같다.
</para> </para>
@ -473,7 +473,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
<option>veth:</option> a virtual ethernet pair <option>veth:</option> a virtual ethernet pair
device is created with one side assigned to the container device is created with one side assigned to the container
and the other side attached to a bridge specified by and the other side attached to a bridge specified by
the <option>lxc.network.link</option> option. the <option>lxc.net.[i].link</option> option.
If the bridge is not specified, then the veth pair device If the bridge is not specified, then the veth pair device
will be created but not attached to any bridge. will be created but not attached to any bridge.
Otherwise, the bridge has to be created on the system Otherwise, the bridge has to be created on the system
@ -485,33 +485,33 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
container, but if you wish to handle container, but if you wish to handle
this name yourselves, you can tell <command>lxc</command> this name yourselves, you can tell <command>lxc</command>
to set a specific name with to set a specific name with
the <option>lxc.network.veth.pair</option> option (except for the <option>lxc.net.[i].veth.pair</option> option (except for
unprivileged containers where this option is ignored for security unprivileged containers where this option is ignored for security
reasons). reasons).
--> -->
<option>veth:</option> 한 쪽은 컨테이너로, 다른 한쪽은 <option>lxc.network.link</option> 옵션으로 지정한 브리지로 붙은 가상 이더넷(veth) 장치 쌍을 생성한다. <option>veth:</option> 한 쪽은 컨테이너로, 다른 한쪽은 <option>lxc.net.[i].link</option> 옵션으로 지정한 브리지로 붙은 가상 이더넷(veth) 장치 쌍을 생성한다.
만약 브리지가 지정되지 않았다면, 어떤 브리지에도 붙지 않은 veth 장치 쌍을 만든다. 브리지는 컨테이너 시작전에 시스템에서 생성해야 한다. 만약 브리지가 지정되지 않았다면, 어떤 브리지에도 붙지 않은 veth 장치 쌍을 만든다. 브리지는 컨테이너 시작전에 시스템에서 생성해야 한다.
<command>lxc</command>는 컨테이너 이외의 설정에 대해서는 다루지 않는다. 기본값으로 <command>lxc</command>는 컨테이너 바깥에 속할 네트워크 디바이스의 이름을 정해준다. 이름을 변경하기 원한다면, <command>lxc</command>가 지정한 이름으로 설정하도록 <option>lxc.network.veth.pair</option> 옵션을 사용하여야 한다. (비특권 컨테이너는 불가능하다. 이 옵션은 보안상의 이유로 무시될 것이다) <command>lxc</command>는 컨테이너 이외의 설정에 대해서는 다루지 않는다. 기본값으로 <command>lxc</command>는 컨테이너 바깥에 속할 네트워크 디바이스의 이름을 정해준다. 이름을 변경하기 원한다면, <command>lxc</command>가 지정한 이름으로 설정하도록 <option>lxc.net.[i].veth.pair</option> 옵션을 사용하여야 한다. (비특권 컨테이너는 불가능하다. 이 옵션은 보안상의 이유로 무시될 것이다)
</para> </para>
<para> <para>
<!-- <!--
<option>vlan:</option> a vlan interface is linked with <option>vlan:</option> a vlan interface is linked with
the interface specified by the interface specified by
the <option>lxc.network.link</option> and assigned to the <option>lxc.net.[i].link</option> and assigned to
the container. The vlan identifier is specified with the the container. The vlan identifier is specified with the
option <option>lxc.network.vlan.id</option>. option <option>lxc.net.[i].vlan.id</option>.
--> -->
<option>vlan:</option> vlan 인터페이스는 <option>lxc.network.link</option>로 지정한 인터페이스에 연결되고, 컨테이너로 할당된다. vlan의 식별자는 <option>lxc.network.vlan.id</option> 옵션으로 지정한다. <option>vlan:</option> vlan 인터페이스는 <option>lxc.net.[i].link</option>로 지정한 인터페이스에 연결되고, 컨테이너로 할당된다. vlan의 식별자는 <option>lxc.net.[i].vlan.id</option> 옵션으로 지정한다.
</para> </para>
<para> <para>
<!-- <!--
<option>macvlan:</option> a macvlan interface is linked <option>macvlan:</option> a macvlan interface is linked
with the interface specified by with the interface specified by
the <option>lxc.network.link</option> and assigned to the <option>lxc.net.[i].link</option> and assigned to
the container. the container.
<option>lxc.network.macvlan.mode</option> specifies the <option>lxc.net.[i].macvlan.mode</option> specifies the
mode the macvlan will use to communicate between mode the macvlan will use to communicate between
different macvlan on the same upper device. The accepted different macvlan on the same upper device. The accepted
modes are <option>private</option>, <option>vepa</option>, modes are <option>private</option>, <option>vepa</option>,
@ -540,8 +540,8 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
interface. Only one macvlan interface in <option>passthru</option> interface. Only one macvlan interface in <option>passthru</option>
mode is possible for one physical interface. mode is possible for one physical interface.
--> -->
<option>macvlan:</option> macvlan 인터페이스는 <option>lxc.network.link</option>로 지정한 인터페이스에 연결되고, 컨테이너로 할당된다. <option>macvlan:</option> macvlan 인터페이스는 <option>lxc.net.[i].link</option>로 지정한 인터페이스에 연결되고, 컨테이너로 할당된다.
<option>lxc.network.macvlan.mode</option>은 같은 상위 디바이스에 있는 다른 macvlan과 통신할 때 사용하는 모드를 지정한다. <option>lxc.net.[i].macvlan.mode</option>은 같은 상위 디바이스에 있는 다른 macvlan과 통신할 때 사용하는 모드를 지정한다.
지정할 수 있는 모드는 <option>private</option>、<option>vepa</option>、<option>bridge</option>、<option>passthru</option>이다. 지정할 수 있는 모드는 <option>private</option>、<option>vepa</option>、<option>bridge</option>、<option>passthru</option>이다.
<option>private</option>모드는 디바이스가 같은 상위디바이스의 어떤 장치와도 통신하지 않는다. (기본값) <option>private</option>모드는 디바이스가 같은 상위디바이스의 어떤 장치와도 통신하지 않는다. (기본값)
새로운 가상 이더넷 포트 통합모드(Virtual Ethernet Port Aggregator), 즉 <option>vepa</option> 모드는 인접한 브리지가 소스와 목적지가 로컬인 모든 프레임들을 macvlan 포트로 반환한다고 가정한다. 즉, 브리지가 reflective relay로 설정되어 있다는 것이다. 새로운 가상 이더넷 포트 통합모드(Virtual Ethernet Port Aggregator), 즉 <option>vepa</option> 모드는 인접한 브리지가 소스와 목적지가 로컬인 모든 프레임들을 macvlan 포트로 반환한다고 가정한다. 즉, 브리지가 reflective relay로 설정되어 있다는 것이다.
@ -558,17 +558,17 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
<para> <para>
<!-- <!--
<option>phys:</option> an already existing interface <option>phys:</option> an already existing interface
specified by the <option>lxc.network.link</option> is specified by the <option>lxc.net.[i].link</option> is
assigned to the container. assigned to the container.
--> -->
<option>phys:</option> <option>lxc.network.link</option>로 지정한 이미 존재하는 인터페이스를 컨테이너로 할당된다. <option>phys:</option> <option>lxc.net.[i].link</option>로 지정한 이미 존재하는 인터페이스를 컨테이너로 할당된다.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.flags</option> <option>lxc.net.[i].flags</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -590,7 +590,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.link</option> <option>lxc.net.[i].link</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -605,7 +605,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.mtu</option> <option>lxc.net.[i].mtu</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -619,7 +619,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.name</option> <option>lxc.net.[i].name</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -638,7 +638,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.hwaddr</option> <option>lxc.net.[i].hwaddr</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -658,7 +658,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.ipv4</option> <option>lxc.net.[i].ipv4</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -679,7 +679,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.ipv4.gateway</option> <option>lxc.net.[i].ipv4.gateway</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -691,7 +691,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
Can also have the special value <option>auto</option>, Can also have the special value <option>auto</option>,
which means to take the primary address from the bridge which means to take the primary address from the bridge
interface (as specified by the interface (as specified by the
<option>lxc.network.link</option> option) and use that as <option>lxc.net.[i].link</option> option) and use that as
the gateway. <option>auto</option> is only available when the gateway. <option>auto</option> is only available when
using the <option>veth</option> and using the <option>veth</option> and
<option>macvlan</option> network types. <option>macvlan</option> network types.
@ -700,7 +700,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
주소 형식은 x.y.z.t로, 예를 들면 192.168.1.123이다. 주소 형식은 x.y.z.t로, 예를 들면 192.168.1.123이다.
<option>auto</option>라는 특별한 값을 지정할 수있다. <option>auto</option>라는 특별한 값을 지정할 수있다.
이것은 (<option>lxc.network.link</option> 에서 지정된) 브리지 인터페이스의 첫번째 주소를 가져와 게이트 주소로 사용한다. 이것은 (<option>lxc.net.[i].link</option> 에서 지정된) 브리지 인터페이스의 첫번째 주소를 가져와 게이트 주소로 사용한다.
<option>auto</option>는 네트워크 형태가 <option>veth</option>나 <option>macvlan</option>일 때만 지정 가능하다. <option>auto</option>는 네트워크 형태가 <option>veth</option>나 <option>macvlan</option>일 때만 지정 가능하다.
</para> </para>
</listitem> </listitem>
@ -709,7 +709,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.ipv6</option> <option>lxc.net.[i].ipv6</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -728,7 +728,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.ipv6.gateway</option> <option>lxc.net.[i].ipv6.gateway</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -740,7 +740,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
Can also have the special value <option>auto</option>, Can also have the special value <option>auto</option>,
which means to take the primary address from the bridge which means to take the primary address from the bridge
interface (as specified by the interface (as specified by the
<option>lxc.network.link</option> option) and use that as <option>lxc.net.[i].link</option> option) and use that as
the gateway. <option>auto</option> is only available when the gateway. <option>auto</option> is only available when
using the <option>veth</option> and using the <option>veth</option> and
<option>macvlan</option> network types. <option>macvlan</option> network types.
@ -749,7 +749,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
주소 형식은 x::y로, 예를 들면 2003:db8:1:0::1이다. 주소 형식은 x::y로, 예를 들면 2003:db8:1:0::1이다.
<option>auto</option>라는 특별한 값을 지정할 수있다. <option>auto</option>라는 특별한 값을 지정할 수있다.
이것은 (<option>lxc.network.link</option> 에서 지정된) 브리지 인터페이스의 첫번째 주소를 가져와 게이트 주소로 사용한다. 이것은 (<option>lxc.net.[i].link</option> 에서 지정된) 브리지 인터페이스의 첫번째 주소를 가져와 게이트 주소로 사용한다.
<option>auto</option>는 네트워크 형태가 <option>veth</option>나 <option>macvlan</option>일 때만 지정 가능하다. <option>auto</option>는 네트워크 형태가 <option>veth</option>나 <option>macvlan</option>일 때만 지정 가능하다.
</para> </para>
</listitem> </listitem>
@ -757,7 +757,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.script.up</option> <option>lxc.net.[i].script.up</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -790,7 +790,7 @@ by Sungbae Yoo <sungbae.yoo at samsung.com>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.script.down</option> <option>lxc.net.[i].script.down</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -2564,13 +2564,13 @@ mknod errno 0
</para> </para>
<programlisting> <programlisting>
lxc.utsname = myhostname lxc.utsname = myhostname
lxc.network.type = veth lxc.net.0.type = veth
lxc.network.flags = up lxc.net.0.flags = up
lxc.network.link = br0 lxc.net.0.link = br0
lxc.network.name = eth0 lxc.net.0.name = eth0
lxc.network.hwaddr = 4a:49:43:49:79:bf lxc.net.0.hwaddr = 4a:49:43:49:79:bf
lxc.network.ipv4 = 1.2.3.5/24 1.2.3.255 lxc.net.0.ipv4 = 1.2.3.5/24 1.2.3.255
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597 lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597
</programlisting> </programlisting>
</refsect2> </refsect2>
@ -2614,26 +2614,26 @@ mknod errno 0
</para> </para>
<programlisting> <programlisting>
lxc.utsname = complex lxc.utsname = complex
lxc.network.type = veth lxc.net.0.type = veth
lxc.network.flags = up lxc.net.0.flags = up
lxc.network.link = br0 lxc.net.0.link = br0
lxc.network.hwaddr = 4a:49:43:49:79:bf lxc.net.0.hwaddr = 4a:49:43:49:79:bf
lxc.network.ipv4 = 10.2.3.5/24 10.2.3.255 lxc.net.0.ipv4 = 10.2.3.5/24 10.2.3.255
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597 lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597
lxc.network.ipv6 = 2003:db8:1:0:214:5432:feab:3588 lxc.net.0.ipv6 = 2003:db8:1:0:214:5432:feab:3588
lxc.network.type = macvlan lxc.net.1.type = macvlan
lxc.network.flags = up lxc.net.1.flags = up
lxc.network.link = eth0 lxc.net.1.link = eth0
lxc.network.hwaddr = 4a:49:43:49:79:bd lxc.net.1.hwaddr = 4a:49:43:49:79:bd
lxc.network.ipv4 = 10.2.3.4/24 lxc.net.1.ipv4 = 10.2.3.4/24
lxc.network.ipv4 = 192.168.10.125/24 lxc.net.1.ipv4 = 192.168.10.125/24
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596 lxc.net.1.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596
lxc.network.type = phys lxc.net.2.type = phys
lxc.network.flags = up lxc.net.2.flags = up
lxc.network.link = dummy0 lxc.net.2.link = dummy0
lxc.network.hwaddr = 4a:49:43:49:79:ff lxc.net.2.hwaddr = 4a:49:43:49:79:ff
lxc.network.ipv4 = 10.2.3.6/24 lxc.net.2.ipv4 = 10.2.3.6/24
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3297 lxc.net.2.ipv6 = 2003:db8:1:0:214:1234:fe0b:3297
lxc.cgroup.cpuset.cpus = 0,1 lxc.cgroup.cpuset.cpus = 0,1
lxc.cgroup.cpu.shares = 1234 lxc.cgroup.cpu.shares = 1234
lxc.cgroup.devices.deny = a lxc.cgroup.devices.deny = a

View File

@ -175,7 +175,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>lxc-info -n foo -c lxc.network.0.veth.pair</term> <term>lxc-info -n foo -c lxc.net.0.veth.pair</term>
<listitem> <listitem>
<para> <para>
prints the veth pair name of foo. prints the veth pair name of foo.

View File

@ -12,25 +12,25 @@ lxc.utsname = virtnode
# should be an existing interface, usually it is eth0 # should be an existing interface, usually it is eth0
# * phys : the network will use a physical network device, the specified # * phys : the network will use a physical network device, the specified
# link should be an existing interface # link should be an existing interface
lxc.network.type = macvlan lxc.net.0.type = macvlan
# specify the flags to be used for the network, actually only <up> is allowed # specify the flags to be used for the network, actually only <up> is allowed
# which mean the network should be set up when created. If the network is set # which mean the network should be set up when created. If the network is set
# up, the loopback is automatically set up too. # up, the loopback is automatically set up too.
lxc.network.flags = up lxc.net.0.flags = up
# specify the physical network device which will communicate with the # specify the physical network device which will communicate with the
# outside world # outside world
lxc.network.link = eth0 lxc.net.0.link = eth0
# NIC ethernet mac address # NIC ethernet mac address
lxc.network.hwaddr = 4a:49:43:49:79:bd lxc.net.0.hwaddr = 4a:49:43:49:79:bd
# specify the ipv4 address of the container. Several lines are allowed and # specify the ipv4 address of the container. Several lines are allowed and
# will mean several addresses will be assigned to the interface # will mean several addresses will be assigned to the interface
lxc.network.ipv4 = 1.2.3.5/24 lxc.net.0.ipv4 = 1.2.3.5/24
# specify the ipv6 address of the container. Several lines are allowed and # specify the ipv6 address of the container. Several lines are allowed and
# will mean several addresses will be assigned to the interface # will mean several addresses will be assigned to the interface
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596 lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596

View File

@ -100,9 +100,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<para> <para>
LXC namespaces configuration keys by using single dots. This means complex LXC namespaces configuration keys by using single dots. This means complex
configuration keys such as <option>lxc.network</option> expose various configuration keys such as <option>lxc.net.0</option> expose various
subkeys such as <option>lxc.network.type</option>, subkeys such as <option>lxc.net.0.type</option>,
<option>lxc.network.link</option>, <option>lxc.network.ipv6</option>, and <option>lxc.net.0.link</option>, <option>lxc.net.0.ipv6</option>, and
others for even more fine-grained configuration. others for even more fine-grained configuration.
</para> </para>
@ -342,7 +342,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network</option> <option>lxc.net</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -352,7 +352,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].type</option> <option>lxc.net.[i].type</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -360,13 +360,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
for the container. for the container.
Multiple networks can be specified by using an additional index Multiple networks can be specified by using an additional index
<option>i</option> <option>i</option>
after all <option>lxc.network.*</option> keys. For example, after all <option>lxc.net.*</option> keys. For example,
<option>lxc.network.0.type = veth</option> and <option>lxc.net.0.type = veth</option> and
<option>lxc.network.1.type = veth</option> specify two different <option>lxc.net.1.type = veth</option> specify two different
networks of the same type. All keys sharing the same index networks of the same type. All keys sharing the same index
<option>i</option> will be treated as belonging to the same <option>i</option> will be treated as belonging to the same
network. For example, <option>lxc.network.0.link = br0</option> network. For example, <option>lxc.net.0.link = br0</option>
will belong to <option>lxc.network.0.type</option>. will belong to <option>lxc.net.0.type</option>.
Currently, the different virtualization types can be: Currently, the different virtualization types can be:
</para> </para>
@ -388,7 +388,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<option>veth:</option> a virtual ethernet pair <option>veth:</option> a virtual ethernet pair
device is created with one side assigned to the container device is created with one side assigned to the container
and the other side attached to a bridge specified by and the other side attached to a bridge specified by
the <option>lxc.network.link</option> option. the <option>lxc.net.[i].link</option> option.
If the bridge is not specified, then the veth pair device If the bridge is not specified, then the veth pair device
will be created but not attached to any bridge. will be created but not attached to any bridge.
Otherwise, the bridge has to be created on the system Otherwise, the bridge has to be created on the system
@ -400,7 +400,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
container, but if you wish to handle container, but if you wish to handle
this name yourselves, you can tell <command>lxc</command> this name yourselves, you can tell <command>lxc</command>
to set a specific name with to set a specific name with
the <option>lxc.network.veth.pair</option> option (except for the <option>lxc.net.[i].veth.pair</option> option (except for
unprivileged containers where this option is ignored for security unprivileged containers where this option is ignored for security
reasons). reasons).
</para> </para>
@ -408,17 +408,17 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<para> <para>
<option>vlan:</option> a vlan interface is linked with <option>vlan:</option> a vlan interface is linked with
the interface specified by the interface specified by
the <option>lxc.network.link</option> and assigned to the <option>lxc.net.[i].link</option> and assigned to
the container. The vlan identifier is specified with the the container. The vlan identifier is specified with the
option <option>lxc.network.vlan.id</option>. option <option>lxc.net.[i].vlan.id</option>.
</para> </para>
<para> <para>
<option>macvlan:</option> a macvlan interface is linked <option>macvlan:</option> a macvlan interface is linked
with the interface specified by with the interface specified by
the <option>lxc.network.link</option> and assigned to the <option>lxc.net.[i].link</option> and assigned to
the container. the container.
<option>lxc.network.macvlan.mode</option> specifies the <option>lxc.net.[i].macvlan.mode</option> specifies the
mode the macvlan will use to communicate between mode the macvlan will use to communicate between
different macvlan on the same upper device. The accepted different macvlan on the same upper device. The accepted
modes are <option>private</option>, <option>vepa</option>, modes are <option>private</option>, <option>vepa</option>,
@ -450,7 +450,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<para> <para>
<option>phys:</option> an already existing interface <option>phys:</option> an already existing interface
specified by the <option>lxc.network.link</option> is specified by the <option>lxc.net.[i].link</option> is
assigned to the container. assigned to the container.
</para> </para>
</listitem> </listitem>
@ -458,7 +458,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].flags</option> <option>lxc.net.[i].flags</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -472,7 +472,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].link</option> <option>lxc.net.[i].link</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -483,7 +483,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].mtu</option> <option>lxc.net.[i].mtu</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -494,7 +494,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].name</option> <option>lxc.net.[i].name</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -508,7 +508,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].hwaddr</option> <option>lxc.net.[i].hwaddr</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -523,7 +523,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].ipv4</option> <option>lxc.net.[i].ipv4</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -536,7 +536,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].ipv4.gateway</option> <option>lxc.net.[i].ipv4.gateway</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -546,7 +546,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Can also have the special value <option>auto</option>, Can also have the special value <option>auto</option>,
which means to take the primary address from the bridge which means to take the primary address from the bridge
interface (as specified by the interface (as specified by the
<option>lxc.network.link</option> option) and use that as <option>lxc.net.[i].link</option> option) and use that as
the gateway. <option>auto</option> is only available when the gateway. <option>auto</option> is only available when
using the <option>veth</option> and using the <option>veth</option> and
<option>macvlan</option> network types. <option>macvlan</option> network types.
@ -557,7 +557,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].ipv6</option> <option>lxc.net.[i].ipv6</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -571,7 +571,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].ipv6.gateway</option> <option>lxc.net.[i].ipv6.gateway</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -581,7 +581,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Can also have the special value <option>auto</option>, Can also have the special value <option>auto</option>,
which means to take the primary address from the bridge which means to take the primary address from the bridge
interface (as specified by the interface (as specified by the
<option>lxc.network.link</option> option) and use that as <option>lxc.net.[i].link</option> option) and use that as
the gateway. <option>auto</option> is only available when the gateway. <option>auto</option> is only available when
using the <option>veth</option> and using the <option>veth</option> and
<option>macvlan</option> network types. <option>macvlan</option> network types.
@ -591,7 +591,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].script.up</option> <option>lxc.net.[i].script.up</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -616,7 +616,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<varlistentry> <varlistentry>
<term> <term>
<option>lxc.network.[i].script.down</option> <option>lxc.net.[i].script.down</option>
</term> </term>
<listitem> <listitem>
<para> <para>
@ -1933,13 +1933,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
eth0.</para> eth0.</para>
<programlisting> <programlisting>
lxc.utsname = myhostname lxc.utsname = myhostname
lxc.network.type = veth lxc.net.0.type = veth
lxc.network.flags = up lxc.net.0.flags = up
lxc.network.link = br0 lxc.net.0.link = br0
lxc.network.name = eth0 lxc.net.0.name = eth0
lxc.network.hwaddr = 4a:49:43:49:79:bf lxc.net.0.hwaddr = 4a:49:43:49:79:bf
lxc.network.ipv4 = 10.2.3.5/24 10.2.3.255 lxc.net.0.ipv4 = 10.2.3.5/24 10.2.3.255
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597 lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597
</programlisting> </programlisting>
</refsect2> </refsect2>
@ -1976,26 +1976,26 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
mounting some locations and a changing root file system.</para> mounting some locations and a changing root file system.</para>
<programlisting> <programlisting>
lxc.utsname = complex lxc.utsname = complex
lxc.network.0.type = veth lxc.net.0.type = veth
lxc.network.0.flags = up lxc.net.0.flags = up
lxc.network.0.link = br0 lxc.net.0.link = br0
lxc.network.0.hwaddr = 4a:49:43:49:79:bf lxc.net.0.hwaddr = 4a:49:43:49:79:bf
lxc.network.0.ipv4 = 10.2.3.5/24 10.2.3.255 lxc.net.0.ipv4 = 10.2.3.5/24 10.2.3.255
lxc.network.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597 lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597
lxc.network.0.ipv6 = 2003:db8:1:0:214:5432:feab:3588 lxc.net.0.ipv6 = 2003:db8:1:0:214:5432:feab:3588
lxc.network.1.type = macvlan lxc.net.1.type = macvlan
lxc.network.1.flags = up lxc.net.1.flags = up
lxc.network.1.link = eth0 lxc.net.1.link = eth0
lxc.network.1.hwaddr = 4a:49:43:49:79:bd lxc.net.1.hwaddr = 4a:49:43:49:79:bd
lxc.network.1.ipv4 = 10.2.3.4/24 lxc.net.1.ipv4 = 10.2.3.4/24
lxc.network.1.ipv4 = 192.168.10.125/24 lxc.net.1.ipv4 = 192.168.10.125/24
lxc.network.1.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596 lxc.net.1.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596
lxc.network.2.type = phys lxc.net.2.type = phys
lxc.network.2.flags = up lxc.net.2.flags = up
lxc.network.2.link = dummy0 lxc.net.2.link = dummy0
lxc.network.2.hwaddr = 4a:49:43:49:79:ff lxc.net.2.hwaddr = 4a:49:43:49:79:ff
lxc.network.2.ipv4 = 10.2.3.6/24 lxc.net.2.ipv4 = 10.2.3.6/24
lxc.network.2.ipv6 = 2003:db8:1:0:214:1234:fe0b:3297 lxc.net.2.ipv6 = 2003:db8:1:0:214:1234:fe0b:3297
lxc.cgroup.cpuset.cpus = 0,1 lxc.cgroup.cpuset.cpus = 0,1
lxc.cgroup.cpu.shares = 1234 lxc.cgroup.cpu.shares = 1234
lxc.cgroup.devices.deny = a lxc.cgroup.devices.deny = a

View File

@ -225,7 +225,7 @@ end
function test_container_cmd() function test_container_cmd()
log(0, "Test get config from running container...") log(0, "Test get config from running container...")
veth_pair = lxc.cmd_get_config_item(optarg["n"], "lxc.network.0.veth.pair") veth_pair = lxc.cmd_get_config_item(optarg["n"], "lxc.net.0.veth.pair")
log(0, " veth.pair:%s", veth_pair) log(0, " veth.pair:%s", veth_pair)
end end
@ -281,7 +281,7 @@ function test_config_network(net_nr)
log(0, "Test network %d config...", net_nr) log(0, "Test network %d config...", net_nr)
local netcfg local netcfg
netcfg = container:get_keys("lxc.network." .. net_nr) netcfg = container:get_keys("lxc.net." .. net_nr)
if (netcfg == nil) then if (netcfg == nil) then
return return
end end
@ -289,7 +289,7 @@ function test_config_network(net_nr)
log(0, " %s = %s", k, v or "") log(0, " %s = %s", k, v or "")
end end
assert(netcfg["flags"] == "up") assert(netcfg["flags"] == "up")
assert(container:get_config_item("lxc.network."..net_nr..".type") == "veth") assert(container:get_config_item("lxc.net."..net_nr..".type") == "veth")
end end

View File

@ -523,7 +523,7 @@ static int lxc_cmd_get_cgroup_callback(int fd, struct lxc_cmd_req *req,
* lxc_cmd_get_config_item: Get config item the running container * lxc_cmd_get_config_item: Get config item the running container
* *
* @name : name of container to connect to * @name : name of container to connect to
* @item : the configuration item to retrieve (ex: lxc.network.0.veth.pair) * @item : the configuration item to retrieve (ex: lxc.net.0.veth.pair)
* @lxcpath : the lxcpath in which the container is running * @lxcpath : the lxcpath in which the container is running
* *
* Returns the item on success, NULL on failure. The caller must free() the * Returns the item on success, NULL on failure. The caller must free() the

View File

@ -114,8 +114,8 @@ union netdev_p {
/* /*
* Defines a structure to configure a network device * Defines a structure to configure a network device
* @link : lxc.network.link, name of bridge or host iface to attach if any * @link : lxc.net.[i].link, name of bridge or host iface to attach if any
* @name : lxc.network.name, name of iface on the container side * @name : lxc.net.[i].name, name of iface on the container side
* @flags : flag of the network device (IFF_UP, ... ) * @flags : flag of the network device (IFF_UP, ... )
* @ipv4 : a list of ipv4 addresses to be set on the network device * @ipv4 : a list of ipv4 addresses to be set on the network device
* @ipv6 : a list of ipv6 addresses to be set on the network device * @ipv6 : a list of ipv6 addresses to be set on the network device

View File

@ -533,7 +533,7 @@ int rand_complete_hwaddr(char *hwaddr)
} }
/* /*
* If we find a lxc.network.hwaddr in the original config file, we expand it in * If we find a lxc.net.hwaddr in the original config file, we expand it in
* the unexpanded_config, so that after a save_config we store the hwaddr for * the unexpanded_config, so that after a save_config we store the hwaddr for
* re-use. * re-use.
* This is only called when reading the config file, not when executing a * This is only called when reading the config file, not when executing a

View File

@ -2069,7 +2069,7 @@ static int do_lxcapi_get_keys(struct lxc_container *c, const char *key, char *re
if (!key) if (!key)
return lxc_listconfigs(retv, inlen); return lxc_listconfigs(retv, inlen);
/* /*
* Support 'lxc.network.<idx>', i.e. 'lxc.network.0' * Support 'lxc.net.<idx>', i.e. 'lxc.net.0'
* This is an intelligent result to show which keys are valid given * This is an intelligent result to show which keys are valid given
* the type of nic it is * the type of nic it is
*/ */

View File

@ -155,15 +155,15 @@ static void print_net_stats(struct lxc_container *c)
char buf[256]; char buf[256];
for(netnr = 0; ;netnr++) { for(netnr = 0; ;netnr++) {
sprintf(buf, "lxc.network.%d.type", netnr); sprintf(buf, "lxc.net.%d.type", netnr);
type = c->get_running_config_item(c, buf); type = c->get_running_config_item(c, buf);
if (!type) if (!type)
break; break;
if (!strcmp(type, "veth")) { if (!strcmp(type, "veth")) {
sprintf(buf, "lxc.network.%d.veth.pair", netnr); sprintf(buf, "lxc.net.%d.veth.pair", netnr);
} else { } else {
sprintf(buf, "lxc.network.%d.link", netnr); sprintf(buf, "lxc.net.%d.link", netnr);
} }
free(type); free(type);
ifname = c->get_running_config_item(c, buf); ifname = c->get_running_config_item(c, buf);

View File

@ -90,7 +90,7 @@ assert(capdrop == container.get_config_item("lxc.cap.drop"))
print("Testing the networking") print("Testing the networking")
# A few basic checks of the current state # A few basic checks of the current state
assert("name" in container.get_keys("lxc.network.0")) assert("name" in container.get_keys("lxc.net.0"))
assert(len(container.network) == 1) assert(len(container.network) == 1)
## Starting the container ## Starting the container

View File

@ -40,7 +40,7 @@ class ContainerNetwork(object):
self.container = container self.container = container
self.index = index self.index = index
for key in self.container.get_keys("lxc.network.%s" % self.index): for key in self.container.get_keys("lxc.net.%s" % self.index):
if "." in key: if "." in key:
self.props[key.replace(".", "_")] = key self.props[key.replace(".", "_")] = key
else: else:
@ -98,18 +98,18 @@ class ContainerNetwork(object):
def __clear_network_item(self, key): def __clear_network_item(self, key):
if key in ("ipv4", "ipv6"): if key in ("ipv4", "ipv6"):
return self.container.clear_config_item("lxc.network.%s.%s" % ( return self.container.clear_config_item("lxc.net.%s.%s" % (
self.index, key)) self.index, key))
else: else:
return self.container.set_config_item("lxc.network.%s.%s" % ( return self.container.set_config_item("lxc.net.%s.%s" % (
self.index, key), "") self.index, key), "")
def __get_network_item(self, key): def __get_network_item(self, key):
return self.container.get_config_item("lxc.network.%s.%s" % ( return self.container.get_config_item("lxc.net.%s.%s" % (
self.index, key)) self.index, key))
def __set_network_item(self, key, value): def __set_network_item(self, key, value):
return self.container.set_config_item("lxc.network.%s.%s" % ( return self.container.set_config_item("lxc.net.%s.%s" % (
self.index, key), value) self.index, key), value)
@ -124,7 +124,7 @@ class ContainerNetworkList():
return ContainerNetwork(self.container, index) return ContainerNetwork(self.container, index)
def __len__(self): def __len__(self):
values = self.container.get_config_item("lxc.network") values = self.container.get_config_item("lxc.net")
if values: if values:
return len(values) return len(values)
@ -134,7 +134,7 @@ class ContainerNetworkList():
def add(self, network_type): def add(self, network_type):
index = len(self) index = len(self)
return self.container.set_config_item("lxc.network.%s.type" % index, return self.container.set_config_item("lxc.net.%s.type" % index,
network_type) network_type)
def remove(self, index): def remove(self, index):
@ -142,7 +142,7 @@ class ContainerNetworkList():
if index >= count: if index >= count:
raise IndexError("list index out of range") raise IndexError("list index out of range")
return self.container.clear_config_item("lxc.network.%s" % index) return self.container.clear_config_item("lxc.net.%s" % index)
class Container(_lxc.Container): class Container(_lxc.Container):

View File

@ -161,7 +161,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "%d: %s thought it was defined\n", __LINE__, MYNAME); fprintf(stderr, "%d: %s thought it was defined\n", __LINE__, MYNAME);
goto err; goto err;
} }
if (!c->set_config_item(c, "lxc.network.type", "empty")) { if (!c->set_config_item(c, "lxc.net.0.type", "empty")) {
fprintf(stderr, "%s: %d: failed to set network type\n", __FILE__, __LINE__); fprintf(stderr, "%s: %d: failed to set network type\n", __FILE__, __LINE__);
goto err; goto err;
} }

View File

@ -143,7 +143,7 @@ static int test_container(const char *lxcpath,
c->destroy(c); c->destroy(c);
c = lxc_container_new(name, lxcpath); c = lxc_container_new(name, lxcpath);
} }
c->set_config_item(c, "lxc.network.type", "empty"); c->set_config_item(c, "lxc.net.0.type", "empty");
if (!c->createl(c, template, NULL, NULL, 0, NULL)) { if (!c->createl(c, template, NULL, NULL, 0, NULL)) {
TSTERR("creating container %s", name); TSTERR("creating container %s", name);
goto out2; goto out2;

View File

@ -44,12 +44,12 @@ int main(int argc, char *argv[])
goto out; goto out;
} }
if (!c->set_config_item(c, "lxc.network.type", "veth")) { if (!c->set_config_item(c, "lxc.net.0.type", "veth")) {
fprintf(stderr, "%d: failed to set network type\n", __LINE__); fprintf(stderr, "%d: failed to set network type\n", __LINE__);
goto out; goto out;
} }
c->set_config_item(c, "lxc.network.link", "lxcbr0"); c->set_config_item(c, "lxc.net.0.link", "lxcbr0");
c->set_config_item(c, "lxc.network.flags", "up"); c->set_config_item(c, "lxc.net.0.flags", "up");
if (!c->createl(c, "busybox", NULL, NULL, 0, NULL)) { if (!c->createl(c, "busybox", NULL, NULL, 0, NULL)) {
fprintf(stderr, "%d: failed to create a trusty container\n", __LINE__); fprintf(stderr, "%d: failed to create a trusty container\n", __LINE__);
goto out; goto out;

View File

@ -293,7 +293,7 @@ int main(int argc, char *argv[])
printf("%d: get_config_item(lxc.cap.drop) returned %d %s\n", __LINE__, ret, v2); printf("%d: get_config_item(lxc.cap.drop) returned %d %s\n", __LINE__, ret, v2);
ret = c->get_config_item(c, "lxc.network", v2, 255); ret = c->get_config_item(c, "lxc.network", v2, 255);
if (ret < 0) { if (ret < 0) {
fprintf(stderr, "%d: get_config_item returned %d\n", __LINE__, ret); fprintf(stderr, "%d: get_config_item(lxc.network) returned %d\n", __LINE__, ret);
goto out; goto out;
} }
printf("%d: get_config_item(lxc.network) returned %d %s\n", __LINE__, ret, v2); printf("%d: get_config_item(lxc.network) returned %d %s\n", __LINE__, ret, v2);

View File

@ -100,8 +100,8 @@ usermod -v 910000-919999 -w 910000-919999 $TUSER
mkdir -p $HDIR/.config/lxc/ mkdir -p $HDIR/.config/lxc/
cat > $HDIR/.config/lxc/default.conf << EOF cat > $HDIR/.config/lxc/default.conf << EOF
lxc.network.type = veth lxc.net.0.type = veth
lxc.network.link = lxcbr0 lxc.net.0.link = lxcbr0
lxc.id_map = u 0 910000 9999 lxc.id_map = u 0 910000 9999
lxc.id_map = g 0 910000 9999 lxc.id_map = g 0 910000 9999
EOF EOF

View File

@ -48,12 +48,12 @@ cleanup() {
} }
verify_numnics() { verify_numnics() {
verify_unchanged_number lxc.network.type "network defs" verify_unchanged_number lxc.net.0.type "network defs"
} }
verify_hwaddr() { verify_hwaddr() {
verify_unchanged_number lxc.network.hwaddr "hwaddr defs" verify_unchanged_number lxc.net.0.hwaddr "hwaddr defs"
grep ^lxc.network.hwaddr $CONTAINER_PATH/config | while read line; do grep ^lxc.net.0.hwaddr $CONTAINER_PATH/config | while read line; do
addr=`echo $line | awk -F= { print $2 }` addr=`echo $line | awk -F= { print $2 }`
echo "looking for $addr in $CONTAINER2_PATH/config" echo "looking for $addr in $CONTAINER2_PATH/config"
if grep -q $addr $CONTAINER2_PATH/config; then if grep -q $addr $CONTAINER2_PATH/config; then
@ -80,20 +80,20 @@ trap cleanup EXIT
# Simple nic # Simple nic
cat > $s/1.conf << EOF cat > $s/1.conf << EOF
lxc.network.type = veth lxc.net.0.type = veth
lxc.network.link = lxcbr0 lxc.net.0.link = lxcbr0
EOF EOF
# Simple nic with hwaddr; verify hwaddr changed # Simple nic with hwaddr; verify hwaddr changed
cat > $s/2.conf << EOF cat > $s/2.conf << EOF
lxc.network.type = veth lxc.net.0.type = veth
lxc.network.link = lxcbr0 lxc.net.0.link = lxcbr0
EOF EOF
# No nics, but nic from include # No nics, but nic from include
cat > $s/1.include << EOF cat > $s/1.include << EOF
lxc.network.type = veth lxc.net.0.type = veth
lxc.network.link = lxcbr0 lxc.net.0.link = lxcbr0
lxc.hook.start = /bin/bash lxc.hook.start = /bin/bash
EOF EOF
cat > $s/3.conf << EOF cat > $s/3.conf << EOF

View File

@ -34,8 +34,8 @@ cleanup() {
trap cleanup EXIT trap cleanup EXIT
cat > $f << EOF cat > $f << EOF
lxc.network.type = veth lxc.net.0.type = veth
lxc.network.hwaddr = 00:16:3e:xx:xx:xx lxc.net.0.hwaddr = 00:16:3e:xx:xx:xx
EOF EOF
lxc-create -t busybox -f $f -n lxctestc lxc-create -t busybox -f $f -n lxctestc
grep -q "xx:xx" /var/lib/lxc/lxctestc/config && { echo "hwaddr not expanded"; exit 1; } grep -q "xx:xx" /var/lib/lxc/lxctestc/config && { echo "hwaddr not expanded"; exit 1; }

View File

@ -38,8 +38,8 @@ trap cleanup EXIT SIGHUP SIGINT SIGTERM
mkdir -p /etc/lxc/ mkdir -p /etc/lxc/
cat > /etc/lxc/default.conf << EOF cat > /etc/lxc/default.conf << EOF
lxc.network.type = veth lxc.net.0.type = veth
lxc.network.link = lxcbr0 lxc.net.0.link = lxcbr0
EOF EOF
ARCH=i386 ARCH=i386

View File

@ -116,8 +116,8 @@ usermod -v 910000-919999 -w 910000-919999 $TUSER
mkdir -p $HDIR/.config/lxc/ mkdir -p $HDIR/.config/lxc/
cat > $HDIR/.config/lxc/default.conf << EOF cat > $HDIR/.config/lxc/default.conf << EOF
lxc.network.type = veth lxc.net.0.type = veth
lxc.network.link = lxcbr0 lxc.net.0.link = lxcbr0
lxc.id_map = u 0 910000 9999 lxc.id_map = u 0 910000 9999
lxc.id_map = g 0 910000 9999 lxc.id_map = g 0 910000 9999
EOF EOF

View File

@ -80,7 +80,7 @@ usermod -v 910000-919999 -w 910000-919999 usernic-user
mkdir -p /home/usernic-user/.config/lxc/ mkdir -p /home/usernic-user/.config/lxc/
cat > /home/usernic-user/.config/lxc/default.conf << EOF cat > /home/usernic-user/.config/lxc/default.conf << EOF
lxc.network.type = empty lxc.net.0.type = empty
lxc.id_map = u 0 910000 10000 lxc.id_map = u 0 910000 10000
lxc.id_map = g 0 910000 10000 lxc.id_map = g 0 910000 10000
EOF EOF

View File

@ -45,12 +45,12 @@ int main(int argc, char *argv[])
goto out; goto out;
} }
if (!c->set_config_item(c, "lxc.network.type", "veth")) { if (!c->set_config_item(c, "lxc.net.0.type", "veth")) {
fprintf(stderr, "%d: failed to set network type\n", __LINE__); fprintf(stderr, "%d: failed to set network type\n", __LINE__);
goto out; goto out;
} }
c->set_config_item(c, "lxc.network.link", "lxcbr0"); c->set_config_item(c, "lxc.net.0.link", "lxcbr0");
c->set_config_item(c, "lxc.network.flags", "up"); c->set_config_item(c, "lxc.net.0.flags", "up");
if (!c->createl(c, "busybox", NULL, NULL, 0, NULL)) { if (!c->createl(c, "busybox", NULL, NULL, 0, NULL)) {
fprintf(stderr, "%d: failed to create a container\n", __LINE__); fprintf(stderr, "%d: failed to create a container\n", __LINE__);
goto out; goto out;

View File

@ -72,7 +72,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "%d: %s thought it was defined\n", __LINE__, MYNAME); fprintf(stderr, "%d: %s thought it was defined\n", __LINE__, MYNAME);
(void) c->destroy_with_snapshots(c); (void) c->destroy_with_snapshots(c);
} }
if (!c->set_config_item(c, "lxc.network.type", "empty")) { if (!c->set_config_item(c, "lxc.net.0.type", "empty")) {
fprintf(stderr, "%s: %d: failed to set network type\n", __FILE__, __LINE__); fprintf(stderr, "%s: %d: failed to set network type\n", __FILE__, __LINE__);
goto err; goto err;
} }

View File

@ -276,30 +276,30 @@ lxc.cap.drop = sys_module mac_admin mac_override sys_time
#lxc.aa_profile = unconfined #lxc.aa_profile = unconfined
#networking #networking
#lxc.network.type = $lxc_network_type #lxc.net.0.type = $lxc_network_type
#lxc.network.flags = up #lxc.net.0.flags = up
#lxc.network.link = $lxc_network_link #lxc.net.0.link = $lxc_network_link
#lxc.network.name = veth0 #lxc.net.0.name = veth0
#lxc.network.mtu = 1500 #lxc.net.0.mtu = 1500
EOF EOF
if [ ! -z ${ipv4} ]; then if [ ! -z ${ipv4} ]; then
cat <<EOF >> $config_path/config cat <<EOF >> $config_path/config
lxc.network.ipv4 = $ipv4 lxc.net.0.ipv4 = $ipv4
EOF EOF
fi fi
if [ ! -z ${gw} ]; then if [ ! -z ${gw} ]; then
cat <<EOF >> $config_path/config cat <<EOF >> $config_path/config
lxc.network.ipv4.gateway = $gw lxc.net.0.ipv4.gateway = $gw
EOF EOF
fi fi
if [ ! -z ${ipv6} ]; then if [ ! -z ${ipv6} ]; then
cat <<EOF >> $config_path/config cat <<EOF >> $config_path/config
lxc.network.ipv6 = $ipv6 lxc.net.0.ipv6 = $ipv6
EOF EOF
fi fi
if [ ! -z ${gw6} ]; then if [ ! -z ${gw6} ]; then
cat <<EOF >> $config_path/config cat <<EOF >> $config_path/config
lxc.network.ipv6.gateway = $gw6 lxc.net.0.ipv6.gateway = $gw6
EOF EOF
fi fi
cat <<EOF >> $config_path/config cat <<EOF >> $config_path/config

View File

@ -618,13 +618,13 @@ lxc.rootfs = $rootfs_path
# Seems that \s doesn't work in brackets. # Seems that \s doesn't work in brackets.
KEY=$(expr "${LINE}" : '\s*\([^ ]*\)\s*=') KEY=$(expr "${LINE}" : '\s*\([^ ]*\)\s*=')
if [[ "${KEY}" != "lxc.network.hwaddr" ]] if [[ "${KEY}" != "lxc.net.0.hwaddr" ]]
then then
echo ${LINE} >> $config_path/config echo ${LINE} >> $config_path/config
if [[ "${KEY}" == "lxc.network.link" ]] if [[ "${KEY}" == "lxc.net.0.link" ]]
then then
echo "lxc.network.hwaddr = $(create_hwaddr)" >> $config_path/config echo "lxc.net.0.hwaddr = $(create_hwaddr)" >> $config_path/config
fi fi
fi fi
done < $config_path/config.def done < $config_path/config.def
@ -647,16 +647,16 @@ lxc.utsname = $utsname
#lxc.aa_profile = unconfined #lxc.aa_profile = unconfined
# example simple networking setup, uncomment to enable # example simple networking setup, uncomment to enable
#lxc.network.type = $lxc_network_type #lxc.net.0.type = $lxc_network_type
#lxc.network.flags = up #lxc.net.0.flags = up
#lxc.network.link = $lxc_network_link #lxc.net.0.link = $lxc_network_link
#lxc.network.name = eth0 #lxc.net.0.name = eth0
# Additional example for veth network type # Additional example for veth network type
# static MAC address, # static MAC address,
#lxc.network.hwaddr = 00:16:3e:77:52:20 #lxc.net.0.hwaddr = 00:16:3e:77:52:20
# persistent veth device name on host side # persistent veth device name on host side
# Note: This may potentially collide with other containers of same name! # Note: This may potentially collide with other containers of same name!
#lxc.network.veth.pair = v-$name-e0 #lxc.net.0.veth.pair = v-$name-e0
EOF EOF

View File

@ -493,9 +493,9 @@ copy_configuration()
# Generate the configuration file # Generate the configuration file
# if there is exactly one veth network entry, make sure it has an # if there is exactly one veth network entry, make sure it has an
# associated hwaddr. # associated hwaddr.
nics=$(grep -ce '^lxc\.network\.type[ \t]*=[ \t]*veth' "$path/config") nics=$(grep -ce '^lxc\.net\.0\.type[ \t]*=[ \t]*veth' "$path/config")
if [ "$nics" -eq 1 ]; then if [ "$nics" -eq 1 ]; then
grep -q "^lxc.network.hwaddr" "$path/config" || sed -i -e "/^lxc\.network\.type[ \t]*=[ \t]*veth/a lxc.network.hwaddr = 00:16:3e:$(openssl rand -hex 3| sed 's/\(..\)/\1:/g; s/.$//')" "$path/config" grep -q "^lxc.net.0.hwaddr" "$path/config" || sed -i -e "/^lxc\.net\.0\.type[ \t]*=[ \t]*veth/a lxc.net.0.hwaddr = 00:16:3e:$(openssl rand -hex 3| sed 's/\(..\)/\1:/g; s/.$//')" "$path/config"
fi fi
## Add all the includes ## Add all the includes

View File

@ -526,7 +526,7 @@ if [ ! -e $configfile ]; then
fi fi
## Extract all the network config entries ## Extract all the network config entries
sed -i -e "/lxc.network/{w ${LXC_PATH}/config-network" -e "d}" \ sed -i -e "/lxc.net.0/{w ${LXC_PATH}/config-network" -e "d}" \
${LXC_PATH}/config ${LXC_PATH}/config
## Extract any other config entry ## Extract any other config entry

View File

@ -1104,13 +1104,13 @@ lxc.rootfs = $rootfs_path
# Seems that \s doesn't work in brackets. # Seems that \s doesn't work in brackets.
KEY=$(expr "${LINE}" : '\s*\([^ ]*\)\s*=') KEY=$(expr "${LINE}" : '\s*\([^ ]*\)\s*=')
if [[ "${KEY}" != "lxc.network.hwaddr" ]] if [[ "${KEY}" != "lxc.net.0.hwaddr" ]]
then then
echo "${LINE}" >> $config_path/config echo "${LINE}" >> $config_path/config
if [[ "${KEY}" == "lxc.network.link" ]] if [[ "${KEY}" == "lxc.net.0.link" ]]
then then
echo "lxc.network.hwaddr = $(create_hwaddr)" >> $config_path/config echo "lxc.net.0.hwaddr = $(create_hwaddr)" >> $config_path/config
fi fi
fi fi
done < $config_path/config.def done < $config_path/config.def
@ -1133,16 +1133,16 @@ lxc.utsname = $utsname
#lxc.aa_profile = unconfined #lxc.aa_profile = unconfined
# example simple networking setup, uncomment to enable # example simple networking setup, uncomment to enable
#lxc.network.type = $lxc_network_type #lxc.net.0.type = $lxc_network_type
#lxc.network.flags = up #lxc.net.0.flags = up
#lxc.network.link = $lxc_network_link #lxc.net.0.link = $lxc_network_link
#lxc.network.name = eth0 #lxc.net.0.name = eth0
# Additional example for veth network type # Additional example for veth network type
# static MAC address, # static MAC address,
#lxc.network.hwaddr = 00:16:3e:77:52:20 #lxc.net.0.hwaddr = 00:16:3e:77:52:20
# persistent veth device name on host side # persistent veth device name on host side
# Note: This may potentially collide with other containers of same name! # Note: This may potentially collide with other containers of same name!
#lxc.network.veth.pair = v-$name-e0 #lxc.net.0.veth.pair = v-$name-e0
EOF EOF

View File

@ -463,13 +463,13 @@ lxc.rootfs = ${rootfs}
# Seems that \s doesn't work in brackets. # Seems that \s doesn't work in brackets.
key=$(expr "${line}" : '\s*\([^ ]*\)\s*=') key=$(expr "${line}" : '\s*\([^ ]*\)\s*=')
if [ "${key}" != "lxc.network.hwaddr" ] if [ "${key}" != "lxc.net.0.hwaddr" ]
then then
echo "${line}" >> "${config}" echo "${line}" >> "${config}"
if [ "${key}" == "lxc.network.link" ] if [ "${key}" == "lxc.net.0.link" ]
then then
echo "lxc.network.hwaddr = $(create_hwaddr)" >> "${config}" echo "lxc.net.0.hwaddr = $(create_hwaddr)" >> "${config}"
fi fi
fi fi
done < "${config}.orig" done < "${config}.orig"
@ -492,16 +492,16 @@ lxc.utsname = ${utsname}
#lxc.aa_profile = unconfined #lxc.aa_profile = unconfined
# example simple networking setup, uncomment to enable # example simple networking setup, uncomment to enable
#lxc.network.type = ${lxc_network_type} #lxc.net.0.type = ${lxc_network_type}
#lxc.network.flags = up #lxc.net.0.flags = up
#lxc.network.link = ${lxc_network_link} #lxc.net.0.link = ${lxc_network_link}
#lxc.network.name = eth0 #lxc.net.0.name = eth0
# Additional example for veth network type # Additional example for veth network type
# static MAC address, # static MAC address,
#lxc.network.hwaddr = $(create_hwaddr) #lxc.net.0.hwaddr = $(create_hwaddr)
# persistent veth device name on host side # persistent veth device name on host side
# Note: This may potentially collide with other containers of same name! # Note: This may potentially collide with other containers of same name!
#lxc.network.veth.pair = v-${name}-e0 #lxc.net.0.veth.pair = v-${name}-e0
EOF EOF
if [ $? -ne 0 ] if [ $? -ne 0 ]

View File

@ -517,7 +517,7 @@ container_conf_net()
value=$(echo "${line}" | sed 's/^.*_real_ugly_sep_42_//') value=$(echo "${line}" | sed 's/^.*_real_ugly_sep_42_//')
#new nic ! #new nic !
if [[ "${key}" == "lxc.network.type" ]]; then if [[ "${key}" == "lxc.net.0.type" ]]; then
#we don't know what to do with it. #we don't know what to do with it.
[[ "${value}" == "empty" ]] && continue [[ "${value}" == "empty" ]] && continue
@ -535,15 +535,15 @@ container_conf_net()
nic_type="${value}" nic_type="${value}"
fi fi
if [[ "${key}" == "lxc.network.hwaddr" ]]; then if [[ "${key}" == "lxc.net.0.hwaddr" ]]; then
nic_hwaddr=1 nic_hwaddr=1
fi fi
if [[ "${key}" =~ ^lxc.network.ipv(4|6) ]]; then if [[ "${key}" =~ ^lxc.net.0.ipv(4|6) ]]; then
#tell openrc to not manage this NIC as LXC set there address #tell openrc to not manage this NIC as LXC set there address
nic_conf="null" nic_conf="null"
fi fi
if [[ "${key}" =~ ^lxc.network.name ]]; then if [[ "${key}" =~ ^lxc.net.0.name ]]; then
nic_name="${value}" nic_name="${value}"
let nic_named=nic_named+1 let nic_named=nic_named+1
fi fi
@ -583,10 +583,10 @@ container_net()
store_user_message "No network interface for this container store_user_message "No network interface for this container
It's a pitty, you have bridge, ${bridge}. It's a pitty, you have bridge, ${bridge}.
If it is for Lxc, use it next time by adding this to your default.conf : If it is for Lxc, use it next time by adding this to your default.conf :
lxc.network.type = veth lxc.net.0.type = veth
lxc.network.link = ${bridge} lxc.net.0.link = ${bridge}
lxc.network.flags = up lxc.net.0.flags = up
lxc.network.hwaddr = fe:xx:xx:xx:xx:xx" lxc.net.0.hwaddr = fe:xx:xx:xx:xx:xx"
return 0 return 0
else else
store_user_message "No network interface for this container" store_user_message "No network interface for this container"
@ -681,9 +681,9 @@ container_conf()
# if there is exactly one veth network entry, make sure it has an # if there is exactly one veth network entry, make sure it has an
# associated hwaddr. # associated hwaddr.
nics=`grep -e '^lxc\.network\.type[ \t]*=[ \t]*veth' ${conf_file} | wc -l` nics=`grep -e '^lxc\.net\.0\.type[ \t]*=[ \t]*veth' ${conf_file} | wc -l`
if [ $nics -eq 1 ]; then if [ $nics -eq 1 ]; then
grep -q "^lxc.network.hwaddr" ${conf_file} || sed -i -e "/^lxc\.network\.type[ \t]*=[ \t]*veth/a lxc.network.hwaddr = 00:16:3e:$(openssl rand -hex 3| sed 's/\(..\)/\1:/g; s/.$//')" ${conf_file} grep -q "^lxc.net.0.hwaddr" ${conf_file} || sed -i -e "/^lxc\.net\.0\.type[ \t]*=[ \t]*veth/a lxc.net.0.hwaddr = 00:16:3e:$(openssl rand -hex 3| sed 's/\(..\)/\1:/g; s/.$//')" ${conf_file}
fi fi
if grep -q "^lxc.rootfs" "${conf_file}" ; then if grep -q "^lxc.rootfs" "${conf_file}" ; then

View File

@ -238,30 +238,30 @@ lxc.mount.auto = cgroup:mixed proc:mixed sys:mixed
#lxc.aa_profile = unconfined #lxc.aa_profile = unconfined
#networking #networking
lxc.network.type = $lxc_network_type lxc.net.0.type = $lxc_network_type
lxc.network.flags = up lxc.net.0.flags = up
lxc.network.link = $lxc_network_link lxc.net.0.link = $lxc_network_link
lxc.network.name = eth0 lxc.net.0.name = eth0
lxc.network.mtu = 1500 lxc.net.0.mtu = 1500
EOF EOF
if [ ! -z ${ipv4} ]; then if [ ! -z ${ipv4} ]; then
cat <<EOF >> $config_path/config cat <<EOF >> $config_path/config
lxc.network.ipv4 = $ipv4 lxc.net.0.ipv4 = $ipv4
EOF EOF
fi fi
if [ ! -z ${gw} ]; then if [ ! -z ${gw} ]; then
cat <<EOF >> $config_path/config cat <<EOF >> $config_path/config
lxc.network.ipv4.gateway = $gw lxc.net.0.ipv4.gateway = $gw
EOF EOF
fi fi
if [ ! -z ${ipv6} ]; then if [ ! -z ${ipv6} ]; then
cat <<EOF >> $config_path/config cat <<EOF >> $config_path/config
lxc.network.ipv6 = $ipv6 lxc.net.0.ipv6 = $ipv6
EOF EOF
fi fi
if [ ! -z ${gw6} ]; then if [ ! -z ${gw6} ]; then
cat <<EOF >> $config_path/config cat <<EOF >> $config_path/config
lxc.network.ipv6.gateway = $gw6 lxc.net.0.ipv6.gateway = $gw6
EOF EOF
fi fi
cat <<EOF >> $config_path/config cat <<EOF >> $config_path/config

View File

@ -327,13 +327,13 @@ lxc.rootfs = $rootfs_path
# Seems that \s doesn't work in brackets. # Seems that \s doesn't work in brackets.
KEY=$(expr "${LINE}" : '\s*\([^ ]*\)\s*=') KEY=$(expr "${LINE}" : '\s*\([^ ]*\)\s*=')
if [[ "${KEY}" != "lxc.network.hwaddr" ]] if [[ "${KEY}" != "lxc.net.0.hwaddr" ]]
then then
echo "${LINE}" >> $path/config echo "${LINE}" >> $path/config
if [[ "${KEY}" == "lxc.network.link" ]] if [[ "${KEY}" == "lxc.net.0.link" ]]
then then
echo "lxc.network.hwaddr = $(create_hwaddr)" >> $path/config echo "lxc.net.0.hwaddr = $(create_hwaddr)" >> $path/config
fi fi
fi fi
done < $path/config.def done < $path/config.def
@ -358,16 +358,16 @@ lxc.mount.auto = cgroup:mixed proc:mixed sys:mixed
lxc.aa_profile = unconfined lxc.aa_profile = unconfined
# example simple networking setup, uncomment to enable # example simple networking setup, uncomment to enable
#lxc.network.type = $lxc_network_type #lxc.net.0.type = $lxc_network_type
#lxc.network.flags = up #lxc.net.0.flags = up
#lxc.network.link = $lxc_network_link #lxc.net.0.link = $lxc_network_link
#lxc.network.name = eth0 #lxc.net.0.name = eth0
# Additional example for veth network type # Additional example for veth network type
# static MAC address, # static MAC address,
#lxc.network.hwaddr = 00:16:3e:77:52:20 #lxc.net.0.hwaddr = 00:16:3e:77:52:20
# persistent veth device name on host side # persistent veth device name on host side
# Note: This may potentially collide with other containers of same name! # Note: This may potentially collide with other containers of same name!
#lxc.network.veth.pair = v-$name-e0 #lxc.net.0.veth.pair = v-$name-e0
EOF EOF

View File

@ -497,36 +497,36 @@ EOF
echo "# Networking" >>$cfg_dir/config echo "# Networking" >>$cfg_dir/config
# see if the default network settings were already specified # see if the default network settings were already specified
lxc_network_type=`grep '^lxc.network.type' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'` lxc_network_type=`grep '^lxc.net.0.type' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'`
if [ -z "$lxc_network_type" ]; then if [ -z "$lxc_network_type" ]; then
echo "lxc.network.type = veth" >>$cfg_dir/config echo "lxc.net.0.type = veth" >>$cfg_dir/config
lxc_network_type=veth lxc_network_type=veth
fi fi
lxc_network_link=`grep '^lxc.network.link' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'` lxc_network_link=`grep '^lxc.net.0.link' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'`
if [ -z "$lxc_network_link" ]; then if [ -z "$lxc_network_link" ]; then
echo "lxc.network.link = lxcbr0" >>$cfg_dir/config echo "lxc.net.0.link = lxcbr0" >>$cfg_dir/config
lxc_network_link=lxcbr0 lxc_network_link=lxcbr0
fi fi
lxc_network_hwaddr=`grep '^lxc.network.hwaddr' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'` lxc_network_hwaddr=`grep '^lxc.net.0.hwaddr' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'`
if [ -z "$lxc_network_hwaddr" ]; then if [ -z "$lxc_network_hwaddr" ]; then
# generate a hwaddr for the container # generate a hwaddr for the container
# see http://sourceforge.net/tracker/?func=detail&aid=3411497&group_id=163076&atid=826303 # see http://sourceforge.net/tracker/?func=detail&aid=3411497&group_id=163076&atid=826303
local hwaddr="00:16:3e:`dd if=/dev/urandom bs=8 count=1 2>/dev/null |od -t x8 | \ local hwaddr="00:16:3e:`dd if=/dev/urandom bs=8 count=1 2>/dev/null |od -t x8 | \
head -n1 | awk '{print $2}' | cut -c1-6 | \ head -n1 | awk '{print $2}' | cut -c1-6 | \
sed 's/\(..\)/\1:/g; s/.$//'`" sed 's/\(..\)/\1:/g; s/.$//'`"
echo "lxc.network.hwaddr = $hwaddr" >>$cfg_dir/config echo "lxc.net.0.hwaddr = $hwaddr" >>$cfg_dir/config
fi fi
lxc_network_flags=`grep '^lxc.network.flags' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'` lxc_network_flags=`grep '^lxc.net.0.flags' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'`
if [ -z "$lxc_network_flags" ]; then if [ -z "$lxc_network_flags" ]; then
echo "lxc.network.flags = up" >>$cfg_dir/config echo "lxc.net.0.flags = up" >>$cfg_dir/config
fi fi
cat <<EOF >> $cfg_dir/config || die "unable to create $cfg_dir/config" cat <<EOF >> $cfg_dir/config || die "unable to create $cfg_dir/config"
lxc.network.name = eth0 lxc.net.0.name = eth0
lxc.network.mtu = 1500 lxc.net.0.mtu = 1500
EOF EOF
} }

View File

@ -326,36 +326,36 @@ EOF
echo "# Networking" >>$cfg_dir/config echo "# Networking" >>$cfg_dir/config
# see if the default network settings were already specified # see if the default network settings were already specified
lxc_network_type=`grep '^lxc.network.type' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'` lxc_network_type=`grep '^lxc.net.0.type' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'`
if [ -z "$lxc_network_type" ]; then if [ -z "$lxc_network_type" ]; then
echo "lxc.network.type = veth" >>$cfg_dir/config echo "lxc.net.0.type = veth" >>$cfg_dir/config
lxc_network_type=veth lxc_network_type=veth
fi fi
lxc_network_link=`grep '^lxc.network.link' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'` lxc_network_link=`grep '^lxc.net.0.link' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'`
if [ -z "$lxc_network_link" ]; then if [ -z "$lxc_network_link" ]; then
echo "lxc.network.link = lxcbr0" >>$cfg_dir/config echo "lxc.net.0.link = lxcbr0" >>$cfg_dir/config
lxc_network_link=lxcbr0 lxc_network_link=lxcbr0
fi fi
lxc_network_hwaddr=`grep '^lxc.network.hwaddr' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'` lxc_network_hwaddr=`grep '^lxc.net.0.hwaddr' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'`
if [ -z "$lxc_network_hwaddr" ]; then if [ -z "$lxc_network_hwaddr" ]; then
# generate a hwaddr for the container # generate a hwaddr for the container
# see http://sourceforge.net/tracker/?func=detail&aid=3411497&group_id=163076&atid=826303 # see http://sourceforge.net/tracker/?func=detail&aid=3411497&group_id=163076&atid=826303
local hwaddr="00:16:3e:`dd if=/dev/urandom bs=8 count=1 2>/dev/null |od -t x8 | \ local hwaddr="00:16:3e:`dd if=/dev/urandom bs=8 count=1 2>/dev/null |od -t x8 | \
head -n1 | awk '{print $2}' | cut -c1-6 | \ head -n1 | awk '{print $2}' | cut -c1-6 | \
sed 's/\(..\)/\1:/g; s/.$//'`" sed 's/\(..\)/\1:/g; s/.$//'`"
echo "lxc.network.hwaddr = $hwaddr" >>$cfg_dir/config echo "lxc.net.0.hwaddr = $hwaddr" >>$cfg_dir/config
fi fi
lxc_network_flags=`grep '^lxc.network.flags' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'` lxc_network_flags=`grep '^lxc.net.0.flags' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'`
if [ -z "$lxc_network_flags" ]; then if [ -z "$lxc_network_flags" ]; then
echo "lxc.network.flags = up" >>$cfg_dir/config echo "lxc.net.0.flags = up" >>$cfg_dir/config
fi fi
cat <<EOF >> $cfg_dir/config || die "unable to create $cfg_dir/config" cat <<EOF >> $cfg_dir/config || die "unable to create $cfg_dir/config"
lxc.network.name = eth0 lxc.net.0.name = eth0
lxc.network.mtu = 1500 lxc.net.0.mtu = 1500
EOF EOF
} }

View File

@ -162,7 +162,7 @@ EOF
fi fi
# if no .ipv4 section in config, then have the container run dhcp # if no .ipv4 section in config, then have the container run dhcp
grep -q "^lxc.network.ipv4" $path/config || touch $rootfs/run-dhcp grep -q "^lxc.net.0.ipv4" $path/config || touch $rootfs/run-dhcp
if [ "$(uname -m)" = "x86_64" ]; then if [ "$(uname -m)" = "x86_64" ]; then
cat <<EOF >> $path/config cat <<EOF >> $path/config

View File

@ -60,14 +60,14 @@ copy_configuration()
# if there is exactly one veth network entry, make sure it has an # if there is exactly one veth network entry, make sure it has an
# associated hwaddr. # associated hwaddr.
nics=`grep -e '^lxc\.network\.type[ \t]*=[ \t]*veth' $path/config | wc -l` nics=`grep -e '^lxc\.net\.0\.type[ \t]*=[ \t]*veth' $path/config | wc -l`
if [ $nics -eq 1 ]; then if [ $nics -eq 1 ]; then
grep -q "^lxc.network.hwaddr" $path/config || sed -i -e "/^lxc\.network\.type[ \t]*=[ \t]*veth/a lxc.network.hwaddr = 00:16:3e:$(openssl rand -hex 3| sed 's/\(..\)/\1:/g; s/.$//')" $path/config grep -q "^lxc.net.0.hwaddr" $path/config || sed -i -e "/^lxc\.net\.0\.type[ \t]*=[ \t]*veth/a lxc.net.0.hwaddr = 00:16:3e:$(openssl rand -hex 3| sed 's/\(..\)/\1:/g; s/.$//')" $path/config
fi fi
# Generate the configuration file # Generate the configuration file
## Relocate all the network config entries ## Relocate all the network config entries
sed -i -e "/lxc.network/{w ${path}/config-network" -e "d}" $path/config sed -i -e "/lxc.net.0/{w ${path}/config-network" -e "d}" $path/config
## Relocate any other config entries ## Relocate any other config entries
sed -i -e "/lxc./{w ${path}/config-auto" -e "d}" $path/config sed -i -e "/lxc./{w ${path}/config-auto" -e "d}" $path/config

View File

@ -503,14 +503,14 @@ copy_configuration()
# if there is exactly one veth network entry, make sure it has an # if there is exactly one veth network entry, make sure it has an
# associated hwaddr. # associated hwaddr.
nics=`grep -e '^lxc\.network\.type[ \t]*=[ \t]*veth' $path/config | wc -l` nics=`grep -e '^lxc\.net\.0\.type[ \t]*=[ \t]*veth' $path/config | wc -l`
if [ $nics -eq 1 ]; then if [ $nics -eq 1 ]; then
grep -q "^lxc.network.hwaddr" $path/config || sed -i -e "/^lxc\.network\.type[ \t]*=[ \t]*veth/a lxc.network.hwaddr = 00:16:3e:$(openssl rand -hex 3| sed 's/\(..\)/\1:/g; s/.$//')" $path/config grep -q "^lxc.net.0.hwaddr" $path/config || sed -i -e "/^lxc\.net\.0\.type[ \t]*=[ \t]*veth/a lxc.net.0.hwaddr = 00:16:3e:$(openssl rand -hex 3| sed 's/\(..\)/\1:/g; s/.$//')" $path/config
fi fi
# Generate the configuration file # Generate the configuration file
## Relocate all the network config entries ## Relocate all the network config entries
sed -i -e "/lxc.network/{w ${path}/config-network" -e "d}" $path/config sed -i -e "/lxc.net.0/{w ${path}/config-network" -e "d}" $path/config
## Relocate any other config entries ## Relocate any other config entries
sed -i -e "/lxc./{w ${path}/config-auto" -e "d}" $path/config sed -i -e "/lxc./{w ${path}/config-auto" -e "d}" $path/config