From: tomponline Date: Tue, 7 May 2019 11:13:46 +0000 (+0100) Subject: network: Adds custom mtu support for ipvlan interfaces X-Git-Tag: lxc-3.2.0~69^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=006e135e225847ec29eb816c62ac6c22668de4d8;p=thirdparty%2Flxc.git network: Adds custom mtu support for ipvlan interfaces Signed-off-by: tomponline --- diff --git a/src/lxc/network.c b/src/lxc/network.c index 5edd822b4..7214a09b3 100644 --- a/src/lxc/network.c +++ b/src/lxc/network.c @@ -478,6 +478,7 @@ static int instantiate_ipvlan(struct lxc_handler *handler, struct lxc_netdev *ne { char peerbuf[IFNAMSIZ], *peer; int err; + unsigned int mtu = 0; if (netdev->link[0] == '\0') { ERROR("No link for ipvlan network device specified"); @@ -504,6 +505,22 @@ static int instantiate_ipvlan(struct lxc_handler *handler, struct lxc_netdev *ne goto on_error; } + if (netdev->mtu) { + err = lxc_safe_uint(netdev->mtu, &mtu); + if (err < 0) { + errno = -err; + SYSERROR("Failed to parse mtu \"%s\" for interface \"%s\"", netdev->mtu, peer); + goto on_error; + } + + err = lxc_netdev_set_mtu(peer, mtu); + if (err < 0) { + errno = -err; + SYSERROR("Failed to set mtu \"%s\" for interface \"%s\"", netdev->mtu, peer); + goto on_error; + } + } + if (netdev->upscript) { char *argv[] = { "ipvlan",