Hello community,
here is the log from the commit of package dynamips for openSUSE:Factory checked in at 2014-09-26 10:52:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dynamips (Old)
and /work/SRC/openSUSE:Factory/.dynamips.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dynamips"
Changes:
--------
--- /work/SRC/openSUSE:Factory/dynamips/dynamips.changes 2014-07-12 17:14:57.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.dynamips.new/dynamips.changes 2014-09-26 11:21:36.000000000 +0200
@@ -1,0 +2,13 @@
+Thu Sep 25 08:38:11 UTC 2014 - andrea@opensuse.org
+
+- new upstream version 0.2.14
+ * Add optional argument 'format' to hypervisor commands 'send_con_msg' and
+ 'send_aux_msg'. Report "X byte(s) written" on succeess.
+ * String formats:
+ - plain - plain string (default, old behavior)
+ - base64 - base64 encoded string
+ * Fix issue with 7200 IOS crashing after restart
+ * Fixed issue #49 - IOS crashes after router restart
+ * Fixed issue #50 - vm send_con_msg
+
+-------------------------------------------------------------------
Old:
----
dynamips-0.2.13.tar.gz
New:
----
dynamips-0.2.14.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dynamips.spec ++++++
--- /var/tmp/diff_new_pack.yz8KbB/_old 2014-09-26 11:21:37.000000000 +0200
+++ /var/tmp/diff_new_pack.yz8KbB/_new 2014-09-26 11:21:37.000000000 +0200
@@ -17,7 +17,7 @@
Name: dynamips
-Version: 0.2.13
+Version: 0.2.14
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: dos2unix
++++++ dynamips-0.2.13.tar.gz -> dynamips-0.2.14.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dynamips-0.2.13/CMakeLists.txt new/dynamips-0.2.14/CMakeLists.txt
--- old/dynamips-0.2.13/CMakeLists.txt 2014-07-10 17:49:35.000000000 +0200
+++ new/dynamips-0.2.14/CMakeLists.txt 2014-09-23 20:59:26.000000000 +0200
@@ -25,7 +25,7 @@
message ( STATUS "CMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}" )
project ( dynamips C )
-set ( DYNAMIPS_VERSION_TRAIN 0.2.13 )
+set ( DYNAMIPS_VERSION_TRAIN 0.2.14 )
set ( DYNAMIPS_VERSION_SUB )
include ( utils )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dynamips-0.2.13/ChangeLog new/dynamips-0.2.14/ChangeLog
--- old/dynamips-0.2.13/ChangeLog 2014-07-10 17:49:35.000000000 +0200
+++ new/dynamips-0.2.14/ChangeLog 2014-09-23 20:59:26.000000000 +0200
@@ -2924,3 +2924,23 @@
+--------------------.
| Release: v0.2.13 |
+--------------------'
+
+10-Jul-2014 to 01-Sep-2014
+--------------------------
+ - Add -DUSE_UNSTABLE when making an unstable build (MacOSX)
+ - Add optional argument 'format' to hypervisor commands
+ - 'send_con_msg' and 'send_aux_msg'.
+ - Report "X byte(s) written" on succeess.
+ - String formats:
+ * plain - plain string (default, old behavior)
+ * base64 - base64 encoded string
+ - Use an auxiliary variable to record configured ram size for npe-400
+
+Fixed issue #49 - IOS crashes after router restart
+Fixed issue #50 - vm send_con_msg
+Fixed issue #55 - 'unstable' installs 'stable' version on Mac OS X
+
++--------------------+
+| Release: v0.2.14 |
++--------------------+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dynamips-0.2.13/README.hypervisor new/dynamips-0.2.14/README.hypervisor
--- old/dynamips-0.2.13/README.hypervisor 2014-07-10 17:49:35.000000000 +0200
+++ new/dynamips-0.2.14/README.hypervisor 2014-09-23 20:59:26.000000000 +0200
@@ -224,11 +224,29 @@
The instance must exist, "cpu_id" is ignored.
(since version 0.2.8-RC5-community)
-* "vm send_con_msg <str>" :
- Send a message on the console. (since version 0.2.6-RC3)
+* "vm send_con_msg <str> [<format>]" :
+ (since version 0.2.6-RC3) Send a message on the console.
+ It only writes the bytes that fit in the console buffer.
-* "vm send_aux_msg <str>" :
- Send a message on the AUX port. (since version 0.2.6-RC3)
+ (since version 0.2.14)
+ The optional argument <format> indicates the string format.
+ On success it will report "X byte(s) written".
+
+ String formats:
+ * plain - plain string (default, old behavior)
+ * base64 - base64 encoded string
+
+* "vm send_aux_msg <str> [<format>]" :
+ (since version 0.2.6-RC3) Send a message on the AUX port.
+ It only writes the bytes that fit in the aux buffer.
+
+ (since version 0.2.14)
+ The optional argument <format> indicates the string format.
+ On success it will report "X byte(s) written".
+
+ String formats:
+ * plain - plain string (default, old behavior)
+ * base64 - base64 encoded string
* "vm slot_bindings " :
Show slot bindings. (since version 0.2.8-RC1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dynamips-0.2.13/RELEASE-NOTES new/dynamips-0.2.14/RELEASE-NOTES
--- old/dynamips-0.2.13/RELEASE-NOTES 2014-07-10 17:49:35.000000000 +0200
+++ new/dynamips-0.2.14/RELEASE-NOTES 2014-09-23 20:59:26.000000000 +0200
@@ -1,31 +1,29 @@
Release Notes for Cisco router simulator (Dynamips)
===================================================
-Version: v0.2.13
+Version: v0.2.14
-Release date: Thursday, July 10, 2014 (2014-07-10)
+Release date: Tuesday, September 23, 2014 (2014-09-23)
-Source code: https://github.com/GNS3/dynamips/tree/v0.2.13
+Source code: https://github.com/GNS3/dynamips/tree/v0.2.14
License: GNU GPLv2
-What's New since v0.2.12
+What's New since v0.2.13
========================
-Identify 10Mbps Ethernet chip in dev_am79c971 as Am79C970A. IOS said "AMD Unknown", now it's "AMD Presidio".
-Add CMake build system.
-Enable the Travis Continual Integration service.
-Fix Wireshark error "Frame too long" (thread safety issue could cause bad capture file data)
-Make a single FAT16 partition when pcmcia disks are first created.
-Improve packet transmission performance of i8254x (C7200-IO-2FE/E, C7200-I/O-GE+E, PA-2FE-TX, PA-GE) by sending up to 16 packets at a time.
- - Code by candlerb (merged)
-Cleanups.
-
-Final fix for issue #9 - Reproducable crash
-Fixed issue #38 - Unknown file system detected
-Fixed issue #41 - "Frame is Too Long" error in Wireshark
-Merge pull request #45 from candlerb/candlerb/txperformance
+Allow building unstable version on MacOSX
+Add optional argument 'format' to hypervisor commands 'send_con_msg' and
+'send_aux_msg'. Report "X byte(s) written" on succeess.
+ - String formats:
+ * plain - plain string (default, old behavior)
+ * base64 - base64 encoded string
+Fix issue with 7200 IOS crashing after restart
+
+Fixed issue #49 - IOS crashes after router restart
+Fixed issue #50 - vm send_con_msg
+Fixed issue #55 - 'unstable' installs 'stable' version on Mac OS X
Known Issues
@@ -40,8 +38,8 @@
Packet transmission rate is limited.
- https://github.com/GNS3/dynamips/issues/46
-IOS crashes after router restart
- - https://github.com/GNS3/dynamips/issues/49
+c1700 IOS Images start once and then fail to boot on second boot
+ - https://github.com/GNS3/dynamips/issues/54
There is lots of missing hardware functionality.
There are memory leaks.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dynamips-0.2.13/common/dev_c7200.c new/dynamips-0.2.14/common/dev_c7200.c
--- old/dynamips-0.2.13/common/dev_c7200.c 2014-07-10 17:49:35.000000000 +0200
+++ new/dynamips-0.2.14/common/dev_c7200.c 2014-09-23 20:59:26.000000000 +0200
@@ -329,6 +329,7 @@
memset(router,0,sizeof(*router));
router->vm = vm;
+ router->npe400_ram_size = C7200_DEFAULT_RAM_SIZE;
vm->hw_data = router;
vm->elf_machine_id = C7200_ELF_MACHINE_ID;
@@ -1195,12 +1196,15 @@
/*
* Add supplemental memory (as "iomem") if we have more than 256 Mb.
*/
- if (vm->ram_size > C7200_BASE_RAM_LIMIT) {
- vm->iomem_size = vm->ram_size - C7200_BASE_RAM_LIMIT;
+ if (VM_C7200(vm)->npe400_ram_size > C7200_BASE_RAM_LIMIT) {
+ vm->iomem_size = VM_C7200(vm)->npe400_ram_size - C7200_BASE_RAM_LIMIT;
vm->ram_size = C7200_BASE_RAM_LIMIT;
- dev_ram_init(vm,"ram1",vm->ram_mmap,TRUE,NULL,vm->sparse_mem,
+ dev_ram_init(vm,"iomem",vm->ram_mmap,TRUE,NULL,vm->sparse_mem,
C7200_IOMEM_ADDR,vm->iomem_size*1048576);
}
+ else {
+ vm->iomem_size = 0;
+ }
/* Initialize the Galileo GT-64120 system controller */
if (c7200_init_gt64120(router) == -1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dynamips-0.2.13/common/dev_c7200.h new/dynamips-0.2.14/common/dev_c7200.h
--- old/dynamips-0.2.13/common/dev_c7200.h 2014-07-10 17:49:35.000000000 +0200
+++ new/dynamips-0.2.14/common/dev_c7200.h 2014-09-23 20:59:26.000000000 +0200
@@ -164,6 +164,9 @@
/* Associated VM instance */
vm_instance_t *vm;
+ /* RAM size for npe-400 */
+ m_uint32_t npe400_ram_size;
+
/* MV64460 device for NPE-G2 */
struct mv64460_data *mv64460_sysctr;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dynamips-0.2.13/common/dev_vtty.c new/dynamips-0.2.14/common/dev_vtty.c
--- old/dynamips-0.2.13/common/dev_vtty.c 2014-07-10 17:49:35.000000000 +0200
+++ new/dynamips-0.2.14/common/dev_vtty.c 2014-09-23 20:59:26.000000000 +0200
@@ -618,21 +618,21 @@
return(0);
}
-/* Store a string in the FIFO buffer */
-int vtty_store_str(vtty_t *vtty,char *str)
+/* Store arbritary data in the FIFO buffer */
+int vtty_store_data(vtty_t *vtty,char *data, int len)
{
- if (!vtty)
- return(0);
+ int bytes;
- while(*str != 0) {
- if (vtty_store(vtty,*str) == -1)
- return(-1);
-
- str++;
+ if (!vtty || !data || len < 0)
+ return(-1); // invalid argument
+
+ for (bytes = 0; bytes < len; bytes++) {
+ if (vtty_store(vtty,data[bytes]) == -1)
+ break;
}
vtty->input_pending = TRUE;
- return(0);
+ return(bytes);
}
/* Store CTRL+C in buffer */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dynamips-0.2.13/common/dev_vtty.h new/dynamips-0.2.14/common/dev_vtty.h
--- old/dynamips-0.2.13/common/dev_vtty.h 2014-07-10 17:49:35.000000000 +0200
+++ new/dynamips-0.2.14/common/dev_vtty.h 2014-09-23 20:59:26.000000000 +0200
@@ -101,8 +101,8 @@
/* delete a virtual tty */
void vtty_delete(vtty_t *vtty);
-/* Store a string in the FIFO buffer */
-int vtty_store_str(vtty_t *vtty,char *str);
+/* Store arbritary data in the FIFO buffer */
+int vtty_store_data(vtty_t *vtty,char *data, int len);
/* read a character from the buffer (-1 if the buffer is empty) */
int vtty_get_char(vtty_t *vtty);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dynamips-0.2.13/common/dynamips.c new/dynamips-0.2.14/common/dynamips.c
--- old/dynamips-0.2.13/common/dynamips.c 2014-07-10 17:49:35.000000000 +0200
+++ new/dynamips-0.2.14/common/dynamips.c 2014-09-23 20:59:26.000000000 +0200
@@ -74,7 +74,7 @@
const char *sw_version = DYNAMIPS_VERSION"-"JIT_ARCH;
/* Software version tag */
-const char *sw_version_tag = "2014071016";
+const char *sw_version_tag = "2014092320";
/* Hypervisor */
int hypervisor_mode = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dynamips-0.2.13/man/hypervisor_mode.7 new/dynamips-0.2.14/man/hypervisor_mode.7
--- old/dynamips-0.2.13/man/hypervisor_mode.7 2014-07-10 17:49:35.000000000 +0200
+++ new/dynamips-0.2.14/man/hypervisor_mode.7 2014-09-23 20:59:26.000000000 +0200
@@ -274,11 +274,33 @@
The instance must exist, "cpu_id" is ignored.
(since version 0.2.8\-RC5\-community)
.TP
-.B vm send_con_msg <str>
-Send a message on the console. (since version 0.2.6\-RC3)
+.B vm send_con_msg <str> [<format>]
+(since version 0.2.6\-RC3) Send a message on the console.
+It only writes the bytes that fit in the console buffer.
+.RS
+.PP
+(since version 0.2.14)
+The optional argument <format> indicates the string format.
+On success it will report "X byte(s) written".
+.PP
+String formats:
+ * plain - plain string (default, old behavior)
+ * base64 - base64 encoded string
+.RE
.TP
-.B vm send_aux_msg <str>
-Send a message on the AUX port. (since version 0.2.6\-RC3)
+.B vm send_aux_msg <str> [<format>]
+(since version 0.2.6\-RC3) Send a message on the AUX port.
+It only writes the bytes that fit in the aux buffer.
+.RS
+.PP
+(since version 0.2.14)
+The optional argument <format> indicates the string format.
+On success it will report "X byte(s) written".
+.PP
+String formats:
+ * plain - plain string (default, old behavior)
+ * base64 - base64 encoded string
+.RE
.TP
.B vm slot_bindings
Show slot bindings. (since version 0.2.8\-RC1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dynamips-0.2.13/stable/hv_vm.c new/dynamips-0.2.14/stable/hv_vm.c
--- old/dynamips-0.2.13/stable/hv_vm.c 2014-07-10 17:49:35.000000000 +0200
+++ new/dynamips-0.2.14/stable/hv_vm.c 2014-09-23 20:59:26.000000000 +0200
@@ -301,6 +301,10 @@
vm->ram_size = atoi(argv[1]);
+ /* XXX npe-400 can split excess ram into iomem, adjusting ram_size */
+ if (vm->elf_machine_id == C7200_ELF_MACHINE_ID)
+ VM_C7200(vm)->npe400_ram_size = vm->ram_size;
+
vm_release(vm);
hypervisor_send_reply(conn,HSC_INFO_OK,1,"OK");
return(0);
@@ -856,31 +860,75 @@
/* Send a message on the console */
static int cmd_send_con_msg(hypervisor_conn_t *conn,int argc,char *argv[])
{
- vm_instance_t *vm;
+ vm_instance_t *vm = NULL;
+ const char *format = NULL;
+ char *data = NULL;
+ int len,written;
if (!(vm = hypervisor_find_object(conn,argv[0],OBJ_TYPE_VM)))
return(-1);
- vtty_store_str(vm->vtty_con,argv[1]);
+ format = (argc > 2)? argv[2]: "plain";
+ len = (int)strlen(argv[1]);
+ written = -1;
+
+ if (strcmp(format,"plain") == 0 && len >= 0) {
+ written = vtty_store_data(vm->vtty_con,argv[1],len);
+ }
+ else if (strcmp(format,"base64") == 0 && len >= 0) {
+ data = malloc(len+1);
+ len = base64_decode((unsigned char*)data,(const unsigned char *)argv[1],len);
+ written = vtty_store_data(vm->vtty_con,data,len);
+ free(data);
+ data = NULL;
+ }
vm_release(vm);
- hypervisor_send_reply(conn,HSC_INFO_OK,1,"OK");
- return(0);
+ if (written < 0) {
+ hypervisor_send_reply(conn,HSC_ERR_INV_PARAM,1,"Invalid parameter");
+ return(-1);
+ }
+ else {
+ hypervisor_send_reply(conn,HSC_INFO_OK,1,"%d byte(s) written",written);
+ return(0);
+ }
}
/* Send a message on the AUX port */
static int cmd_send_aux_msg(hypervisor_conn_t *conn,int argc,char *argv[])
{
- vm_instance_t *vm;
+ vm_instance_t *vm = NULL;
+ const char *format = NULL;
+ char *data = NULL;
+ int len,written;
if (!(vm = hypervisor_find_object(conn,argv[0],OBJ_TYPE_VM)))
return(-1);
- vtty_store_str(vm->vtty_aux,argv[1]);
+ format = (argc > 2)? argv[2]: "plain";
+ len = (int)strlen(argv[1]);
+ written = -1;
+
+ if (strcmp(format,"plain") == 0 && len >= 0) {
+ written = vtty_store_data(vm->vtty_aux,argv[1],len);
+ }
+ else if (strcmp(format,"base64") == 0 && len >= 0) {
+ data = malloc(len+1);
+ len = base64_decode((unsigned char*)data,(const unsigned char *)argv[1],len);
+ written = vtty_store_data(vm->vtty_aux,data,len);
+ free(data);
+ data = NULL;
+ }
vm_release(vm);
- hypervisor_send_reply(conn,HSC_INFO_OK,1,"OK");
- return(0);
+ if (written < 0) {
+ hypervisor_send_reply(conn,HSC_ERR_INV_PARAM,1,"Invalid parameter");
+ return(-1);
+ }
+ else {
+ hypervisor_send_reply(conn,HSC_INFO_OK,1,"%d byte(s) written",written);
+ return(0);
+ }
}
@@ -1237,8 +1285,8 @@
{ "cpu_usage", 2, 2, cmd_show_cpu_usage, NULL },
{ "suspend", 1, 1, cmd_suspend, NULL },
{ "resume", 1, 1, cmd_resume, NULL },
- { "send_con_msg", 2, 2, cmd_send_con_msg, NULL },
- { "send_aux_msg", 2, 2, cmd_send_aux_msg, NULL },
+ { "send_con_msg", 2, 3, cmd_send_con_msg, NULL },
+ { "send_aux_msg", 2, 3, cmd_send_aux_msg, NULL },
{ "slot_bindings", 1, 1, cmd_slot_bindings, NULL },
{ "slot_nio_bindings", 2, 2, cmd_slot_nio_bindings, NULL },
{ "slot_add_binding", 4, 4, cmd_slot_add_binding, NULL },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dynamips-0.2.13/unstable/CMakeLists.txt new/dynamips-0.2.14/unstable/CMakeLists.txt
--- old/dynamips-0.2.13/unstable/CMakeLists.txt 2014-07-10 17:49:35.000000000 +0200
+++ new/dynamips-0.2.14/unstable/CMakeLists.txt 2014-09-23 20:59:26.000000000 +0200
@@ -37,6 +37,8 @@
endif ( NOT BUILD_DYNAMIPS_UNSTABLE )
# dynamips_*_unstable
+add_definitions( "-DUSE_UNSTABLE" )
+
set ( _files
"${COMMON}/mempool.c"
"${COMMON}/registry.c"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dynamips-0.2.13/unstable/hv_vm.c new/dynamips-0.2.14/unstable/hv_vm.c
--- old/dynamips-0.2.13/unstable/hv_vm.c 2014-07-10 17:49:35.000000000 +0200
+++ new/dynamips-0.2.14/unstable/hv_vm.c 2014-09-23 20:59:26.000000000 +0200
@@ -322,6 +322,10 @@
vm->ram_size = atoi(argv[1]);
+ /* XXX npe-400 can split excess ram into iomem, adjusting ram_size */
+ if (vm->elf_machine_id == C7200_ELF_MACHINE_ID)
+ VM_C7200(vm)->npe400_ram_size = vm->ram_size;
+
vm_release(vm);
hypervisor_send_reply(conn,HSC_INFO_OK,1,"OK");
return(0);
@@ -877,31 +881,75 @@
/* Send a message on the console */
static int cmd_send_con_msg(hypervisor_conn_t *conn,int argc,char *argv[])
{
- vm_instance_t *vm;
+ vm_instance_t *vm = NULL;
+ const char *format = NULL;
+ char *data = NULL;
+ int len,written;
if (!(vm = hypervisor_find_object(conn,argv[0],OBJ_TYPE_VM)))
return(-1);
- vtty_store_str(vm->vtty_con,argv[1]);
+ format = (argc > 2)? argv[2]: "plain";
+ len = (int)strlen(argv[1]);
+ written = -1;
+
+ if (strcmp(format,"plain") == 0 && len >= 0) {
+ written = vtty_store_data(vm->vtty_con,argv[1],len);
+ }
+ else if (strcmp(format,"base64") == 0 && len >= 0) {
+ data = malloc(len+1);
+ len = base64_decode((unsigned char*)data,(const unsigned char *)argv[1],len);
+ written = vtty_store_data(vm->vtty_con,data,len);
+ free(data);
+ data = NULL;
+ }
vm_release(vm);
- hypervisor_send_reply(conn,HSC_INFO_OK,1,"OK");
- return(0);
+ if (written < 0) {
+ hypervisor_send_reply(conn,HSC_ERR_INV_PARAM,1,"Invalid parameter");
+ return(-1);
+ }
+ else {
+ hypervisor_send_reply(conn,HSC_INFO_OK,1,"%d byte(s) written",written);
+ return(0);
+ }
}
/* Send a message on the AUX port */
static int cmd_send_aux_msg(hypervisor_conn_t *conn,int argc,char *argv[])
{
- vm_instance_t *vm;
+ vm_instance_t *vm = NULL;
+ const char *format = NULL;
+ char *data = NULL;
+ int len,written;
if (!(vm = hypervisor_find_object(conn,argv[0],OBJ_TYPE_VM)))
return(-1);
- vtty_store_str(vm->vtty_aux,argv[1]);
+ format = (argc > 2)? argv[2]: "plain";
+ len = (int)strlen(argv[1]);
+ written = -1;
+
+ if (strcmp(format,"plain") == 0 && len >= 0) {
+ written = vtty_store_data(vm->vtty_aux,argv[1],len);
+ }
+ else if (strcmp(format,"base64") == 0 && len >= 0) {
+ data = malloc(len+1);
+ len = base64_decode((unsigned char*)data,(const unsigned char *)argv[1],len);
+ written = vtty_store_data(vm->vtty_aux,data,len);
+ free(data);
+ data = NULL;
+ }
vm_release(vm);
- hypervisor_send_reply(conn,HSC_INFO_OK,1,"OK");
- return(0);
+ if (written < 0) {
+ hypervisor_send_reply(conn,HSC_ERR_INV_PARAM,1,"Invalid parameter");
+ return(-1);
+ }
+ else {
+ hypervisor_send_reply(conn,HSC_INFO_OK,1,"%d byte(s) written",written);
+ return(0);
+ }
}
@@ -1259,8 +1307,8 @@
{ "cpu_usage", 2, 2, cmd_show_cpu_usage, NULL },
{ "suspend", 1, 1, cmd_suspend, NULL },
{ "resume", 1, 1, cmd_resume, NULL },
- { "send_con_msg", 2, 2, cmd_send_con_msg, NULL },
- { "send_aux_msg", 2, 2, cmd_send_aux_msg, NULL },
+ { "send_con_msg", 2, 3, cmd_send_con_msg, NULL },
+ { "send_aux_msg", 2, 3, cmd_send_aux_msg, NULL },
{ "slot_bindings", 1, 1, cmd_slot_bindings, NULL },
{ "slot_nio_bindings", 2, 2, cmd_slot_nio_bindings, NULL },
{ "slot_add_binding", 4, 4, cmd_slot_add_binding, NULL },
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org