[lxc-devel] [lxc/master] 2016 09 21/retrieve mtu from bridge
brauner on Github
lxc-bot at linuxcontainers.org
Wed Sep 21 19:13:29 UTC 2016
A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 406 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20160921/334b8704/attachment.bin>
-------------- next part --------------
From e9280f6590de5cd1a8ecb770133b80efc6c482b3 Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brauner at canonical.com>
Date: Wed, 21 Sep 2016 20:56:03 +0200
Subject: [PATCH 1/2] conf: retrieve mtu from netdev->link
When mtu is not set, try to retrieve mtu from netdev->link.
Signed-off-by: Christian Brauner <christian.brauner at canonical.com>
---
src/lxc/conf.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/lxc/conf.c b/src/lxc/conf.c
index 22e2e29..53182fb 100644
--- a/src/lxc/conf.c
+++ b/src/lxc/conf.c
@@ -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) {
From 729e8bf685a66c91e521734b31c7eddd399c66ef Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brauner at canonical.com>
Date: Wed, 21 Sep 2016 21:07:24 +0200
Subject: [PATCH 2/2] conf: try to retrieve mtu from veth
When the mtu cannot be retrieved from netdev->link try from veth device.
Signed-off-by: Christian Brauner <christian.brauner at canonical.com>
---
src/lxc/conf.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/lxc/conf.c b/src/lxc/conf.c
index 53182fb..f688f94 100644
--- a/src/lxc/conf.c
+++ b/src/lxc/conf.c
@@ -2577,10 +2577,13 @@ static int instantiate_veth(struct lxc_handler *handler, struct lxc_netdev *netd
INFO("Retrieved mtu %d", mtu);
} else if (netdev->link) {
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 (bridge_index) {
+ mtu = netdev_get_mtu(bridge_index);
+ INFO("Retrieved mtu %d from %s", mtu, netdev->link);
+ } else {
+ mtu = netdev_get_mtu(netdev->ifindex);
+ INFO("Retrieved mtu %d from %s", mtu, veth2);
+ }
}
if (mtu) {
More information about the lxc-devel
mailing list