[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] libxl/xl: drop support for netchannel2



# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1302276072 -3600
# Node ID 8e9f52ea8866f183b7f0bf2f437646d71e9d04c8
# Parent  3ca61c5a885468627593fbfeab7b1b6e181c79bd
libxl/xl: drop support for netchannel2

netchannel2 was never widely deployed and no supported kernel includes
either the front- or back-ends. The last known kernel with this
support was the xen.git 2.6.31 branch which has been unsupported for
ages.

xl will warn the user if it spots a "vif2" configration item but
otherwise support is completely removed.

Work is ongoing to add the interesting features of netchannel2 as
protocol extensions to netchannel1.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---


diff -r 3ca61c5a8854 -r 8e9f52ea8866 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c       Fri Apr 08 16:17:18 2011 +0100
+++ b/tools/libxl/libxl.c       Fri Apr 08 16:21:12 2011 +0100
@@ -1379,227 +1379,6 @@
 }
 
 
/******************************************************************************/
-void libxl_device_net2_init(libxl_device_net2 *net2_info, int devnum)
-{
-    const uint8_t *r;
-    libxl_uuid uuid;
-
-    libxl_uuid_generate(&uuid);
-    r = libxl_uuid_bytearray(&uuid);
-    memset(net2_info, '\0', sizeof(*net2_info));
-
-    net2_info->devid = devnum;
-    net2_info->front_mac[0] = 0x00;
-    net2_info->front_mac[1] = 0x16;
-    net2_info->front_mac[2] = 0x3e;;
-    net2_info->front_mac[3] = 0x7f & r[0];
-    net2_info->front_mac[4] = r[1];
-    net2_info->front_mac[5] = r[2];
-    net2_info->back_mac[0] = 0x00;
-    net2_info->back_mac[1] = 0x16;
-    net2_info->back_mac[2] = 0x3e;
-    net2_info->back_mac[3] = 0x7f & r[3];
-    net2_info->back_mac[4] = r[4];
-    net2_info->back_mac[5] = r[5];
-    net2_info->back_trusted = 1;
-    net2_info->filter_mac = 1;
-    net2_info->max_bypasses = 5;
-    net2_info->bridge = strdup("xenbr0");
-}
-
-int libxl_device_net2_add(libxl_ctx *ctx, uint32_t domid, libxl_device_net2 
*net2)
-{
-    libxl__gc gc = LIBXL_INIT_GC(ctx);
-    flexarray_t *front, *back;
-    libxl__device device;
-    char *dompath, *dom, **l;
-    unsigned int nb;
-    int rc;
-
-    front = flexarray_make(16, 1);
-    if (!front) {
-        rc = ERROR_NOMEM;
-        goto err;
-    }
-    back = flexarray_make(16, 1);
-    if (!back) {
-        rc = ERROR_NOMEM;
-        goto err_free;
-    }
-
-    if (!(dompath = libxl__xs_get_dompath(&gc, domid))) {
-        rc = ERROR_FAIL;
-        goto err_free;
-    }
-    dom = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, "%s/name", 
dompath));
-
-    if (net2->devid == -1) {
-        if (!(l = libxl__xs_directory(&gc, XBT_NULL,
-                                     libxl__sprintf(&gc, "%s/device/vif2", 
dompath), &nb))) {
-            net2->devid = 0;
-        } else {
-            net2->devid = strtoul(l[nb - 1], NULL, 10) + 1;
-        }
-    }
-
-    device.backend_devid = net2->devid;
-    device.backend_domid = net2->backend_domid;
-    device.backend_kind = DEVICE_VIF2;
-    device.devid = net2->devid;
-    device.domid = net2->domid;
-    device.kind = DEVICE_VIF2;
-
-    flexarray_append(back, "domain");
-    flexarray_append(back, dom);
-    flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(&gc, "%d", net2->domid));
-
-    flexarray_append(back, "local-trusted");
-    flexarray_append(back, libxl__sprintf(&gc, "%d", net2->back_trusted));
-    flexarray_append(back, "mac");
-    flexarray_append(back, libxl__sprintf(&gc, "%02x:%02x:%02x:%02x:%02x:%02x",
-                                                 net2->back_mac[0], 
net2->back_mac[1],
-                                                 net2->back_mac[2], 
net2->back_mac[3],
-                                                 net2->back_mac[4], 
net2->back_mac[5]));
-
-    flexarray_append(back, "remote-trusted");
-    flexarray_append(back, libxl__sprintf(&gc, "%d", net2->trusted));
-    flexarray_append(back, "remote-mac");
-    flexarray_append(back, libxl__sprintf(&gc, "%02x:%02x:%02x:%02x:%02x:%02x",
-                                                 net2->front_mac[0], 
net2->front_mac[1],
-                                                 net2->front_mac[2], 
net2->front_mac[3],
-                                                 net2->front_mac[4], 
net2->front_mac[5]));
-
-    flexarray_append(back, "max-bypasses");
-    flexarray_append(back, libxl__sprintf(&gc, "%d", net2->max_bypasses));
-    flexarray_append(back, "filter-mac");
-    flexarray_append(back, libxl__sprintf(&gc, "%d", !!(net2->filter_mac)));
-    flexarray_append(back, "handle");
-    flexarray_append(back, libxl__sprintf(&gc, "%d", net2->devid));
-    flexarray_append(back, "online");
-    flexarray_append(back, "1");
-    flexarray_append(back, "state");
-    flexarray_append(back, "1");
-
-    flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(&gc, "%d", net2->backend_domid));
-
-    flexarray_append(front, "local-trusted");
-    flexarray_append(front, libxl__sprintf(&gc, "%d", net2->trusted));
-    flexarray_append(front, "mac");
-    flexarray_append(front, libxl__sprintf(&gc, 
"%02x:%02x:%02x:%02x:%02x:%02x",
-                                                  net2->front_mac[0], 
net2->front_mac[1],
-                                                  net2->front_mac[2], 
net2->front_mac[3],
-                                                  net2->front_mac[4], 
net2->front_mac[5]));
-
-    flexarray_append(front, "remote-trusted");
-    flexarray_append(front, libxl__sprintf(&gc, "%d", net2->back_trusted));
-    flexarray_append(front, "remote-mac");
-    flexarray_append(front, libxl__sprintf(&gc, 
"%02x:%02x:%02x:%02x:%02x:%02x",
-                                                  net2->back_mac[0], 
net2->back_mac[1],
-                                                  net2->back_mac[2], 
net2->back_mac[3],
-                                                  net2->back_mac[4], 
net2->back_mac[5]));
-
-    flexarray_append(front, "filter-mac");
-    flexarray_append(front, libxl__sprintf(&gc, "%d", !!(net2->filter_mac)));
-    flexarray_append(front, "state");
-    flexarray_append(front, "1");
-
-    libxl__device_generic_add(&gc, &device,
-                             libxl__xs_kvs_of_flexarray(&gc, back, 
back->count),
-                             libxl__xs_kvs_of_flexarray(&gc, front, 
front->count));
-
-    /* FIXME: wait for plug */
-    rc = 0;
-err_free:
-    flexarray_free(back);
-    flexarray_free(front);
-err:
-    libxl__free_all(&gc);
-    return rc;
-}
-
-libxl_net2info *libxl_device_net2_list(libxl_ctx *ctx, uint32_t domid, 
unsigned int *nb)
-{
-    libxl__gc gc = LIBXL_INIT_GC(ctx);
-    char *dompath, *net2_path_fe;
-    char **l;
-    char *val, *tok;
-    unsigned int nb_net2s, i;
-    libxl_net2info *res, *net2s;
-
-    dompath = libxl__xs_get_dompath(&gc, domid);
-    if (!dompath)
-        goto err;
-    l = libxl__xs_directory(&gc, XBT_NULL,
-                           libxl__sprintf(&gc, "%s/device/vif2", dompath), 
&nb_net2s);
-    if (!l)
-        goto err;
-    res = calloc(nb_net2s, sizeof (libxl_net2info));
-    if (!res)
-        goto err;
-    net2s = res;
-    for (*nb = nb_net2s; nb_net2s > 0; --nb_net2s, ++l, ++net2s) {
-        net2_path_fe = libxl__sprintf(&gc, "%s/device/vif2/%s", dompath, *l);
-
-        net2s->backend = libxl__xs_read(&gc, XBT_NULL,
-                                       libxl__sprintf(&gc, "%s/backend", 
net2_path_fe));
-        val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, 
"%s/backend-id", net2_path_fe));
-        net2s->backend_id = val ? strtoul(val, NULL, 10) : -1;
-
-        net2s->devid = strtoul(*l, NULL, 10);
-        val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, "%s/state", 
net2_path_fe));
-        net2s->state = val ? strtoul(val, NULL, 10) : -1;
-
-        val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, "%s/mac", 
net2_path_fe));
-        for (i = 0, tok = strtok(val, ":"); tok && (i < 6);
-             ++i, tok = strtok(NULL, ":")) {
-            net2s->mac[i] = strtoul(tok, NULL, 16);
-        }
-        val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, 
"%s/remote-trusted", net2_path_fe));
-        net2s->trusted = val ? strtoul(val, NULL, 10) : -1;
-
-        val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, 
"%s/remote-mac", net2_path_fe));
-        for (i = 0, tok = strtok(val, ":"); tok && (i < 6);
-             ++i, tok = strtok(NULL, ":")) {
-            net2s->back_mac[i] = strtoul(tok, NULL, 16);
-        }
-        val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, 
"%s/filter-mac", net2_path_fe));
-        net2s->filter_mac = val ? strtoul(val, NULL, 10) : -1;
-
-        net2s->frontend = libxl__xs_read(&gc, XBT_NULL,
-                                        libxl__sprintf(&gc, "%s/frontend", 
net2s->backend));
-        val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, 
"%s/frontend-id", net2s->backend));
-        net2s->frontend_id = val ? strtoul(val, NULL, 10) : -1;
-    }
-
-    libxl__free_all(&gc);
-    return res;
-err:
-    libxl__free_all(&gc);
-    return NULL;
-}
-
-int libxl_device_net2_del(libxl_ctx *ctx, libxl_device_net2 *net2, int wait)
-{
-    libxl__gc gc = LIBXL_INIT_GC(ctx);
-    libxl__device device;
-    int rc;
-
-    device.backend_devid    = net2->devid;
-    device.backend_domid    = net2->backend_domid;
-    device.backend_kind     = DEVICE_VIF2;
-    device.devid            = net2->devid;
-    device.domid            = net2->domid;
-    device.kind             = DEVICE_VIF2;
-
-    rc = libxl__device_del(&gc, &device, wait);
-    libxl__free_all(&gc);
-    return rc;
-}
-
-
-/******************************************************************************/
 int libxl_device_console_add(libxl_ctx *ctx, uint32_t domid, 
libxl_device_console *console)
 {
     libxl__gc gc = LIBXL_INIT_GC(ctx);
diff -r 3ca61c5a8854 -r 8e9f52ea8866 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h       Fri Apr 08 16:17:18 2011 +0100
+++ b/tools/libxl/libxl.h       Fri Apr 08 16:21:12 2011 +0100
@@ -262,11 +262,10 @@
     libxl_domain_build_info b_info;
     libxl_device_model_info dm_info;
 
-    int num_disks, num_vifs, num_vif2s, num_pcidevs, num_vfbs, num_vkbs;
+    int num_disks, num_vifs, num_pcidevs, num_vfbs, num_vkbs;
 
     libxl_device_disk *disks;
     libxl_device_nic *vifs;
-    libxl_device_net2 *vif2s;
     libxl_device_pci *pcidevs;
     libxl_device_vfb *vfbs;
     libxl_device_vkb *vkbs;
@@ -535,14 +534,6 @@
                            int auth);
 int libxl_tmem_freeable(libxl_ctx *ctx);
 
