qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/5] slirp updates
@ 2016-03-28 23:28 Samuel Thibault
  2016-03-28 23:28 ` [Qemu-devel] [PULL 1/5] slirp: Fix memory leak on small incoming ipv4 packet Samuel Thibault
                   ` (5 more replies)
  0 siblings, 6 replies; 16+ messages in thread
From: Samuel Thibault @ 2016-03-28 23:28 UTC (permalink / raw)
  To: qemu-devel, peter.maydell; +Cc: Samuel Thibault, jan.kiszka

  Merge remote-tracking branch 'remotes/mdroth/tags/qga-pull-2016-03-21-tag' into staging (2016-03-22 17:39:48 +0000)

are available in the git repository at:

  http://people.debian.org/~sthibault/qemu.git tags/samuel-thibault

for you to fetch changes up to d8eb38649587c58d767c3bc6a1075bfeabda9e8a:

  Rework ipv6 options (2016-03-29 01:15:43 +0200)

----------------------------------------------------------------
slirp updates

----------------------------------------------------------------
Peter Maydell (1):
      Use C99 flexible array instead of 1-byte trailing array

Samuel Thibault (4):
      slirp: Fix memory leak on small incoming ipv4 packet
      slirp: send icmp6 errors when UDP send failed
      Avoid embedding struct mbuf in other structures
      Rework ipv6 options

 net/slirp.c      |  6 +++---
 qapi-schema.json | 25 ++++++++++++++++---------
 qemu-options.hx  | 18 ++++++++++--------
 slirp/if.c       | 27 ++++++++++++++-------------
 slirp/ip_input.c |  2 +-
 slirp/mbuf.c     | 19 ++++++++++---------
 slirp/mbuf.h     |  6 ++----
 slirp/misc.c     |  5 -----
 slirp/misc.h     |  5 +++++
 slirp/slirp.h    |  8 +++++---
 slirp/udp6.c     |  3 +--
 11 files changed, 67 insertions(+), 57 deletions(-)

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PULL 1/5] slirp: Fix memory leak on small incoming ipv4 packet
  2016-03-28 23:28 [Qemu-devel] [PULL 0/5] slirp updates Samuel Thibault
@ 2016-03-28 23:28 ` Samuel Thibault
  2016-03-28 23:28 ` [Qemu-devel] [PULL 2/5] slirp: send icmp6 errors when UDP send failed Samuel Thibault
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 16+ messages in thread
From: Samuel Thibault @ 2016-03-28 23:28 UTC (permalink / raw)
  To: qemu-devel, peter.maydell; +Cc: Samuel Thibault, jan.kiszka

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
 slirp/ip_input.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/slirp/ip_input.c b/slirp/ip_input.c
index 12f173d..b464f6b 100644
--- a/slirp/ip_input.c
+++ b/slirp/ip_input.c
@@ -85,7 +85,7 @@ ip_input(struct mbuf *m)
 	DEBUG_ARG("m_len = %d", m->m_len);
 
 	if (m->m_len < sizeof (struct ip)) {
-		return;
+		goto bad;
 	}
 
 	ip = mtod(m, struct ip *);
-- 
2.8.0.rc3

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PULL 2/5] slirp: send icmp6 errors when UDP send failed
  2016-03-28 23:28 [Qemu-devel] [PULL 0/5] slirp updates Samuel Thibault
  2016-03-28 23:28 ` [Qemu-devel] [PULL 1/5] slirp: Fix memory leak on small incoming ipv4 packet Samuel Thibault
@ 2016-03-28 23:28 ` Samuel Thibault
  2016-03-28 23:28 ` [Qemu-devel] [PULL 3/5] Avoid embedding struct mbuf in other structures Samuel Thibault
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 16+ messages in thread
From: Samuel Thibault @ 2016-03-28 23:28 UTC (permalink / raw)
  To: qemu-devel, peter.maydell; +Cc: Samuel Thibault, jan.kiszka

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
 slirp/udp6.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/slirp/udp6.c b/slirp/udp6.c
index 60a91c9..a23026f 100644
--- a/slirp/udp6.c
+++ b/slirp/udp6.c
@@ -113,8 +113,7 @@ void udp6_input(struct mbuf *m)
         m->m_data -= iphlen;
         *ip = save_ip;
         DEBUG_MISC((dfd, "udp tx errno = %d-%s\n", errno, strerror(errno)));
-        /* TODO: ICMPv6 error */
-        /*icmp_error(m, ICMP_UNREACH,ICMP_UNREACH_NET, 0,strerror(errno));*/
+        icmp6_send_error(m, ICMP6_UNREACH, ICMP6_UNREACH_NO_ROUTE);
         goto bad;
     }
 
-- 
2.8.0.rc3

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PULL 3/5] Avoid embedding struct mbuf in other structures
  2016-03-28 23:28 [Qemu-devel] [PULL 0/5] slirp updates Samuel Thibault
  2016-03-28 23:28 ` [Qemu-devel] [PULL 1/5] slirp: Fix memory leak on small incoming ipv4 packet Samuel Thibault
  2016-03-28 23:28 ` [Qemu-devel] [PULL 2/5] slirp: send icmp6 errors when UDP send failed Samuel Thibault
@ 2016-03-28 23:28 ` Samuel Thibault
  2016-03-28 23:28 ` [Qemu-devel] [PULL 4/5] Use C99 flexible array instead of 1-byte trailing array Samuel Thibault
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 16+ messages in thread
From: Samuel Thibault @ 2016-03-28 23:28 UTC (permalink / raw)
  To: qemu-devel, peter.maydell; +Cc: Samuel Thibault, jan.kiszka

struct mbuf uses a C99 open char array to allow inlining data. Inlining
this in another structure is however a GNU extension. The inlines used
so far in struct Slirp were actually only needed as head of struct
mbuf lists. This replaces these inline with mere struct quehead,
and use casts as appropriate.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
---
 slirp/if.c    | 27 ++++++++++++++-------------
 slirp/mbuf.c  | 19 ++++++++++---------
 slirp/misc.c  |  5 -----
 slirp/misc.h  |  5 +++++
 slirp/slirp.h |  8 +++++---
 5 files changed, 34 insertions(+), 30 deletions(-)

diff --git a/slirp/if.c b/slirp/if.c
index 2e21f43..9b02180 100644
--- a/slirp/if.c
+++ b/slirp/if.c
@@ -28,9 +28,9 @@ ifs_remque(struct mbuf *ifm)
 void
 if_init(Slirp *slirp)
 {
-    slirp->if_fastq.ifq_next = slirp->if_fastq.ifq_prev = &slirp->if_fastq;
-    slirp->if_batchq.ifq_next = slirp->if_batchq.ifq_prev = &slirp->if_batchq;
-    slirp->next_m = &slirp->if_batchq;
+    slirp->if_fastq.qh_link = slirp->if_fastq.qh_rlink = &slirp->if_fastq;
+    slirp->if_batchq.qh_link = slirp->if_batchq.qh_rlink = &slirp->if_batchq;
+    slirp->next_m = (struct mbuf *) &slirp->if_batchq;
 }
 
 /*
@@ -74,7 +74,8 @@ if_output(struct socket *so, struct mbuf *ifm)
 	 * We mustn't put this packet back on the fastq (or we'll send it out of order)
 	 * XXX add cache here?
 	 */
-	for (ifq = slirp->if_batchq.ifq_prev; ifq != &slirp->if_batchq;
+	for (ifq = (struct mbuf *) slirp->if_batchq.qh_rlink;
+	     (struct quehead *) ifq != &slirp->if_batchq;
 	     ifq = ifq->ifq_prev) {
 		if (so == ifq->ifq_so) {
 			/* A match! */
@@ -86,7 +87,7 @@ if_output(struct socket *so, struct mbuf *ifm)
 
 	/* No match, check which queue to put it on */
 	if (so && (so->so_iptos & IPTOS_LOWDELAY)) {
-		ifq = slirp->if_fastq.ifq_prev;
+		ifq = (struct mbuf *) slirp->if_fastq.qh_rlink;
 		on_fastq = 1;
 		/*
 		 * Check if this packet is a part of the last
@@ -98,9 +99,9 @@ if_output(struct socket *so, struct mbuf *ifm)
 			goto diddit;
 		}
         } else {
-		ifq = slirp->if_batchq.ifq_prev;
+		ifq = (struct mbuf *) slirp->if_batchq.qh_rlink;
                 /* Set next_m if the queue was empty so far */
-                if (slirp->next_m == &slirp->if_batchq) {
+                if ((struct quehead *) slirp->next_m == &slirp->if_batchq) {
                     slirp->next_m = ifm;
                 }
         }
@@ -166,10 +167,10 @@ void if_start(Slirp *slirp)
     }
     slirp->if_start_busy = true;
 
-    if (slirp->if_fastq.ifq_next != &slirp->if_fastq) {
-        ifm_next = slirp->if_fastq.ifq_next;
+    if (slirp->if_fastq.qh_link != &slirp->if_fastq) {
+        ifm_next = (struct mbuf *) slirp->if_fastq.qh_link;
         next_from_batchq = false;
-    } else if (slirp->next_m != &slirp->if_batchq) {
+    } else if ((struct quehead *) slirp->next_m != &slirp->if_batchq) {
         /* Nothing on fastq, pick up from batchq via next_m */
         ifm_next = slirp->next_m;
         next_from_batchq = true;
@@ -182,12 +183,12 @@ void if_start(Slirp *slirp)
         from_batchq = next_from_batchq;
 
         ifm_next = ifm->ifq_next;
-        if (ifm_next == &slirp->if_fastq) {
+        if ((struct quehead *) ifm_next == &slirp->if_fastq) {
             /* No more packets in fastq, switch to batchq */
             ifm_next = slirp->next_m;
             next_from_batchq = true;
         }
-        if (ifm_next == &slirp->if_batchq) {
+        if ((struct quehead *) ifm_next == &slirp->if_batchq) {
             /* end of batchq */
             ifm_next = NULL;
         }
@@ -218,7 +219,7 @@ void if_start(Slirp *slirp)
                 /* Next packet in fastq is from the same session */
                 ifm_next = next;
                 next_from_batchq = false;
-            } else if (slirp->next_m == &slirp->if_batchq) {
+            } else if ((struct quehead *) slirp->next_m == &slirp->if_batchq) {
                 /* Set next_m and ifm_next if the session packet is now the
                  * only one on batchq */
                 slirp->next_m = ifm_next = next;
diff --git a/slirp/mbuf.c b/slirp/mbuf.c
index d688dd4..d136988 100644
--- a/slirp/mbuf.c
+++ b/slirp/mbuf.c
@@ -29,16 +29,16 @@
 void
 m_init(Slirp *slirp)
 {
-    slirp->m_freelist.m_next = slirp->m_freelist.m_prev = &slirp->m_freelist;
-    slirp->m_usedlist.m_next = slirp->m_usedlist.m_prev = &slirp->m_usedlist;
+    slirp->m_freelist.qh_link = slirp->m_freelist.qh_rlink = &slirp->m_freelist;
+    slirp->m_usedlist.qh_link = slirp->m_usedlist.qh_rlink = &slirp->m_usedlist;
 }
 
 void m_cleanup(Slirp *slirp)
 {
     struct mbuf *m, *next;
 
-    m = slirp->m_usedlist.m_next;
-    while (m != &slirp->m_usedlist) {
+    m = (struct mbuf *) slirp->m_usedlist.qh_link;
+    while ((struct quehead *) m != &slirp->m_usedlist) {
         next = m->m_next;
         if (m->m_flags & M_EXT) {
             free(m->m_ext);
@@ -46,8 +46,8 @@ void m_cleanup(Slirp *slirp)
         free(m);
         m = next;
     }
-    m = slirp->m_freelist.m_next;
-    while (m != &slirp->m_freelist) {
+    m = (struct mbuf *) slirp->m_freelist.qh_link;
+    while ((struct quehead *) m != &slirp->m_freelist) {
         next = m->m_next;
         free(m);
         m = next;
@@ -70,7 +70,7 @@ m_get(Slirp *slirp)
 
 	DEBUG_CALL("m_get");
 
-	if (slirp->m_freelist.m_next == &slirp->m_freelist) {
+	if (slirp->m_freelist.qh_link == &slirp->m_freelist) {
 		m = (struct mbuf *)malloc(SLIRP_MSIZE);
 		if (m == NULL) goto end_error;
 		slirp->mbuf_alloced++;
@@ -78,7 +78,7 @@ m_get(Slirp *slirp)
 			flags = M_DOFREE;
 		m->slirp = slirp;
 	} else {
-		m = slirp->m_freelist.m_next;
+		m = (struct mbuf *) slirp->m_freelist.qh_link;
 		remque(m);
 	}
 
@@ -225,7 +225,8 @@ dtom(Slirp *slirp, void *dat)
 	DEBUG_ARG("dat = %p", dat);
 
 	/* bug corrected for M_EXT buffers */
-	for (m = slirp->m_usedlist.m_next; m != &slirp->m_usedlist;
+	for (m = (struct mbuf *) slirp->m_usedlist.qh_link;
+	     (struct quehead *) m != &slirp->m_usedlist;
 	     m = m->m_next) {
 	  if (m->m_flags & M_EXT) {
 	    if( (char *)dat>=m->m_ext && (char *)dat<(m->m_ext + m->m_size) )
diff --git a/slirp/misc.c b/slirp/misc.c
index e2eea2e..2fbd048 100644
--- a/slirp/misc.c
+++ b/slirp/misc.c
@@ -17,11 +17,6 @@
 int slirp_debug = DBG_CALL|DBG_MISC|DBG_ERROR;
 #endif
 
-struct quehead {
-	struct quehead *qh_link;
-	struct quehead *qh_rlink;
-};
-
 inline void
 insque(void *a, void *b)
 {
diff --git a/slirp/misc.h b/slirp/misc.h
index 41a3258..0d0c059 100644
--- a/slirp/misc.h
+++ b/slirp/misc.h
@@ -45,6 +45,11 @@ struct emu_t {
     struct emu_t *next;
 };
 
+struct slirp_quehead {
+    struct slirp_quehead *qh_link;
+    struct slirp_quehead *qh_rlink;
+};
+
 void slirp_insque(void *, void *);
 void slirp_remque(void *);
 int add_exec(struct ex_list **, int, char *, struct in_addr, int);
diff --git a/slirp/slirp.h b/slirp/slirp.h
index 9ad88e7..1abbcc6 100644
--- a/slirp/slirp.h
+++ b/slirp/slirp.h
@@ -82,6 +82,7 @@ void free(void *ptr);
    have different prototypes. */
 #define insque slirp_insque
 #define remque slirp_remque
+#define quehead slirp_quehead
 
 #ifdef HAVE_SYS_STROPTS_H
 #include <sys/stropts.h>
@@ -197,12 +198,13 @@ struct Slirp {
     struct ex_list *exec_list;
 
     /* mbuf states */
-    struct mbuf m_freelist, m_usedlist;
+    struct quehead m_freelist;
+    struct quehead m_usedlist;
     int mbuf_alloced;
 
     /* if states */
-    struct mbuf if_fastq;   /* fast queue (for interactive data) */
-    struct mbuf if_batchq;  /* queue for non-interactive data */
+    struct quehead if_fastq;   /* fast queue (for interactive data) */
+    struct quehead if_batchq;  /* queue for non-interactive data */
     struct mbuf *next_m;    /* pointer to next mbuf to output */
     bool if_start_busy;     /* avoid if_start recursion */
 
-- 
2.8.0.rc3

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PULL 4/5] Use C99 flexible array instead of 1-byte trailing array
  2016-03-28 23:28 [Qemu-devel] [PULL 0/5] slirp updates Samuel Thibault
                   ` (2 preceding siblings ...)
  2016-03-28 23:28 ` [Qemu-devel] [PULL 3/5] Avoid embedding struct mbuf in other structures Samuel Thibault
@ 2016-03-28 23:28 ` Samuel Thibault
  2016-03-28 23:28 ` [Qemu-devel] [PULL 5/5] Rework ipv6 options Samuel Thibault
  2016-03-29 18:54 ` [Qemu-devel] [PULL 0/5] slirp updates Peter Maydell
  5 siblings, 0 replies; 16+ messages in thread
From: Samuel Thibault @ 2016-03-28 23:28 UTC (permalink / raw)
  To: qemu-devel, peter.maydell; +Cc: jan.kiszka, Samuel Thibault

From: Peter Maydell <peter.maydell@linaro.org>

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 slirp/mbuf.h | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/slirp/mbuf.h b/slirp/mbuf.h
index 38fedf4..36fb814 100644
--- a/slirp/mbuf.h
+++ b/slirp/mbuf.h
@@ -81,11 +81,9 @@ struct mbuf {
 	Slirp *slirp;
 	bool	resolution_requested;
 	uint64_t expiration_date;
+	char   *m_ext;
 	/* start of dynamic buffer area, must be last element */
-	union {
-		char	m_dat[1]; /* ANSI don't like 0 sized arrays */
-		char	*m_ext;
-	};
+	char    m_dat[];
 };
 
 #define ifq_prev m_prev
-- 
2.8.0.rc3

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PULL 5/5] Rework ipv6 options
  2016-03-28 23:28 [Qemu-devel] [PULL 0/5] slirp updates Samuel Thibault
                   ` (3 preceding siblings ...)
  2016-03-28 23:28 ` [Qemu-devel] [PULL 4/5] Use C99 flexible array instead of 1-byte trailing array Samuel Thibault
@ 2016-03-28 23:28 ` Samuel Thibault
  2016-03-29 18:54 ` [Qemu-devel] [PULL 0/5] slirp updates Peter Maydell
  5 siblings, 0 replies; 16+ messages in thread
From: Samuel Thibault @ 2016-03-28 23:28 UTC (permalink / raw)
  To: qemu-devel, peter.maydell; +Cc: Samuel Thibault, jan.kiszka

Rename the recently-added ip6-foo options into ipv6-foo options, to make
them coherent with other ipv6 options.

Also rework the documentation.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Reviewed-by: Eric Blake <eblake@redhat.com>
---
 net/net.c        | 16 ++++++++--------
 net/slirp.c      |  6 +++---
 qapi-schema.json | 25 ++++++++++++++++---------
 qemu-options.hx  | 18 ++++++++++--------
 4 files changed, 37 insertions(+), 28 deletions(-)

diff --git a/net/net.c b/net/net.c
index 1a78edf..60ad9e6 100644
--- a/net/net.c
+++ b/net/net.c
@@ -1051,33 +1051,33 @@ int net_client_init(QemuOpts *opts, int is_netdev, Error **errp)
     Visitor *v = opts_get_visitor(ov);
 
     {
-        /* Parse convenience option format ip6-net=fec0::0[/64] */
-        const char *ip6_net = qemu_opt_get(opts, "ip6-net");
+        /* Parse convenience option format ipv6-net=fec0::0[/64] */
+        const char *ip6_net = qemu_opt_get(opts, "ipv6-net");
 
         if (ip6_net) {
             char buf[strlen(ip6_net) + 1];
 
             if (get_str_sep(buf, sizeof(buf), &ip6_net, '/') < 0) {
                 /* Default 64bit prefix length.  */
-                qemu_opt_set(opts, "ip6-prefix", ip6_net, &error_abort);
-                qemu_opt_set_number(opts, "ip6-prefixlen", 64, &error_abort);
+                qemu_opt_set(opts, "ipv6-prefix", ip6_net, &error_abort);
+                qemu_opt_set_number(opts, "ipv6-prefixlen", 64, &error_abort);
             } else {
                 /* User-specified prefix length.  */
                 unsigned long len;
                 int err;
 
-                qemu_opt_set(opts, "ip6-prefix", buf, &error_abort);
+                qemu_opt_set(opts, "ipv6-prefix", buf, &error_abort);
                 err = qemu_strtoul(ip6_net, NULL, 10, &len);
 
                 if (err) {
                     error_setg(errp, QERR_INVALID_PARAMETER_VALUE,
-                              "ip6-prefix", "a number");
+                              "ipv6-prefix", "a number");
                 } else {
-                    qemu_opt_set_number(opts, "ip6-prefixlen", len,
+                    qemu_opt_set_number(opts, "ipv6-prefixlen", len,
                                         &error_abort);
                 }
             }
-            qemu_opt_unset(opts, "ip6-net");
+            qemu_opt_unset(opts, "ipv6-net");
         }
     }
 
diff --git a/net/slirp.c b/net/slirp.c
index 95239bc..0013c27 100644
--- a/net/slirp.c
+++ b/net/slirp.c
@@ -828,10 +828,10 @@ int net_init_slirp(const NetClientOptions *opts, const char *name,
     net_init_slirp_configs(user->guestfwd, 0);
 
     ret = net_slirp_init(peer, "user", name, user->q_restrict, vnet,
-                         user->host, user->ip6_prefix, user->ip6_prefixlen,
-                         user->ip6_host, user->hostname, user->tftp,
+                         user->host, user->ipv6_prefix, user->ipv6_prefixlen,
+                         user->ipv6_host, user->hostname, user->tftp,
                          user->bootfile, user->dhcpstart,
-                         user->dns, user->ip6_dns, user->smb,
+                         user->dns, user->ipv6_dns, user->smb,
                          user->smbserver, dnssearch);
 
     while (slirp_configs) {
diff --git a/qapi-schema.json b/qapi-schema.json
index 7f8d799..8907790 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -2427,7 +2427,10 @@
 #
 # @ip: #optional legacy parameter, use net= instead
 #
-# @net: #optional IP address and optional netmask
+# @net: #optional IP network address that the guest will see, in the
+#       form addr[/netmask] The netmask is optional, and can be
+#       either in the form a.b.c.d or as a number of valid top-most
+#       bits. Default is 10.0.2.0/24.
 #
 # @host: #optional guest-visible address of the host
 #
@@ -2443,13 +2446,17 @@
 # @dnssearch: #optional list of DNS suffixes to search, passed as DHCP option
 #             to the guest
 #
-# @ip6-prefix: #optional IPv6 network prefix (default is fec0::) (since 2.6)
+# @ipv6-prefix: #optional IPv6 network prefix (default is fec0::) (since
+#               2.6). The network prefix is given in the usual
+#               hexadecimal IPv6 address notation.
 #
-# @ip6-prefixlen: #optional IPv6 network prefix length (default is 64) (since 2.6)
+# @ipv6-prefixlen: #optional IPv6 network prefix length (default is 64)
+#                  (since 2.6)
 #
-# @ip6-host: #optional guest-visible IPv6 address of the host (since 2.6)
+# @ipv6-host: #optional guest-visible IPv6 address of the host (since 2.6)
 #
-# @ip6-dns: #optional guest-visible IPv6 address of the virtual nameserver (since 2.6)
+# @ipv6-dns: #optional guest-visible IPv6 address of the virtual
+#            nameserver (since 2.6)
 #
 # @smb: #optional root directory of the built-in SMB server
 #
@@ -2474,10 +2481,10 @@
     '*dhcpstart': 'str',
     '*dns':       'str',
     '*dnssearch': ['String'],
-    '*ip6-prefix':      'str',
-    '*ip6-prefixlen':   'int',
-    '*ip6-host':        'str',
-    '*ip6-dns':         'str',
+    '*ipv6-prefix':      'str',
+    '*ipv6-prefixlen':   'int',
+    '*ipv6-host':        'str',
+    '*ipv6-dns':         'str',
     '*smb':       'str',
     '*smbserver': 'str',
     '*hostfwd':   ['String'],
diff --git a/qemu-options.hx b/qemu-options.hx
index b98fa3e..09162f5 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -1551,9 +1551,9 @@ DEF("smb", HAS_ARG, QEMU_OPTION_smb, "", QEMU_ARCH_ALL)
 
 DEF("netdev", HAS_ARG, QEMU_OPTION_netdev,
 #ifdef CONFIG_SLIRP
-    "-netdev user,id=str[,net=addr[/mask]][,host=addr][,ip6-net=addr[/int]]\n"
-    "         [,ip6-host=addr][,restrict=on|off][,hostname=host][,dhcpstart=addr]\n"
-    "         [,dns=addr][,ip6-dns=addr][,dnssearch=domain][,tftp=dir]\n"
+    "-netdev user,id=str[,net=addr[/mask]][,host=addr][,ipv6-net=addr[/int]]\n"
+    "         [,ipv6-host=addr][,restrict=on|off][,hostname=host][,dhcpstart=addr]\n"
+    "         [,dns=addr][,ipv6-dns=addr][,dnssearch=domain][,tftp=dir]\n"
     "         [,bootfile=f][,hostfwd=rule][,guestfwd=rule]"
 #ifndef _WIN32
                                              "[,smb=dir[,smbserver=addr]]\n"
@@ -1710,11 +1710,13 @@ either in the form a.b.c.d or as number of valid top-most bits. Default is
 Specify the guest-visible address of the host. Default is the 2nd IP in the
 guest network, i.e. x.x.x.2.
 
-@item ip6-net=@var{addr}[/@var{int}]
-Set IPv6 network address the guest will see. Optionally specify the prefix
-size, as number of valid top-most bits. Default is fec0::/64.
+@item ipv6-net=@var{addr}[/@var{int}]
+Set IPv6 network address the guest will see (default is fec0::/64). The
+network prefix is given in the usual hexadecimal IPv6 address
+notation. The prefix size is optional, and is given as the number of
+valid top-most bits (default is 64).
 
-@item ip6-host=@var{addr}
+@item ipv6-host=@var{addr}
 Specify the guest-visible IPv6 address of the host. Default is the 2nd IPv6 in
 the guest network, i.e. xxxx::2.
 
@@ -1735,7 +1737,7 @@ Specify the guest-visible address of the virtual nameserver. The address must
 be different from the host address. Default is the 3rd IP in the guest network,
 i.e. x.x.x.3.
 
-@item ip6-dns=@var{addr}
+@item ipv6-dns=@var{addr}
 Specify the guest-visible address of the IPv6 virtual nameserver. The address
 must be different from the host address. Default is the 3rd IP in the guest
 network, i.e. xxxx::3.
-- 
2.8.0.rc3

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [Qemu-devel] [PULL 0/5] slirp updates
  2016-03-28 23:28 [Qemu-devel] [PULL 0/5] slirp updates Samuel Thibault
                   ` (4 preceding siblings ...)
  2016-03-28 23:28 ` [Qemu-devel] [PULL 5/5] Rework ipv6 options Samuel Thibault
@ 2016-03-29 18:54 ` Peter Maydell
  5 siblings, 0 replies; 16+ messages in thread
From: Peter Maydell @ 2016-03-29 18:54 UTC (permalink / raw)
  To: Samuel Thibault; +Cc: J. Kiszka, QEMU Developers

On 29 March 2016 at 00:28, Samuel Thibault <samuel.thibault@ens-lyon.org> wrote:
>   Merge remote-tracking branch 'remotes/mdroth/tags/qga-pull-2016-03-21-tag' into staging (2016-03-22 17:39:48 +0000)
>
> are available in the git repository at:
>
>   http://people.debian.org/~sthibault/qemu.git tags/samuel-thibault
>
> for you to fetch changes up to d8eb38649587c58d767c3bc6a1075bfeabda9e8a:
>
>   Rework ipv6 options (2016-03-29 01:15:43 +0200)
>
> ----------------------------------------------------------------
> slirp updates

Applied, thanks. (This does indeed silence the clang sanitizer warnings
about the slirp code.)

-- PMM

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PULL 0/5] slirp updates
@ 2017-02-26 20:27 Samuel Thibault
  2017-02-26 20:37 ` no-reply
  2017-02-26 22:38 ` Peter Maydell
  0 siblings, 2 replies; 16+ messages in thread
From: Samuel Thibault @ 2017-02-26 20:27 UTC (permalink / raw)
  To: qemu-devel, peter.maydell; +Cc: Samuel Thibault, stefanha, jan.kiszka

The following changes since commit 685783c5b69c83c942d1fc21679311eeb8f79ab9:

  Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging (2017-02-26 16:38:40 +0000)

are available in the git repository at:

  http://people.debian.org/~sthibault/qemu.git tags/samuel-thibault

for you to fetch changes up to c363a5b7f9ca9e802665587900b7ea1aefcf26ea:

  slirp: VMStatify remaining except for loop (2017-02-26 21:16:38 +0100)

----------------------------------------------------------------
slirp updates

----------------------------------------------------------------
Dr. David Alan Gilbert (5):
      slirp: VMState conversion; tcpcb
      slirp: VMStatify sbuf
      slirp: Common lhost/fhost union
      slirp: VMStatify socket level
      slirp: VMStatify remaining except for loop

 slirp/sbuf.h    |   4 +-
 slirp/slirp.c   | 449 ++++++++++++++++++++++++++++----------------------------
 slirp/socket.h  |  24 ++-
 slirp/tcp_var.h |   6 +-
 4 files changed, 238 insertions(+), 245 deletions(-)

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Qemu-devel] [PULL 0/5] slirp updates
  2017-02-26 20:27 Samuel Thibault
@ 2017-02-26 20:37 ` no-reply
  2017-02-26 22:38 ` Peter Maydell
  1 sibling, 0 replies; 16+ messages in thread
From: no-reply @ 2017-02-26 20:37 UTC (permalink / raw)
  To: samuel.thibault; +Cc: famz, qemu-devel, peter.maydell, stefanha, jan.kiszka

Hi,

This series seems to have some coding style problems. See output below for
more information:

Message-id: 20170226202709.2114-1-samuel.thibault@ens-lyon.org
Type: series
Subject: [Qemu-devel] [PULL 0/5] slirp updates

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

# Useful git options
git config --local diff.renamelimit 0
git config --local diff.renames True

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
    echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
    if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
        failed=1
        echo
    fi
    n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 - [tag update]      patchew/20170224182844.32452-1-dgilbert@redhat.com -> patchew/20170224182844.32452-1-dgilbert@redhat.com
 - [tag update]      patchew/20170226165345.8757-1-bobby.prani@gmail.com -> patchew/20170226165345.8757-1-bobby.prani@gmail.com
 * [new tag]         patchew/20170226202709.2114-1-samuel.thibault@ens-lyon.org -> patchew/20170226202709.2114-1-samuel.thibault@ens-lyon.org
Switched to a new branch 'test'
150dc51 slirp: VMStatify remaining except for loop
0f3595f slirp: VMStatify socket level
b584f7a slirp: Common lhost/fhost union
38657f4 slirp: VMStatify sbuf
d064fb9 slirp: VMState conversion; tcpcb

=== OUTPUT BEGIN ===
Checking PATCH 1/5: slirp: VMState conversion; tcpcb...
ERROR: code indent should never use tabs
#212: FILE: slirp/tcp_var.h:51:
+^Iuint8_t t_force;^I^I/* 1 if forcing out a byte */$

ERROR: code indent should never use tabs
#222: FILE: slirp/tcp_var.h:112:
+^Iuint8_t^It_oobflags;^I^I/* have some */$

ERROR: code indent should never use tabs
#223: FILE: slirp/tcp_var.h:113:
+^Iuint8_t^It_iobc;^I^I^I/* input character */$

total: 3 errors, 0 warnings, 195 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 2/5: slirp: VMStatify sbuf...
ERROR: code indent should never use tabs
#26: FILE: slirp/sbuf.h:15:
+^Iuint32_t sb_cc;^I^I/* actual chars in buffer */$

ERROR: code indent should never use tabs
#27: FILE: slirp/sbuf.h:16:
+^Iuint32_t sb_datalen;^I/* Length of data  */$

total: 2 errors, 0 warnings, 155 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 3/5: slirp: Common lhost/fhost union...
Checking PATCH 4/5: slirp: VMStatify socket level...
ERROR: if this code is redundant consider removing it
#98: FILE: slirp/slirp.c:1297:
+#if 0

total: 1 errors, 0 warnings, 217 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 5/5: slirp: VMStatify remaining except for loop...
=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Qemu-devel] [PULL 0/5] slirp updates
  2017-02-26 20:27 Samuel Thibault
  2017-02-26 20:37 ` no-reply
@ 2017-02-26 22:38 ` Peter Maydell
  2017-02-27  9:08   ` Dr. David Alan Gilbert
  1 sibling, 1 reply; 16+ messages in thread
From: Peter Maydell @ 2017-02-26 22:38 UTC (permalink / raw)
  To: Samuel Thibault
  Cc: QEMU Developers, Stefan Hajnoczi, Jan Kiszka,
	Dr. David Alan Gilbert

On 26 February 2017 at 20:27, Samuel Thibault
<samuel.thibault@ens-lyon.org> wrote:
> The following changes since commit 685783c5b69c83c942d1fc21679311eeb8f79ab9:
>
>   Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging (2017-02-26 16:38:40 +0000)
>
> are available in the git repository at:
>
>   http://people.debian.org/~sthibault/qemu.git tags/samuel-thibault
>
> for you to fetch changes up to c363a5b7f9ca9e802665587900b7ea1aefcf26ea:
>
>   slirp: VMStatify remaining except for loop (2017-02-26 21:16:38 +0100)
>
> ----------------------------------------------------------------
> slirp updates
>
> ----------------------------------------------------------------
> Dr. David Alan Gilbert (5):
>       slirp: VMState conversion; tcpcb
>       slirp: VMStatify sbuf
>       slirp: Common lhost/fhost union
>       slirp: VMStatify socket level
>       slirp: VMStatify remaining except for loop

I'm afraid this doesn't build on OSX:


/Users/pm215/src/qemu-for-merges/slirp/slirp.c:1291:9: error:
'uint16_t *' (aka 'unsigned short *') and 'typeof (((union
slirp_sockaddr *)0)->ss.ss_family) *' (aka 'unsigned char *') are not
pointers to compatible types
        VMSTATE_SS_FAMILY(ss.ss_family, union slirp_sockaddr),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/pm215/src/qemu-for-merges/slirp/slirp.c:1277:33: note: expanded
from macro 'VMSTATE_SS_FAMILY'
#define VMSTATE_SS_FAMILY(f, s) VMSTATE_UINT16(f, s)
                                ^~~~~~~~~~~~~~~~~~~~
/Users/pm215/src/qemu-for-merges/include/migration/vmstate.h:785:5:
note: expanded from macro 'VMSTATE_UINT16'
    VMSTATE_UINT16_V(_f, _s, 0)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/pm215/src/qemu-for-merges/include/migration/vmstate.h:764:5:
note: expanded from macro 'VMSTATE_UINT16_V'
    VMSTATE_SINGLE(_f, _s, _v, vmstate_info_uint16, uint16_t)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: (skipping 1 expansions in backtrace; use
-fmacro-backtrace-limit=0 to see all)
/Users/pm215/src/qemu-for-merges/include/migration/vmstate.h:300:21:
note: expanded from macro 'VMSTATE_SINGLE_TEST'
    .offset       = vmstate_offset_value(_state, _field, _type),     \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/pm215/src/qemu-for-merges/include/migration/vmstate.h:272:6:
note: expanded from macro 'vmstate_offset_value'
     type_check(_type, typeof_field(_state, _field)))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/pm215/src/qemu-for-merges/include/qemu/compiler.h:86:35: note:
expanded from macro 'type_check'
#define type_check(t1,t2) ((t1*)0 - (t2*)0)
                           ~~~~~~ ^ ~~~~~~
1 error generated.

In the OSX headers sockaddr_storage is:

struct sockaddr_storage {
        __uint8_t       ss_len;         /* address length */
        sa_family_t     ss_family;      /* [XSI] address family */
        char                    __ss_pad1[_SS_PAD1SIZE];
        __int64_t       __ss_align;     /* force structure storage alignment */
        char                    __ss_pad2[_SS_PAD2SIZE];
};

and sa_family_t is

typedef __uint8_t               sa_family_t;

(NetBSD also defines sa_family_t as an 8 bit type, and
perhaps so do the other BSDs.)

I think we can't get away with having the on-the-wire
type for this field be the same as the in-memory
representation, since the on-the-wire rep. should
be host-OS-independent...

thanks
-- PMM

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Qemu-devel] [PULL 0/5] slirp updates
  2017-02-26 22:38 ` Peter Maydell
@ 2017-02-27  9:08   ` Dr. David Alan Gilbert
  0 siblings, 0 replies; 16+ messages in thread
From: Dr. David Alan Gilbert @ 2017-02-27  9:08 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Samuel Thibault, QEMU Developers, Stefan Hajnoczi, Jan Kiszka

* Peter Maydell (peter.maydell@linaro.org) wrote:
> On 26 February 2017 at 20:27, Samuel Thibault
> <samuel.thibault@ens-lyon.org> wrote:
> > The following changes since commit 685783c5b69c83c942d1fc21679311eeb8f79ab9:
> >
> >   Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging (2017-02-26 16:38:40 +0000)
> >
> > are available in the git repository at:
> >
> >   http://people.debian.org/~sthibault/qemu.git tags/samuel-thibault
> >
> > for you to fetch changes up to c363a5b7f9ca9e802665587900b7ea1aefcf26ea:
> >
> >   slirp: VMStatify remaining except for loop (2017-02-26 21:16:38 +0100)
> >
> > ----------------------------------------------------------------
> > slirp updates
> >
> > ----------------------------------------------------------------
> > Dr. David Alan Gilbert (5):
> >       slirp: VMState conversion; tcpcb
> >       slirp: VMStatify sbuf
> >       slirp: Common lhost/fhost union
> >       slirp: VMStatify socket level
> >       slirp: VMStatify remaining except for loop
> 
> I'm afraid this doesn't build on OSX:
> 
> 
> /Users/pm215/src/qemu-for-merges/slirp/slirp.c:1291:9: error:
> 'uint16_t *' (aka 'unsigned short *') and 'typeof (((union
> slirp_sockaddr *)0)->ss.ss_family) *' (aka 'unsigned char *') are not
> pointers to compatible types
>         VMSTATE_SS_FAMILY(ss.ss_family, union slirp_sockaddr),
>         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Yes, we need to drop 4 and 5;  as per the separate thread the problem
is the BSDs just have a char for their ss_family.

Dave

