[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 05/13 V6] remus: introduce a function to check whether network buffering is enabled
From: Shriram Rajagopalan <rshriram@xxxxxxxxx> libxl__netbuffer_enabled() returns 1 when network buffering is compiled, or returns 0 when network buffering is not compiled. If network buffering is not compiled, and the user wants to use it, report a error and exit. Signed-off-by: Shriram Rajagopalan <rshriram@xxxxxxxxx> Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Reviewed-by: Wen Congyang <wency@xxxxxxxxxxxxxx> --- tools/libxl/Makefile | 7 +++++++ tools/libxl/libxl.c | 5 +++++ tools/libxl/libxl_internal.h | 2 ++ tools/libxl/libxl_netbuffer.c | 31 +++++++++++++++++++++++++++++++ tools/libxl/libxl_nonetbuffer.c | 31 +++++++++++++++++++++++++++++++ 5 files changed, 76 insertions(+) create mode 100644 tools/libxl/libxl_netbuffer.c create mode 100644 tools/libxl/libxl_nonetbuffer.c diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile index da27c84..84a467c 100644 --- a/tools/libxl/Makefile +++ b/tools/libxl/Makefile @@ -45,6 +45,13 @@ LIBXL_OBJS-y += libxl_blktap2.o else LIBXL_OBJS-y += libxl_noblktap2.o endif + +ifeq ($(CONFIG_REMUS_NETBUF),y) +LIBXL_OBJS-y += libxl_netbuffer.o +else +LIBXL_OBJS-y += libxl_nonetbuffer.o +endif + LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o libxl_x86.o LIBXL_OBJS-$(CONFIG_ARM) += libxl_nocpuid.o libxl_arm.o diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 25af816..026206a 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -746,6 +746,11 @@ int libxl_domain_remus_start(libxl_ctx *ctx, libxl_domain_remus_info *info, /* Setup network buffering */ if (info->netbuf) { + if (!libxl__netbuffer_enabled(gc)) { + LOG(ERROR, "Remus: No support for network buffering"); + goto out; + } + if (info->netbufscript) { remus_state->netbufscript = libxl__strdup(gc, info->netbufscript); diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h index 9970780..2f64382 100644 --- a/tools/libxl/libxl_internal.h +++ b/tools/libxl/libxl_internal.h @@ -2311,6 +2311,8 @@ typedef struct libxl__remus_state { libxl__ev_child child; } libxl__remus_state; +_hidden int libxl__netbuffer_enabled(libxl__gc *gc); + struct libxl__domain_suspend_state { /* set by caller of libxl__domain_suspend */ libxl__ao *ao; diff --git a/tools/libxl/libxl_netbuffer.c b/tools/libxl/libxl_netbuffer.c new file mode 100644 index 0000000..8e23d75 --- /dev/null +++ b/tools/libxl/libxl_netbuffer.c @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2013 + * Author Shriram Rajagopalan <rshriram@xxxxxxxxx> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; version 2.1 only. with the special + * exception on linking described in file LICENSE. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + */ + +#include "libxl_osdeps.h" /* must come before any other headers */ + +#include "libxl_internal.h" + +int libxl__netbuffer_enabled(libxl__gc *gc) +{ + return 1; +} + +/* + * Local variables: + * mode: C + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + */ diff --git a/tools/libxl/libxl_nonetbuffer.c b/tools/libxl/libxl_nonetbuffer.c new file mode 100644 index 0000000..6aa4bf1 --- /dev/null +++ b/tools/libxl/libxl_nonetbuffer.c @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2013 + * Author Shriram Rajagopalan <rshriram@xxxxxxxxx> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; version 2.1 only. with the special + * exception on linking described in file LICENSE. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + */ + +#include "libxl_osdeps.h" /* must come before any other headers */ + +#include "libxl_internal.h" + +int libxl__netbuffer_enabled(libxl__gc *gc) +{ + return 0; +} + +/* + * Local variables: + * mode: C + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + */ -- 1.8.4.2 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |