]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
conf: retrieve mtu from netdev->link
authorChristian Brauner <christian.brauner@canonical.com>
Wed, 21 Sep 2016 18:56:03 +0000 (20:56 +0200)
committerChristian Brauner <christian.brauner@canonical.com>
Wed, 21 Sep 2016 18:56:03 +0000 (20:56 +0200)
When mtu is not set, try to retrieve mtu from netdev->link.

Signed-off-by: Christian Brauner <christian.brauner@canonical.com>
src/lxc/conf.c

index 22e2e29e5a4417c0dc167ca6cdafc0e599306a67..53182fb0faaf96f1d01d3dad55b27ae2e800b092 100644 (file)
@@ -2521,7 +2521,7 @@ static int instantiate_veth(struct lxc_handler *handler, struct lxc_netdev *netd
 {
        char veth1buf[IFNAMSIZ], *veth1;
        char veth2buf[IFNAMSIZ], *veth2;
-       int err, mtu = 0;
+       int bridge_index, err, mtu = 0;
 
        if (netdev->priv.veth_attr.pair) {
                veth1 = netdev->priv.veth_attr.pair;
@@ -2574,8 +2574,13 @@ static int instantiate_veth(struct lxc_handler *handler, struct lxc_netdev *netd
 
        if (netdev->mtu) {
                mtu = atoi(netdev->mtu);
+               INFO("Retrieved mtu %d", mtu);
        } else if (netdev->link) {
-               mtu = netdev_get_mtu(netdev->ifindex);
+               bridge_index = if_nametoindex(netdev->link);
+               if (!bridge_index)
+                       INFO("Could not retrieve mtu from %s", netdev->link);
+               mtu = netdev_get_mtu(bridge_index);
+               INFO("Retrieved mtu %d from %s", mtu, netdev->link);
        }
 
        if (mtu) {