> /Users/pm215/src/qemu-for-merges/slirp/slirp.c:1277:33: note: expanded
> from macro 'VMSTATE_SS_FAMILY'
> #define VMSTATE_SS_FAMILY(f, s) VMSTATE_UINT16(f, s)
>                                 ^~~~~~~~~~~~~~~~~~~~
> /Users/pm215/src/qemu-for-merges/include/migration/vmstate.h:785:5:
> note: expanded from macro 'VMSTATE_UINT16'
>     VMSTATE_UINT16_V(_f, _s, 0)
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /Users/pm215/src/qemu-for-merges/include/migration/vmstate.h:764:5:
> note: expanded from macro 'VMSTATE_UINT16_V'
>     VMSTATE_SINGLE(_f, _s, _v, vmstate_info_uint16, uint16_t)
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> note: (skipping 1 expansions in backtrace; use
> -fmacro-backtrace-limit=0 to see all)
> /Users/pm215/src/qemu-for-merges/include/migration/vmstate.h:300:21:
> note: expanded from macro 'VMSTATE_SINGLE_TEST'
>     .offset       = vmstate_offset_value(_state, _field, _type),     \
>                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /Users/pm215/src/qemu-for-merges/include/migration/vmstate.h:272:6:
> note: expanded from macro 'vmstate_offset_value'
>      type_check(_type, typeof_field(_state, _field)))
>      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /Users/pm215/src/qemu-for-merges/include/qemu/compiler.h:86:35: note:
> expanded from macro 'type_check'
> #define type_check(t1,t2) ((t1*)0 - (t2*)0)
>                            ~~~~~~ ^ ~~~~~~
> 1 error generated.
> 
> In the OSX headers sockaddr_storage is:
> 
> struct sockaddr_storage {
>         __uint8_t       ss_len;         /* address length */
>         sa_family_t     ss_family;      /* [XSI] address family */
>         char                    __ss_pad1[_SS_PAD1SIZE];
>         __int64_t       __ss_align;     /* force structure storage alignment */
>         char                    __ss_pad2[_SS_PAD2SIZE];
> };
> 
> and sa_family_t is
> 
> typedef __uint8_t               sa_family_t;
> 
> (NetBSD also defines sa_family_t as an 8 bit type, and
> perhaps so do the other BSDs.)
> 
> I think we can't get away with having the on-the-wire
> type for this field be the same as the in-memory
> representation, since the on-the-wire rep. should
> be host-OS-independent...
> 
> thanks
> -- PMM
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PULL 0/5] slirp updates
@ 2018-01-14 17:20 Samuel Thibault
  2018-01-15 11:23 ` Peter Maydell
  0 siblings, 1 reply; 16+ messages in thread
From: Samuel Thibault @ 2018-01-14 17:20 UTC (permalink / raw)
  To: qemu-devel, peter.maydell; +Cc: Samuel Thibault

warning: redirection vers https://people.debian.org/~sthibault/qemu.git/
The following changes since commit 7398166ddf7c6dbbc9cae6ac69bb2feda14b40ac:

  Merge remote-tracking branch 'remotes/kraxel/tags/vnc-20180112-pull-request' into staging (2018-01-12 16:01:30 +0000)

are available in the Git repository at:

  http://people.debian.org/~sthibault/qemu.git tags/samuel-thibault

for you to fetch changes up to 318116a6ff36bee13c725a247a9395e80bcfbd6b:

  slirp: add in6_dhcp_multicast() (2018-01-14 18:16:13 +0100)

----------------------------------------------------------------
slirp updates

----------------------------------------------------------------
Philippe Mathieu-Daudé (5):
      slirp: avoid IN6_IS_ADDR_UNSPECIFIED(), rather use in6_zero()
      slirp: remove unused header
      slirp: remove unnecessary struct declaration
      slirp: removed unused code
      slirp: add in6_dhcp_multicast()

 slirp/dhcpv6.h    |  3 +++
 slirp/ip.h        | 13 -------------
 slirp/ip6_icmp.c  |  6 +++---
 slirp/libslirp.h  |  1 -
 slirp/ndp_table.c |  4 ++--
 slirp/slirp.h     |  1 -
 slirp/udp6.c      |  2 +-
 7 files changed, 9 insertions(+), 21 deletions(-)

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Qemu-devel] [PULL 0/5] slirp updates
  2018-01-14 17:20 Samuel Thibault
@ 2018-01-15 11:23 ` Peter Maydell
  0 siblings, 0 replies; 16+ messages in thread
From: Peter Maydell @ 2018-01-15 11:23 UTC (permalink / raw)
  To: Samuel Thibault; +Cc: QEMU Developers

On 14 January 2018 at 17:20, Samuel Thibault
<samuel.thibault@ens-lyon.org> wrote:
> warning: redirection vers https://people.debian.org/~sthibault/qemu.git/
> The following changes since commit 7398166ddf7c6dbbc9cae6ac69bb2feda14b40ac:
>
>   Merge remote-tracking branch 'remotes/kraxel/tags/vnc-20180112-pull-request' into staging (2018-01-12 16:01:30 +0000)
>
> are available in the Git repository at:
>
>   http://people.debian.org/~sthibault/qemu.git tags/samuel-thibault
>
> for you to fetch changes up to 318116a6ff36bee13c725a247a9395e80bcfbd6b:
>
>   slirp: add in6_dhcp_multicast() (2018-01-14 18:16:13 +0100)
>
> ----------------------------------------------------------------
> slirp updates
>
> ----------------------------------------------------------------
> Philippe Mathieu-Daudé (5):
>       slirp: avoid IN6_IS_ADDR_UNSPECIFIED(), rather use in6_zero()
>       slirp: remove unused header
>       slirp: remove unnecessary struct declaration
>       slirp: removed unused code
>       slirp: add in6_dhcp_multicast()


Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PULL 0/5] slirp updates
@ 2018-06-08  6:13 Samuel Thibault
  2018-06-08  6:20 ` no-reply
  2018-06-08 10:40 ` Peter Maydell
  0 siblings, 2 replies; 16+ messages in thread
From: Samuel Thibault @ 2018-06-08  6:13 UTC (permalink / raw)
  To: qemu-devel, peter.maydell; +Cc: Samuel Thibault, stefanha, jan.kiszka

The following changes since commit 9be4af13305f24d2dabf94bb53e6b65c76d08bb2:

  Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging (2018-06-01 14:58:53 +0100)

are available in the Git repository at:

  https://people.debian.org/~sthibault/qemu.git tags/samuel-thibault

for you to fetch changes up to c22098c74a09164797fae6511c5eaf68f32c4dd8:

  slirp: reformat m_inc routine (2018-06-08 09:08:30 +0300)

----------------------------------------------------------------
slirp updates

Prasad J Pandit (2):
  slirp: Fix buffer overflow on packet reassembling

Samuel Thibault (3):
  slirp: Add Samuel Thibault's staging tree for slirp
  slirp: fix domainname version availability

----------------------------------------------------------------
Prasad J Pandit (2):
      slirp: correct size computation while concatenating mbuf
      slirp: reformat m_inc routine

Samuel Thibault (3):
      slirp: Fix spurious error report when sending directly
      slirp: Add Samuel Thibault's staging tree for slirp
      slirp: fix domainname version availability

 MAINTAINERS    |  1 +
 qapi/net.json  |  2 +-
 slirp/mbuf.c   | 39 ++++++++++++++++++---------------------
 slirp/mbuf.h   |  8 +++-----
 slirp/socket.c | 14 +++++++-------
 5 files changed, 30 insertions(+), 34 deletions(-)

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Qemu-devel] [PULL 0/5] slirp updates
  2018-06-08  6:13 Samuel Thibault
