<div dir="ltr"><div>Ahh... Sorry, I really mistook.<br><br></div>I re-read [1] and noticed that I took wrong "1" and "2".<br><br><div>[1] <a href="http://multipath-tcp.org/pmwiki.php/Users/ConfigureRouting" target="_blank">http://multipath-tcp.org/pmwiki.php/Users/ConfigureRouting</a><br>
</div><div><br>Thanks a lot.<br><br></div><div>Please close. I could solve another way.<br></div><div><br></div><div>Kenjiro<br></div><div><br><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Apr 12, 2014 at 5:57 PM, Nakayama Kenjiro <span dir="ltr"><<a href="mailto:nakayamakenjiro@gmail.com" target="_blank">nakayamakenjiro@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thank you for you advice.<br><br>1. Background<br><br>Now I am testing MPTCP[1], and need to use multiple eths and each gateways. Since this may be special usecases, I might have to use virtual machines. (Actually, now I am using virtual machines.)<br>

<br>[1] <a href="http://multipath-tcp.org/pmwiki.php/Users/ConfigureRouting" target="_blank">http://multipath-tcp.org/pmwiki.php/Users/ConfigureRouting</a><br><br><br>2. Same namespaces problem<div class=""><br><br>> Because the fist answer would be that you of course can't have more than one default route per stack and the advanced answer would be, that you may set up routing namespaces to archive<br>

<br></div>Yes, right. Alotough I don't know yet about LXC, I thought I can solve this problem by routing configuration like[1].<br><br><br>3.<div class=""><br>> i politely, but strongly suggest you to first read some basics about the TCP/IP  stack like networks, packet routing etc. to learn about the meaning of the term "gateway", especial the "default gateway".<br>

<br></div>Yes...that's right...<br><br><br>Thanks,<br><br>Kenjiro<br><br><div class="gmail_extra"><div><div class="h5"><br><br><div class="gmail_quote">On Sat, Apr 12, 2014 at 5:02 PM, Guido Jäkel <span dir="ltr"><<a href="mailto:G.Jaekel@dnb.de" target="_blank">G.Jaekel@dnb.de</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear Kenjiro,<br>
<br>
i politely, but strongly suggest you to first read some basics about the TCP/IP  stack like networks, packet routing etc. to learn about the meaning of the term "gateway", especial the "default gateway".<br>


<br>
Because the fist answer would be that you of course can't have more than one default route per stack and the advanced answer would be, that you may set up routing namespaces to archive it nevertheless to realize some very special usecases. But for this, in the first you have to understand the common cases in deep.<br>


