Hi

It looks like conf.c:instanciate_veth() was rewritten; the result is
that lxc-start is failing when setting up the veth pair MTUs. I rewrote
a very small section of the code and it seems to be working fine now:

1) Move the following block (unchanged) before the block that's
getting/setting the MTU
<       netdev->ifindex = if_nametoindex(veth2);
<       if (!netdev->ifindex) {
<               ERROR("failed to retrieve the index for %s", veth2);
<               goto out_delete;

2) Replace
< mtu = netdev_get_mtu(if_nametoindex(netdev->link));

by

> mtu = netdev_get_mtu(netdev->ifindex);

The whole code diff is as follows:

# diff lxc-master/src/lxc/conf.c lxc-steph/src/lxc/conf.c
2602a2603,2608
>       netdev->ifindex = if_nametoindex(veth2);
>       if (!netdev->ifindex) {
>               ERROR("failed to retrieve the index for %s", veth2);
>               goto out_delete;
>       }
> 
2606c2612
<               mtu = netdev_get_mtu(if_nametoindex(netdev->link));
---
>               mtu = netdev_get_mtu(netdev->ifindex);
2627,2632d2632
<       }
< 
<       netdev->ifindex = if_nametoindex(veth2);
<       if (!netdev->ifindex) {
<               ERROR("failed to retrieve the index for %s", veth2);
<               goto out_delete;


Was there a reason why the interface index was searched after the MTU
get/set which actually depends on the interface index?

Thanks
Stephane


_______________________________________________
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to