@ 2018-06-08  6:20 ` no-reply
  2018-06-08 10:40 ` Peter Maydell
  1 sibling, 0 replies; 16+ messages in thread
From: no-reply @ 2018-06-08  6:20 UTC (permalink / raw)
  To: samuel.thibault; +Cc: famz, qemu-devel, peter.maydell, stefanha, jan.kiszka

Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20180608061316.4909-1-samuel.thibault@ens-lyon.org
Subject: [Qemu-devel] [PULL 0/5] slirp updates

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
    echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
    if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
        failed=1
        echo
    fi
    n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]               patchew/20180608061316.4909-1-samuel.thibault@ens-lyon.org -> patchew/20180608061316.4909-1-samuel.thibault@ens-lyon.org
Switched to a new branch 'test'
00a042daa6 slirp: reformat m_inc routine
b2bd5ee65e slirp: correct size computation while concatenating mbuf
c9786d65a1 slirp: fix domainname version availability
4f34ee0609 slirp: Add Samuel Thibault's staging tree for slirp
9159762703 slirp: Fix spurious error report when sending directly

=== OUTPUT BEGIN ===
Checking PATCH 1/5: slirp: Fix spurious error report when sending directly...
ERROR: code indent should never use tabs
#25: FILE: slirp/socket.c:343:
+^Iint n;$

ERROR: code indent should never use tabs
#34: FILE: slirp/socket.c:362:
+^I^Iint len = (sb->sb_data + sb->sb_datalen) - sb->sb_rptr;$

ERROR: code indent should never use tabs
#43: FILE: slirp/socket.c:378:
+^I^Iif (n != len) {$

WARNING: line over 80 characters
#44: FILE: slirp/socket.c:379:
+			DEBUG_ERROR((dfd, "Didn't send all data urgently XXXXX\n"));

ERROR: code indent should never use tabs
#44: FILE: slirp/socket.c:379:
+^I^I^IDEBUG_ERROR((dfd, "Didn't send all data urgently XXXXX\n"));$

ERROR: code indent should never use tabs
#45: FILE: slirp/socket.c:380:
+^I^I}$

total: 5 errors, 1 warnings, 34 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 2/5: slirp: Add Samuel Thibault's staging tree for slirp...
Checking PATCH 3/5: slirp: fix domainname version availability...
Checking PATCH 4/5: slirp: correct size computation while concatenating mbuf...
ERROR: code indent should never use tabs
#25: FILE: slirp/mbuf.c:141:
+^I^Im_inc(m, m->m_len + n->m_len);$

ERROR: code indent should never use tabs
#43: FILE: slirp/mbuf.c:161:
+^I  m->m_ext = g_realloc(m->m_ext, size + datasize);$

ERROR: code indent should never use tabs
#49: FILE: slirp/mbuf.c:166:
+^I  dat = g_malloc(size + datasize);$

ERROR: code indent should never use tabs
#81: FILE: slirp/mbuf.h:73:
+^Iint^Im_size;^I^I^I/* Size of mbuf, from m_dat or m_ext */$

ERROR: code indent should never use tabs
#86: FILE: slirp/mbuf.h:76:
+^Icaddr_t^Im_data;^I^I^I/* Current location of data */$

WARNING: line over 80 characters
#87: FILE: slirp/mbuf.h:77:
+	int	m_len;			/* Amount of data in this mbuf, from m_data */

ERROR: code indent should never use tabs
#87: FILE: slirp/mbuf.h:77:
+^Iint^Im_len;^I^I^I/* Amount of data in this mbuf, from m_data */$

total: 6 errors, 1 warnings, 61 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 5/5: slirp: reformat m_inc routine...
=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Qemu-devel] [PULL 0/5] slirp updates
  2018-06-08  6:13 Samuel Thibault
  2018-06-08  6:20 ` no-reply
@ 2018-06-08 10:40 ` Peter Maydell
  1 sibling, 0 replies; 16+ messages in thread
From: Peter Maydell @ 2018-06-08 10:40 UTC (permalink / raw)
  To: Samuel Thibault; +Cc: QEMU Developers, Stefan Hajnoczi, Jan Kiszka

On 8 June 2018 at 07:13, Samuel Thibault <samuel.thibault@ens-lyon.org> wrote:
> The following changes since commit 9be4af13305f24d2dabf94bb53e6b65c76d08bb2:
>
>   Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging (2018-06-01 14:58:53 +0100)
>
> are available in the Git repository at:
>
>   https://people.debian.org/~sthibault/qemu.git tags/samuel-thibault
>
> for you to fetch changes up to c22098c74a09164797fae6511c5eaf68f32c4dd8:
>
>   slirp: reformat m_inc routine (2018-06-08 09:08:30 +0300)
>
> ----------------------------------------------------------------
> slirp updates
>
> Prasad J Pandit (2):
>   slirp: Fix buffer overflow on packet reassembling
>
> Samuel Thibault (3):
>   slirp: Add Samuel Thibault's staging tree for slirp
>   slirp: fix domainname version availability
>


Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2018-06-08 14:06 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-28 23:28 [Qemu-devel] [PULL 0/5] slirp updates Samuel Thibault
2016-03-28 23:28 ` [Qemu-devel] [PULL 1/5] slirp: Fix memory leak on small incoming ipv4 packet Samuel Thibault
2016-03-28 23:28 ` [Qemu-devel] [PULL 2/5] slirp: send icmp6 errors when UDP send failed Samuel Thibault
2016-03-28 23:28 ` [Qemu-devel] [PULL 3/5] Avoid embedding struct mbuf in other structures Samuel Thibault
2016-03-28 23:28 ` [Qemu-devel] [PULL 4/5] Use C99 flexible array instead of 1-byte trailing array Samuel Thibault
2016-03-28 23:28 ` [Qemu-devel] [PULL 5/5] Rework ipv6 options Samuel Thibault
2016-03-29 18:54 ` [Qemu-devel] [PULL 0/5] slirp updates Peter Maydell
  -- strict thread matches above, loose matches on Subject: below --
2017-02-26 20:27 Samuel Thibault
2017-02-26 20:37 ` no-reply
2017-02-26 22:38 ` Peter Maydell
2017-02-27  9:08   ` Dr. David Alan Gilbert
2018-01-14 17:20 Samuel Thibault
2018-01-15 11:23 ` Peter Maydell
2018-06-08  6:13 Samuel Thibault
2018-06-08  6:20 ` no-reply
2018-06-08 10:40 ` Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).