<br>
greetings<br>
<br>
Guido<br>
<div><div><br>
<br>
On 2014-04-12 05:38, Nakayama Kenjiro wrote:<br>
> Hi,<br>
><br>
> I tried to set up multiple veth and default GW for each veth in one<br>
> container[1] by using docker with following command [2].<br>
> But I got an error[3]. (When I setup with only one Default GW, it works<br>
> well. So I think I can not default GW for each veth (eth0, eth1).)<br>
><br>
> Is this my mis-configuration or impossible configuration or lxc's bug?<br>
> Please tell me if anybody can figure out the cause of this problem.<br>
><br>
> Thank you in advance.<br>
><br>
> Kenjiro<br>
><br>
> [1]<br>
>      +-----------------+ Default GW<br>
>      | +-------------+ | +-------+<br>
>      | |    eth0     | | |  br1  |<br>
>      | |172.16.42.20 |-|-|docker1|--<br>
>      | +-------------+ | +-------+<br>
>      |                 |<br>
>      |                 | Default GW<br>
>      | +-------------+ | +-------+<br>
>      | |    eth1     | | |  br2  |<br>
>      | |172.16.42.20 |-|-|docker2|--<br>
>      | +-------------+ | +-------+<br>
>      +-----------------+<br>
><br>
> [2] docker execute command.<br>
> docker run \<br>
> -n=false \<br>
> -lxc-conf="lxc.network.type = veth" \<br>
> -lxc-conf="<a href="http://lxc.network.name" target="_blank">lxc.network.name</a> = eth0" \<br>
> -lxc-conf="lxc.network.ipv4 = <a href="http://172.16.42.20/24" target="_blank">172.16.42.20/24</a>" \<br>
> -lxc-conf="lxc.network.ipv4.gateway = 172.16.42.1" \<br>
> -lxc-conf="lxc.network.hwaddr = 00:FF:80:FF:FF:02" \<br>
> -lxc-conf="lxc.network.link = docker1" \<br>
> -lxc-conf="lxc.network.flags = up" \<br>
> -lxc-conf="lxc.network.type = veth" \<br>
> -lxc-conf="<a href="http://lxc.network.name" target="_blank">lxc.network.name</a> = eth1" \<br>
> -lxc-conf="lxc.network.ipv4 = <a href="http://172.16.42.21/24" target="_blank">172.16.42.21/24</a>" \<br>
> -lxc-conf="lxc.network.hwaddr = 00:FF:80:FF:FF:01" \<br>
> -lxc-conf="lxc.network.ipv4.gateway = 172.16.42.2" \<br>
> -lxc-conf="lxc.network.link = docker2" \<br>
> -lxc-conf="lxc.network.flags = up" \<br>
> -i -t --name tmp1 mptcp-test /bin/bash<br>
><br>
> [3] Error when executed docer run.<br>
> ~~~<br>
> Warning: '-lxc-conf' is deprecated, it will be removed soon. See usage.<br>
> Warning: '-lxc-conf' is deprecated, it will be removed soon. See usage.<br>
> Warning: '-lxc-conf' is deprecated, it will be removed soon. See usage.<br>
> Warning: '-lxc-conf' is deprecated, it will be removed soon. See usage.<br>
> Warning: '-lxc-conf' is deprecated, it will be removed soon. See usage.<br>
> Warning: '-lxc-conf' is deprecated, it will be removed soon. See usage.<br>
> Warning: '-lxc-conf' is deprecated, it will be removed soon. See usage.<br>
> Warning: '-lxc-conf' is deprecated, it will be removed soon. See usage.<br>
> Warning: '-lxc-conf' is deprecated, it will be removed soon. See usage.<br>
> Warning: '-lxc-conf' is deprecated, it will be removed soon. See usage.<br>
> Warning: '-lxc-conf' is deprecated, it will be removed soon. See usage.<br>
> Warning: '-lxc-conf' is deprecated, it will be removed soon. See usage.<br>
> Warning: '-lxc-conf' is deprecated, it will be removed soon. See usage.<br>
> Warning: '-lxc-conf' is deprecated, it will be removed soon. See usage.<br>
> lxc-start: failed to setup ipv4 gateway for 'eth1': File exists<br>
> lxc-start: failed to setup netdev<br>
> lxc-start: failed to setup the network for<br>
> '41794d153bafe7dc14dcc28520ff9f82b432ffcaed91572b6414d785d60db0dc'<br>
> lxc-start: failed to setup the container<br>
> lxc-start: invalid sequence number 1. expected 2<br>
> lxc-start: failed to spawn<br>
> '41794d153bafe7dc14dcc28520ff9f82b432ffcaed91572b6414d785d60db0dc'<br>
> lxc-start: Device or resource busy - failed to remove cgroup<br>
> '/sys/fs/cgroup/cpuset/lxc/41794d153bafe7dc14dcc28520ff9f82b432ffcaed91572b6414d785d60db0dc'<br>
> lxc-start: Device or resource busy - failed to remove cgroup<br>
> '/sys/fs/cgroup/cpu,cpuacct/lxc/41794d153bafe7dc14dcc28520ff9f82b432ffcaed91572b6414d785d60db0dc'<br>
> lxc-start: Device or resource busy - failed to remove cgroup<br>
> '/sys/fs/cgroup/memory/lxc/41794d153bafe7dc14dcc28520ff9f82b432ffcaed91572b6414d785d60db0dc'<br>
> lxc-start: Device or resource busy - failed to remove cgroup<br>
> '/sys/fs/cgroup/devices/lxc/41794d153bafe7dc14dcc28520ff9f82b432ffcaed91572b6414d785d60db0dc'<br>
> lxc-start: Device or resource busy - failed to remove cgroup<br>
> '/sys/fs/cgroup/freezer/lxc/41794d153bafe7dc14dcc28520ff9f82b432ffcaed91572b6414d785d60db0dc'<br>
> lxc-start: Device or resource busy - failed to remove cgroup<br>
> '/sys/fs/cgroup/net_cls/lxc/41794d153bafe7dc14dcc28520ff9f82b432ffcaed91572b6414d785d60db0dc'<br>
> lxc-start: Device or resource busy - failed to remove cgroup<br>
> '/sys/fs/cgroup/blkio/lxc/41794d153bafe7dc14dcc28520ff9f82b432ffcaed91572b6414d785d60db0dc'<br>
> lxc-start: Device or resource busy - failed to remove cgroup<br>
> '/sys/fs/cgroup/perf_event/lxc/41794d153bafe7dc14dcc28520ff9f82b432ffcaed91572b6414d785d60db0dc'<br>
> lxc-start: Device or resource busy - failed to remove cgroup<br>
> '/sys/fs/cgroup/hugetlb/lxc/41794d153bafe7dc14dcc28520ff9f82b432ffcaed91572b6414d785d60db0dc'<br>
> [error] client.go:2298 Error getting size: bad file descriptor<br>
> ~~~<br>
><br>
> [4] Bridge setting<br>
> ~~~<br>
> #!/bin/sh<br>
><br>
> # Name of the bridge<br>
> FIRST_BRIDGE_NAME=docker1<br>
><br>
> # Bridge address<br>
> FIRST_BRIDGE_ADDRESS=<a href="http://172.16.42.1/24" target="_blank">172.16.42.1/24</a><br>
><br>
> # Add the docker1 bridge<br>
> brctl addbr $FIRST_BRIDGE_NAME<br>
><br>
> # Set up the IP for the docker1 bridge<br>
> ip a add $FIRST_BRIDGE_ADDRESS dev $FIRST_BRIDGE_NAME<br>
><br>
> # Activate the bridge<br>
> ip link set $FIRST_BRIDGE_NAME up<br>
><br>
> ### ----------------------- ###<br>
><br>
> # Name of the bridge<br>
> SECOND_BRIDGE_NAME=docker2<br>
><br>
> # Bridge address<br>
> SECOND_BRIDGE_ADDRESS=<a href="http://172.16.42.2/24" target="_blank">172.16.42.2/24</a><br>
><br>
> # Add the docker1 bridge<br>
> brctl addbr $SECOND_BRIDGE_NAME<br>
><br>
> # Set up the IP for the docker2 bridge<br>
> ip a add $SECOND_BRIDGE_ADDRESS dev $SECOND_BRIDGE_NAME<br>
><br>
> # Activate the bridge<br>
> ip link set $SECOND_BRIDGE_NAME up<br>
> ~~~<br>
><br>
><br>
><br>
><br>
</div></div>> _______________________________________________<br>
> lxc-users mailing list<br>
> <a href="mailto:lxc-users@lists.linuxcontainers.org" target="_blank">lxc-users@lists.linuxcontainers.org</a><br>
> <a href="http://lists.linuxcontainers.org/listinfo/lxc-users" target="_blank">http://lists.linuxcontainers.org/listinfo/lxc-users</a><br>
><br>
<br>
</blockquote></div><br><br clear="all"><br></div></div><div class="">-- <br><div dir="ltr">Kenjiro NAKAYAMA <<a href="mailto:nakayamakenjiro@gmail.com" target="_blank">nakayamakenjiro@gmail.com</a>><br>GPG Key fingerprint = ED8F 049D E67A 727D 9A44  8E25 F44B E208 C946 5EB9<br>

</div>
</div></div></div>
</blockquote></div><br><br clear="all"><br>-- <br><div dir="ltr">Kenjiro NAKAYAMA <<a href="mailto:nakayamakenjiro@gmail.com" target="_blank">nakayamakenjiro@gmail.com</a>><br>GPG Key fingerprint = ED8F 049D E67A 727D 9A44  8E25 F44B E208 C946 5EB9<br>
</div>
</div>