aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxl/libxl.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/libxl/libxl.c')
-rw-r--r--tools/libxl/libxl.c221
1 files changed, 0 insertions, 221 deletions
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 7efd68cb6f..1c759c16f6 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1379,227 +1379,6 @@ err:
}
/******************************************************************************/
-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);