]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
c/r: use criu option instead of lxc-restore-net
authorTycho Andersen <tycho.andersen@canonical.com>
Mon, 13 Apr 2015 18:54:27 +0000 (18:54 +0000)
committerStéphane Graber <stgraber@ubuntu.com>
Wed, 22 Apr 2015 16:29:46 +0000 (12:29 -0400)
As of criu 1.5, the --veth-pair argument supports an additional parameter that
is the bridge name to attach to. This enables us to get rid of the goofy
action-script hack that passed bridge names as environment variables.

This patch is on top of the systemd/lxcfs mount rework patch, as we probably
want to wait to use 1.5 options until it has been out for a while and is in
distros.

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
src/lxc/Makefile.am
src/lxc/lxc-restore-net [deleted file]
src/lxc/lxccontainer.c

index b1e56b939994e1753bc730a58bcc5dc37696ac94..d8e460bdaf68b3864972fdd12ccd611cd775203d 100644 (file)
@@ -164,7 +164,6 @@ bin_SCRIPTS = lxc-checkconfig
 
 EXTRA_DIST = \
        lxc-ls \
-       lxc-restore-net \
        lxc-top.lua
 
 if ENABLE_PYTHON
@@ -261,8 +260,5 @@ install-exec-local: install-soPROGRAMS
 install-exec-hook:
        chmod u+s $(DESTDIR)$(libexecdir)/lxc/lxc-user-nic
 
-install-data-local:
-       install -c -m 755 lxc-restore-net $(DESTDIR)$(datadir)/lxc
-
 uninstall-local:
        $(RM) $(DESTDIR)$(libdir)/liblxc.so*
diff --git a/src/lxc/lxc-restore-net b/src/lxc/lxc-restore-net
deleted file mode 100755 (executable)
index 6ae3c19..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh
-
-set -e
-
-i=0
-while true; do
-       eval "bridge=\$LXC_CRIU_BRIDGE$i"
-       eval "veth=\$LXC_CRIU_VETH$i"
-
-       if [ -z "$bridge" ] || [ -z "$veth" ]; then
-               exit 0
-       fi
-
-       if [ "$CRTOOLS_SCRIPT_ACTION" = "network-lock" ]; then
-               brctl delif $bridge $veth
-       fi
-
-       if [ "$CRTOOLS_SCRIPT_ACTION" = "network-unlock" ]; then
-               brctl addif $bridge $veth
-               ip link set dev $veth up
-       fi
-
-       i=$((i+1))
-done
-
-exit 1
index 4d73b4c5845175f1c35bd4ae7ee0bfd948ccba07..d6826abcb4d51d9bd125b9c3f0e7796337fca4e6 100644 (file)
@@ -3591,8 +3591,6 @@ static void exec_criu(struct criu_opts *opts)
        DECLARE_ARG("auto");
        DECLARE_ARG("--enable-external-sharing");
        DECLARE_ARG("--enable-external-masters");
-       DECLARE_ARG("--action-script");
-       DECLARE_ARG(DATADIR "/lxc/lxc-restore-net");
        DECLARE_ARG("-D");
        DECLARE_ARG(opts->directory);
        DECLARE_ARG("-o");
@@ -3644,7 +3642,7 @@ static void exec_criu(struct criu_opts *opts)
 
                        veth = n->priv.veth_attr.pair;
 
-                       ret = snprintf(buf, sizeof(buf), "%s=%s", eth, veth);
+                       ret = snprintf(buf, sizeof(buf), "%s=%s@%s", eth, veth, n->link);
                        if (ret < 0 || ret >= sizeof(buf))
                                goto err;
 
@@ -3656,39 +3654,6 @@ static void exec_criu(struct criu_opts *opts)
 
        argv[argc] = NULL;
 
-       netnr = 0;
-       lxc_list_for_each(it, &opts->c->lxc_conf->network) {
-               struct lxc_netdev *n = it->elem;
-               char veth[128];
-
-               /*
-                * Here, we set some parameters that lxc-restore-net
-                * will examine to figure out the right network to
-                * restore.
-                */
-               snprintf(buf, sizeof(buf), "LXC_CRIU_BRIDGE%d", netnr);
-               if (setenv(buf, n->link, 1))
-                       goto err;
-
-               if (strcmp("restore", opts->action) == 0)
-                       strncpy(veth, n->priv.veth_attr.pair, sizeof(veth));
-               else {
-                       char *tmp;
-                       ret = snprintf(buf, sizeof(buf), "lxc.network.%d.veth.pair", netnr);
-                       if (ret < 0 || ret >= sizeof(buf))
-                               goto err;
-                       tmp = lxcapi_get_running_config_item(opts->c, buf);
-                       strncpy(veth, tmp, sizeof(veth));
-                       free(tmp);
-               }
-
-               snprintf(buf, sizeof(buf), "LXC_CRIU_VETH%d", netnr);
-               if (setenv(buf, veth, 1))
-                       goto err;
-
-               netnr++;
-       }
-
 #undef DECLARE_ARG
        execv(argv[0], argv);
 err: