From: tomponline Date: Fri, 26 Apr 2019 17:01:53 +0000 (+0100) Subject: network: Adds upscript handling for vlan network type X-Git-Tag: lxc-3.2.0~92^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3a73d9f10940f1443fb66f5363a052494d723a9c;p=thirdparty%2Flxc.git network: Adds upscript handling for vlan network type Signed-off-by: tomponline --- diff --git a/src/lxc/network.c b/src/lxc/network.c index d1b4d43ad..53855d8e4 100644 --- a/src/lxc/network.c +++ b/src/lxc/network.c @@ -297,6 +297,21 @@ static int instantiate_vlan(struct lxc_handler *handler, struct lxc_netdev *netd return -1; } + if (netdev->upscript) { + char *argv[] = { + "vlan", + netdev->link, + NULL, + }; + + err = run_script_argv(handler->name, + handler->conf->hooks_version, "net", + netdev->upscript, "up", argv); + if (err < 0) + lxc_netdev_delete_by_name(peer); + return -1; + } + DEBUG("Instantiated vlan \"%s\" with ifindex is \"%d\" (vlan1000)", peer, netdev->ifindex); if (netdev->mtu) { @@ -447,6 +462,21 @@ static int shutdown_macvlan(struct lxc_handler *handler, struct lxc_netdev *netd static int shutdown_vlan(struct lxc_handler *handler, struct lxc_netdev *netdev) { + int ret; + char *argv[] = { + "vlan", + netdev->link, + NULL, + }; + + if (!netdev->downscript) + return 0; + + ret = run_script_argv(handler->name, handler->conf->hooks_version, + "net", netdev->downscript, "down", argv); + if (ret < 0) + return -1; + return 0; }