-void libxl_device_net2_init(libxl_device_net2 *net2, int dev_num);
-int libxl_device_net2_add(libxl_ctx *ctx, uint32_t domid,
-                          libxl_device_net2 *net2);
-libxl_net2info *libxl_device_net2_list(libxl_ctx *ctx, uint32_t domid,
-                                       unsigned int *nb);
-int libxl_device_net2_del(libxl_ctx *ctx, libxl_device_net2 *net2,
-                          int wait);
-
 int libxl_get_freecpus(libxl_ctx *ctx, libxl_cpumap *cpumap);
 int libxl_create_cpupool(libxl_ctx *ctx, const char *name, int schedid,
                          libxl_cpumap cpumap, libxl_uuid *uuid,
diff -r 3ca61c5a8854 -r 8e9f52ea8866 tools/libxl/libxl.idl
--- a/tools/libxl/libxl.idl     Fri Apr 08 16:17:18 2011 +0100
+++ b/tools/libxl/libxl.idl     Fri Apr 08 16:21:12 2011 +0100
@@ -228,21 +228,6 @@
     ("nictype", libxl_nic_type),
     ])
 
-libxl_device_net2 = Struct("device_net2", [
-    ("devid", integer),
-    ("front_mac", libxl_mac),
-    ("back_mac", libxl_mac),
-    ("backend_domid", uint32),
-    ("domid", domid),
-    ("trusted", BitField(uint32, 1)),
-    ("back_trusted", BitField(uint32, 1)),
-    ("filter_mac", BitField(uint32, 1)),
-    ("front_filter_mac", BitField(uint32, 1)),
-    ("pdev", uint32),
-    ("max_bypasses", uint32),
-    ("bridge", string),
-    ])
-
 libxl_device_pci = Struct("device_pci", [
     ("func",      uint8),
     ("dev",       uint8),
@@ -316,16 +301,3 @@
     ("weight", integer),
     ("cap", integer),
     ], destructor_fn=None)
-
-libxl_net2info = Struct("net2info", [
-    ("backend", string),
-    ("backend_id", uint32),
-    ("frontend", string),
-    ("frontend_id", uint32),
-    ("devid", integer),
-    ("state", integer),
-    ("mac", libxl_mac),
-    ("trusted", integer),
-    ("back_mac", libxl_mac),
-    ("filter_mac", integer),
-    ])
diff -r 3ca61c5a8854 -r 8e9f52ea8866 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c        Fri Apr 08 16:17:18 2011 +0100
+++ b/tools/libxl/libxl_create.c        Fri Apr 08 16:21:12 2011 +0100
@@ -43,10 +43,6 @@
         libxl_device_nic_destroy(&d_config->vifs[i]);
     free(d_config->vifs);
 
-    for (i=0; i<d_config->num_vif2s; i++)
-        libxl_device_net2_destroy(&d_config->vif2s[i]);
-    free(d_config->vif2s);
-
     for (i=0; i<d_config->num_pcidevs; i++)
         libxl_device_pci_destroy(&d_config->pcidevs[i]);
     free(d_config->pcidevs);
@@ -464,17 +460,6 @@
             goto error_out;
         }
     }
-    if (!d_config->c_info.hvm) {
-        for (i = 0; i < d_config->num_vif2s; i++) {
-            d_config->vif2s[i].domid = domid;
-            ret = libxl_device_net2_add(ctx, domid, &d_config->vif2s[i]);
-            if (ret) {
-                fprintf(stderr, "cannot add net2 %d to domain: %d\n", i, ret);
-                ret = ERROR_FAIL;
-                goto error_out;
-            }
-        }
-    }
     if (d_config->c_info.hvm) {
         libxl_device_console console;
 
diff -r 3ca61c5a8854 -r 8e9f52ea8866 tools/libxl/libxl_device.c
--- a/tools/libxl/libxl_device.c        Fri Apr 08 16:17:18 2011 +0100
+++ b/tools/libxl/libxl_device.c        Fri Apr 08 16:21:12 2011 +0100
@@ -30,7 +30,6 @@
 
 static const char *string_of_kinds[] = {
     [DEVICE_VIF] = "vif",
-    [DEVICE_VIF2] = "vif2",
     [DEVICE_VBD] = "vbd",
     [DEVICE_TAP] = "tap",
     [DEVICE_QDISK] = "qdisk",
diff -r 3ca61c5a8854 -r 8e9f52ea8866 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h      Fri Apr 08 16:17:18 2011 +0100
+++ b/tools/libxl/libxl_internal.h      Fri Apr 08 16:21:12 2011 +0100
@@ -96,7 +96,6 @@
 
 typedef enum {
     DEVICE_VIF = 1,
-    DEVICE_VIF2,
     DEVICE_VBD,
     DEVICE_TAP,
     DEVICE_QDISK,
diff -r 3ca61c5a8854 -r 8e9f52ea8866 tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c Fri Apr 08 16:17:18 2011 +0100
+++ b/tools/libxl/libxl_utils.c Fri Apr 08 16:21:12 2011 +0100
@@ -570,75 +570,6 @@
     return rc;
 }
 
-int libxl_devid_to_device_net2(libxl_ctx *ctx, uint32_t domid,
-                               const char *devid, libxl_device_net2 *net2)
-{
-    libxl__gc gc = LIBXL_INIT_GC(ctx);
-    char *tok, *endptr, *val;
-    char *dompath, *net2path, *be_path;
-    unsigned int devid_n, i;
-    int rc = ERROR_INVAL;
-
-    devid_n = strtoul(devid, &endptr, 10);
-    if (devid == endptr) {
-        goto out;
-    }
-    rc = ERROR_FAIL;
-    dompath = libxl__xs_get_dompath(&gc, domid);
-    net2path = libxl__sprintf(&gc, "%s/device/vif2/%s", dompath, devid);
-    if (!net2path) {
-        goto out;
-    }
-    memset(net2, 0, sizeof (libxl_device_net2));
-    be_path = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, "%s/backend", 
net2path));
-
-    net2->devid = devid_n;
-    val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, "%s/mac", 
net2path));
-    for (i = 0, tok = strtok(val, ":"); tok && (i < 6);
-         ++i, tok = strtok(NULL, ":")) {
-        net2->front_mac[i] = strtoul(tok, NULL, 16);
-    }
-    val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, "%s/remote-mac", 
net2path));
-    for (i = 0, tok = strtok(val, ":"); tok && (i < 6);
-         ++i, tok = strtok(NULL, ":")) {
-        net2->back_mac[i] = strtoul(tok, NULL, 16);
-    }
-    val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, "%s/backend-id", 
net2path));
-    net2->backend_domid = strtoul(val, NULL, 10);
-
-    net2->domid = domid;
-    val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, 
"%s/remote-trusted", be_path));
-    net2->trusted = strtoul(val, NULL, 10);
-    val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, 
"%s/local-trusted", be_path));
-    net2->back_trusted = strtoul(val, NULL, 10);
-    val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, "%s/filter-mac", 
be_path));
-    net2->filter_mac = strtoul(val, NULL, 10);
-    val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, "%s/filter-mac", 
net2path));
-    net2->front_filter_mac = strtoul(val, NULL, 10);
-    val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, "%s/max-bypasses", 
be_path));
-    net2->max_bypasses = strtoul(val, NULL, 10);
-    rc = 0;
-
-out:
-    libxl__free_all(&gc);
-    return rc;
-}
-
-int libxl_strtomac(const char *mac_s, uint8_t *mac)
-{
-    const char *end = mac_s + 17;
-    char val, *endptr;
-
-    for (; mac_s < end; mac_s += 3, ++mac) {
-        val = strtoul(mac_s, &endptr, 16);
-        if (endptr != (mac_s + 2)) {
-            return ERROR_INVAL;
-        }
-        *mac = val;
-    }
-    return 0;
-}
-
 #define QEMU_VERSION_STR  "QEMU emulator version "
 
 
diff -r 3ca61c5a8854 -r 8e9f52ea8866 tools/libxl/libxl_utils.h
--- a/tools/libxl/libxl_utils.h Fri Apr 08 16:17:18 2011 +0100
+++ b/tools/libxl/libxl_utils.h Fri Apr 08 16:21:12 2011 +0100
@@ -66,11 +66,6 @@
 int libxl_devid_to_device_disk(libxl_ctx *ctx, uint32_t domid,
                                const char *devid, libxl_device_disk *disk);
 
-int libxl_strtomac(const char *mac_s, uint8_t *mac);
-
-int libxl_devid_to_device_net2(libxl_ctx *ctx, uint32_t domid,
-                               const char *devid, libxl_device_net2 *net2);
-
 /* check the version of qemu
  * return 1 if is the new one
  * return 0 if is the old one
diff -r 3ca61c5a8854 -r 8e9f52ea8866 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Fri Apr 08 16:17:18 2011 +0100
+++ b/tools/libxl/xl_cmdimpl.c  Fri Apr 08 16:21:12 2011 +0100
@@ -620,7 +620,7 @@
     const char *buf;
     long l;
     XLU_Config *config;
-    XLU_ConfigList *vbds, *nics, *pcis, *cvfbs, *net2s, *cpuids;
+    XLU_ConfigList *vbds, *nics, *pcis, *cvfbs, *cpuids;
     int pci_power_mgmt = 0;
     int pci_msitranslate = 1;
     int e;
@@ -895,53 +895,8 @@
         }
     }
 
-    if (!xlu_cfg_get_list(config, "vif2", &net2s, 0, 0)) {
-        d_config->num_vif2s = 0;
-        d_config->vif2s = NULL;
-        while ((buf = xlu_cfg_get_listitem(net2s, d_config->num_vif2s))) {
-            libxl_device_net2 *net2;
-            char *buf2 = strdup(buf);
-            char *p;
-
-            d_config->vif2s = realloc(d_config->vif2s, sizeof 
(libxl_device_net2) * (d_config->num_vif2s + 1));
-            net2 = d_config->vif2s + d_config->num_vif2s;
-
-            libxl_device_net2_init(net2, d_config->num_vif2s);
-
-            for (p = strtok(buf2, ","); p; p = strtok(NULL, ",")) {
-                char* val;
-                while (isblank(*p))
-                    p++;
-                val = strchr(p, '=');
-                if (val == NULL)
-                    continue;
-                *val++ = 0;
-                if (!strcmp("front_mac", p)) {
-                    libxl_strtomac(val, net2->front_mac);
-                } else if (!strcmp("back_mac", p)) {
-                    libxl_strtomac(val, net2->back_mac);
-                } else if (!strcmp("backend", p)) {
-                    domain_qualifier_to_domid(val, &net2->backend_domid, 0);
-                } else if (!strcmp("trusted", p)) {
-                    net2->trusted = (*val == '1');
-                } else if (!strcmp("back_trusted", p)) {
-                    net2->back_trusted = (*val == '1');
-                } else if (!strcmp("bridge", p)) {
-                    free(net2->bridge);
-                    net2->bridge = strdup(val);
-                } else if (!strcmp("filter_mac", p)) {
-                    net2->filter_mac = (*val == '1');
-                } else if (!strcmp("front_filter_mac", p)) {
-                    net2->front_filter_mac = (*val == '1');
-                } else if (!strcmp("pdev", p)) {
-                    net2->pdev = strtoul(val, NULL, 10);
-                } else if (!strcmp("max_bypasses", p)) {
-                    net2->max_bypasses = strtoul(val, NULL, 10);
-                }
-            }
-            free(buf2);
-            d_config->num_vif2s++;
-        }
+    if (!xlu_cfg_get_list(config, "vif2", NULL, 0, 0)) {
+        fprintf(stderr, "WARNING: vif2: netchannel2 is deprecated and not 
supported by xl\n");
     }
 
     if (!xlu_cfg_get_list (config, "vfb", &cvfbs, 0, 0)) {
@@ -4569,183 +4524,6 @@
     return 0;
 }
 
-int main_network2attach(int argc, char **argv)
-{
-    int opt;
-    const char *tok;
-    char *endptr;
-    const char *back_dom = NULL;
-    uint32_t domid, back_domid;
-    unsigned int val, i;
-    libxl_device_net2 net2;
-
-    while ((opt = getopt(argc, argv, "h")) != -1) {
-        switch (opt) {
-        case 'h':
-            help("network2-attach");
-            return 0;
-        default:
-            fprintf(stderr, "option `%c' not supported.\n", optopt);
-            break;
-        }
-    }
-    if ((argc-optind < 1) || (argc-optind > 10)) {
-        help("network2-attach");
-        return 0;
-    }
-
-    if (domain_qualifier_to_domid(argv[optind], &domid, 0) < 0) {
-        fprintf(stderr, "%s is an invalid domain identifier\n", argv[optind]);
-        return 1;
-    }
-    libxl_device_net2_init(&net2, -1);
-    for (argv += optind+1, argc -= optind+1; argc > 0; --argc, ++argv) {
-        if (!strncmp("front_mac=", *argv, 10)) {
-            tok = strtok((*argv) + 10, ":");
-            for (i = 0; tok && i < 6; tok = strtok(NULL, ":"), ++i) {
-                val = strtoul(tok, &endptr, 16);
-                if ((tok == endptr) || (val > 255)) {
-                    fprintf(stderr, "Invalid parameter `front_mac'.\n");
-                    return 1;
-                }
-                net2.front_mac[i] = val;
-            }
-        } else if (!strncmp("back_mac=", *argv, 9)) {
-            tok = strtok((*argv) + 10, ":");
-            for (i = 0; tok && i < 6; tok = strtok(NULL, ":"), ++i) {
-                val = strtoul(tok, &endptr, 16);
-                if ((tok == endptr) || (val > 255)) {
-                    fprintf(stderr, "Invalid parameter back_mac=%s.\n", *argv 
+ 9);
-                    return 1;
-                }
-                net2.back_mac[i] = val;
-            }
-        } else if (!strncmp("backend=", *argv, 8)) {
-            back_dom = *argv;
-        } else if (!strncmp("trusted=", *argv, 8)) {
-            net2.trusted = (*((*argv) + 8) == '1');
-        } else if (!strncmp("back_trusted=", *argv, 13)) {
-            net2.back_trusted = (*((*argv) + 13) == '1');
-        } else if (!strncmp("bridge=", *argv, 7)) {
-            net2.bridge = *argv + 13;
-        } else if (!strncmp("filter_mac=", *argv, 11)) {
-            net2.filter_mac = (*((*argv) + 11) == '1');
-        } else if (!strncmp("front_filter_mac=", *argv, 17)) {
-            net2.front_filter_mac = (*((*argv) + 17) == '1');
-        } else if (!strncmp("pdev=", *argv, 5)) {
-            val = strtoul(*argv + 5, &endptr, 10);
-            if (endptr == (*argv + 5)) {
-                fprintf(stderr, "Invalid parameter pdev=%s.\n", *argv + 5);
-                return 1;
-            }
-            net2.pdev = val;
-        } else if (!strncmp("max_bypasses=", *argv, 13)) {
-            val = strtoul(*argv + 13, &endptr, 10);
-            if (endptr == (*argv + 13)) {
-                fprintf(stderr, "Invalid parameter max_bypasses=%s.\n", *argv 
+ 13);
-                return 1;
-            }
-            net2.max_bypasses = val;
-        } else {
-            fprintf(stderr, "unrecognized argument `%s'\n", *argv);
-            return 1;
-        }
-    }
-
-    if (back_dom) {
-        if (domain_qualifier_to_domid(back_dom, &back_domid, 0) < 0) {
-            fprintf(stderr, "%s is an invalid domain identifier\n", back_dom);
-            return 1;
-        }
-    }
-    net2.domid = domid;
-    net2.backend_domid = back_domid;
-    if (libxl_device_net2_add(ctx, domid, &net2)) {
-        fprintf(stderr, "libxl_device_net2_add failed.\n");
-    }
-    return 0;
-}
-
-int main_network2list(int argc, char **argv)
-{
-    int opt;
-    unsigned int nb;
-    libxl_net2info *net2s;
-
-    while ((opt = getopt(argc, argv, "h")) != -1) {
-        switch (opt) {
-        case 'h':
-            help("network2-list");
-            return 0;
-        default:
-            fprintf(stderr, "option `%c' not supported.\n", optopt);
-            break;
-        }
-    }
-    if (argc - optind < 1) {
-        help("network2-list");
-        return 0;
-    }
-
-    printf("%-3s %-2s %-5s %-17s %-17s %-7s %-6s %-30s\n",
-           "Idx", "BE", "state", "Mac Addr.", "Remote Mac Addr.",
-           "trusted", "filter", "backend");
-    for (argv += optind, argc -=optind; argc > 0; --argc, ++argv) {
-        if (domain_qualifier_to_domid(*argv, &domid, 0) < 0) {
-            fprintf(stderr, "%s is an invalid domain identifier\n", *argv);
-            continue;
-        }
-        if ((net2s = libxl_device_net2_list(ctx, domid, &nb))) {
-            for (; nb > 0; --nb, ++net2s) {
-                printf("%3d %2d %5d ", net2s->devid, net2s->backend_id, 
net2s->state);
-                printf("%02x:%02x:%02x:%02x:%02x:%02x ",
-                       net2s->mac[0], net2s->mac[1], net2s->mac[2],
-                       net2s->mac[3], net2s->mac[4], net2s->mac[5]);
-                printf("%02x:%02x:%02x:%02x:%02x:%02x ",
-                       net2s->back_mac[0], net2s->back_mac[1], 
net2s->back_mac[2],
-                       net2s->back_mac[3], net2s->back_mac[4], 
net2s->back_mac[5]);
-                printf("%-7d %-6d %-30s\n", net2s->trusted, net2s->filter_mac, 
net2s->backend);
-            }
-        }
-    }
-    return 0;
-}
-
-int main_network2detach(int argc, char **argv)
-{
-    int opt;
-    libxl_device_net2 net2;
-
-    while ((opt = getopt(argc, argv, "h")) != -1) {
-        switch (opt) {
-        case 'h':
-            help("network2-detach");
-            return 0;
-        default:
-            fprintf(stderr, "option `%c' not supported.\n", optopt);
-            break;
-        }
-    }
-    if (argc-optind != 2) {
-        help("network2-detach");
-        return 0;
-    }
-
-    if (domain_qualifier_to_domid(argv[optind], &domid, 0) < 0) {
-        fprintf(stderr, "%s is an invalid domain identifier\n", argv[optind]);
-        return 1;
-    }
-    if (libxl_devid_to_device_net2(ctx, domid, argv[optind+1], &net2)) {
-        fprintf(stderr, "Error: Device %s not connected.\n", argv[optind+1]);
-        return 1;
-    }
-    if (libxl_device_net2_del(ctx, &net2, 1)) {
-        fprintf(stderr, "libxl_device_net2_del failed.\n");
-        return 1;
-    }
-    return 0;
-}
-
 static char *uptime_to_string(unsigned long time, int short_mode)
 {
     int sec, min, hour, day;
diff -r 3ca61c5a8854 -r 8e9f52ea8866 tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c Fri Apr 08 16:17:18 2011 +0100
+++ b/tools/libxl/xl_cmdtable.c Fri Apr 08 16:21:12 2011 +0100
@@ -320,24 +320,6 @@
       "Get information about how much freeable memory (MB) is in-use by tmem",
       "",
     },
-    { "network2-attach",
-      &main_network2attach,
-      "Create a new version 2 virtual network device",
-      "<Domain> [front_mac=<mac>] [back_mac=<mac>] [backend=<BackDomain>]"
-      " [trusted=<0|1>] [back_trusted=<0|1>] [bridge=<bridge>]"
-      " [filter_mac=<0|1>] [front_filter_mac=<0|1>] [pdev=<PDEV>]"
-      " [max_bypasses=n]",
-    },
-    { "network2-list",
-      &main_network2list,
-      "list version 2 virtual network interfaces for a domain",
-      "<Domain(s)>",
-    },
-    { "network2-detach",
-      &main_network2detach,
-      "destroy a domain's version 2 virtual network device",
-      "<Domain> <DevId>",
-    },
     { "cpupool-create",
       &main_cpupoolcreate,
       "Create a CPU pool based an ConfigFile",

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.