qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/3] slirp updates
@ 2017-02-26 14:43 Samuel Thibault
  2017-02-26 17:50 ` Peter Maydell
  0 siblings, 1 reply; 18+ messages in thread
From: Samuel Thibault @ 2017-02-26 14:43 UTC (permalink / raw)
  To: qemu-devel, peter.maydell; +Cc: Samuel Thibault, stefanha, jan.kiszka

The following changes since commit 6528a4c1f20c1ba5a22ab84bec6788a574ac04c8:

  Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging (2017-02-26 11:47:00 +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 bd5d2353aa69e68e45d8a89787bab17c155e9e24:

  slirp: tcp_listen(): Don't try to close() an fd we never opened (2017-02-26 15:39:29 +0100)

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

----------------------------------------------------------------
Peter Maydell (3):
      slirp: Check qemu_socket() return value in udp_listen()
      slirp: Convert mbufs to use g_malloc() and g_free()
      slirp: tcp_listen(): Don't try to close() an fd we never opened

 slirp/mbuf.c   | 30 ++++++++++++++----------------
 slirp/socket.c |  4 +++-
 slirp/udp.c    |  4 ++++
 3 files changed, 21 insertions(+), 17 deletions(-)

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

* Re: [Qemu-devel] [PULL 0/3] slirp updates
  2017-02-26 14:43 Samuel Thibault
@ 2017-02-26 17:50 ` Peter Maydell
  0 siblings, 0 replies; 18+ messages in thread
From: Peter Maydell @ 2017-02-26 17:50 UTC (permalink / raw)
  To: Samuel Thibault; +Cc: QEMU Developers, Stefan Hajnoczi, Jan Kiszka

On 26 February 2017 at 14:43, Samuel Thibault
<samuel.thibault@ens-lyon.org> wrote:
> The following changes since commit 6528a4c1f20c1ba5a22ab84bec6788a574ac04c8:
>
>   Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging (2017-02-26 11:47:00 +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 bd5d2353aa69e68e45d8a89787bab17c155e9e24:
>
>   slirp: tcp_listen(): Don't try to close() an fd we never opened (2017-02-26 15:39:29 +0100)
>
> ----------------------------------------------------------------
> slirp updates
>
> ----------------------------------------------------------------
> Peter Maydell (3):
>       slirp: Check qemu_socket() return value in udp_listen()
>       slirp: Convert mbufs to use g_malloc() and g_free()
>       slirp: tcp_listen(): Don't try to close() an fd we never opened
>
>  slirp/mbuf.c   | 30 ++++++++++++++----------------
>  slirp/socket.c |  4 +++-
>  slirp/udp.c    |  4 ++++
>  3 files changed, 21 insertions(+), 17 deletions(-)

Applied, thanks.

-- PMM

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

* [Qemu-devel] [PULL 0/3] slirp updates
@ 2017-03-28 22:53 Samuel Thibault
  2017-03-29 11:16 ` Stefan Hajnoczi
  0 siblings, 1 reply; 18+ messages in thread
From: Samuel Thibault @ 2017-03-28 22:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: Samuel Thibault, stefanha, jan.kiszka

The following changes since commit df9046363220e57d45818312759b954c033c58ab:

  Update version for v2.9.0-rc2 release (2017-03-28 19:11:16 +0100)

are available in the git repository at:

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

for you to fetch changes up to a2f80fdfc683019901cdf4c0863a5920c0ca7245:

  slirp: Send RDNSS in RA only if host has an IPv6 DNS server (2017-03-29 00:51:25 +0200)

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

----------------------------------------------------------------
Laurent Vivier (1):
      slirp: fix compilation errors with DEBUG set

Samuel Thibault (2):
      slirp: Make RA build more flexible
      slirp: Send RDNSS in RA only if host has an IPv6 DNS server

 slirp/ip6_icmp.c | 47 ++++++++++++++++++++++-------------------------
 slirp/slirp.c    |  2 +-
 2 files changed, 23 insertions(+), 26 deletions(-)

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

* Re: [Qemu-devel] [PULL 0/3] slirp updates
  2017-03-28 22:53 Samuel Thibault
@ 2017-03-29 11:16 ` Stefan Hajnoczi
  2017-03-30 15:04   ` Peter Maydell
  0 siblings, 1 reply; 18+ messages in thread
From: Stefan Hajnoczi @ 2017-03-29 11:16 UTC (permalink / raw)
  To: Samuel Thibault; +Cc: qemu-devel, jan.kiszka

[-- Attachment #1: Type: text/plain, Size: 1115 bytes --]

On Wed, Mar 29, 2017 at 12:53:24AM +0200, Samuel Thibault wrote:
> The following changes since commit df9046363220e57d45818312759b954c033c58ab:
> 
>   Update version for v2.9.0-rc2 release (2017-03-28 19:11:16 +0100)
> 
> are available in the git repository at:
> 
>   http://people.debian.org/~sthibault/qemu.git tags/samuel-thibault
> 
> for you to fetch changes up to a2f80fdfc683019901cdf4c0863a5920c0ca7245:
> 
>   slirp: Send RDNSS in RA only if host has an IPv6 DNS server (2017-03-29 00:51:25 +0200)
> 
> ----------------------------------------------------------------
> slirp updates
> 
> ----------------------------------------------------------------
> Laurent Vivier (1):
>       slirp: fix compilation errors with DEBUG set
> 
> Samuel Thibault (2):
>       slirp: Make RA build more flexible
>       slirp: Send RDNSS in RA only if host has an IPv6 DNS server
> 
>  slirp/ip6_icmp.c | 47 ++++++++++++++++++++++-------------------------
>  slirp/slirp.c    |  2 +-
>  2 files changed, 23 insertions(+), 26 deletions(-)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]

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

* Re: [Qemu-devel] [PULL 0/3] slirp updates
  2017-03-29 11:16 ` Stefan Hajnoczi
@ 2017-03-30 15:04   ` Peter Maydell
  0 siblings, 0 replies; 18+ messages in thread
From: Peter Maydell @ 2017-03-30 15:04 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: Samuel Thibault, Jan Kiszka, QEMU Developers

On 29 March 2017 at 12:16, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> On Wed, Mar 29, 2017 at 12:53:24AM +0200, Samuel Thibault wrote:
>> The following changes since commit df9046363220e57d45818312759b954c033c58ab:
>>
>>   Update version for v2.9.0-rc2 release (2017-03-28 19:11:16 +0100)
>>
>> are available in the git repository at:
>>
>>   http://people.debian.org/~sthibault/qemu.git tags/samuel-thibault
>>
>> for you to fetch changes up to a2f80fdfc683019901cdf4c0863a5920c0ca7245:
>>
>>   slirp: Send RDNSS in RA only if host has an IPv6 DNS server (2017-03-29 00:51:25 +0200)
>>
>> ----------------------------------------------------------------
>> slirp updates
>>
>> ----------------------------------------------------------------
>> Laurent Vivier (1):
>>       slirp: fix compilation errors with DEBUG set
>>
>> Samuel Thibault (2):
>>       slirp: Make RA build more flexible
>>       slirp: Send RDNSS in RA only if host has an IPv6 DNS server
>>
>>  slirp/ip6_icmp.c | 47 ++++++++++++++++++++++-------------------------
>>  slirp/slirp.c    |  2 +-
>>  2 files changed, 23 insertions(+), 26 deletions(-)
>
> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

Applied, thanks.

-- PMM

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

* [Qemu-devel] [PULL 0/3] slirp updates
@ 2017-05-27 21:46 Samuel Thibault
  2017-05-27 21:52 ` no-reply
  2017-05-30  9:29 ` Stefan Hajnoczi
  0 siblings, 2 replies; 18+ messages in thread
From: Samuel Thibault @ 2017-05-27 21:46 UTC (permalink / raw)
  To: qemu-devel; +Cc: Samuel Thibault, stefanha, jan.kiszka

The following changes since commit 9964e96dc9999cf7f7c936ee854a795415d19b60:

  Merge remote-tracking branch 'jasowang/tags/net-pull-request' into staging (2017-05-23 15:01:31 +0100)

are available in the git repository at:

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

for you to fetch changes up to 2e30230aa95a2d6cfaadac015bd96c3db19c45e4:

  Fix total IP header length in forwarded TCP packets (2017-05-27 23:35:00 +0200)

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

----------------------------------------------------------------
Marc-André Lureau (1):
      slirp: fix leak

Sjors Gielen (1):
      Fix total IP header length in forwarded TCP packets

Tao Wu (1):
      slirp: Fix wrong mss bug.

 slirp/socket.c    | 3 +++
 slirp/tcp_input.c | 4 ++--
 slirp/tcp_subr.c  | 4 ++--
 3 files changed, 7 insertions(+), 4 deletions(-)

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

* Re: [Qemu-devel] [PULL 0/3] slirp updates
  2017-05-27 21:46 Samuel Thibault
@ 2017-05-27 21:52 ` no-reply
  2017-05-30  9:29 ` Stefan Hajnoczi
  1 sibling, 0 replies; 18+ messages in thread
From: no-reply @ 2017-05-27 21:52 UTC (permalink / raw)
  To: samuel.thibault; +Cc: famz, qemu-devel, stefanha, jan.kiszka

Hi,

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

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

=== 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

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/20170527214618.32626-1-samuel.thibault@ens-lyon.org -> patchew/20170527214618.32626-1-samuel.thibault@ens-lyon.org
Switched to a new branch 'test'
489f78a Fix total IP header length in forwarded TCP packets
c0516eb slirp: fix leak
faedb70 slirp: Fix wrong mss bug.

=== OUTPUT BEGIN ===
Checking PATCH 1/3: slirp: Fix wrong mss bug....
ERROR: code indent should never use tabs
#25: FILE: slirp/tcp_input.c:1590:
+^I                              - sizeof(struct ip);$

ERROR: code indent should never use tabs
#30: FILE: slirp/tcp_input.c:1594:
+^I                              - sizeof(struct ip6);$

total: 2 errors, 0 warnings, 13 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/3: slirp: fix leak...
ERROR: suspect code indent for conditional statements (2, 6)
#38: FILE: slirp/socket.c:103:
+  if (so->so_tcpcb) {
+      free(so->so_tcpcb);

total: 1 errors, 0 warnings, 9 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/3: Fix total IP header length in forwarded TCP packets...
ERROR: code indent should never use tabs
#23: FILE: slirp/tcp_subr.c:207:
+^I    ip->ip_len = m->m_len;$

ERROR: code indent should never use tabs
#32: FILE: slirp/tcp_subr.c:227:
+^I    ip6->ip_pl = tcpiph_save.ti_len;$

total: 2 errors, 0 warnings, 16 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.

=== 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] 18+ messages in thread

* Re: [Qemu-devel] [PULL 0/3] slirp updates
  2017-05-27 21:46 Samuel Thibault
  2017-05-27 21:52 ` no-reply
@ 2017-05-30  9:29 ` Stefan Hajnoczi
  1 sibling, 0 replies; 18+ messages in thread
From: Stefan Hajnoczi @ 2017-05-30  9:29 UTC (permalink / raw)
  To: Samuel Thibault; +Cc: qemu-devel, stefanha, jan.kiszka

[-- Attachment #1: Type: text/plain, Size: 1153 bytes --]

On Sat, May 27, 2017 at 11:46:15PM +0200, Samuel Thibault wrote:
> The following changes since commit 9964e96dc9999cf7f7c936ee854a795415d19b60:
> 
>   Merge remote-tracking branch 'jasowang/tags/net-pull-request' into staging (2017-05-23 15:01:31 +0100)
> 
> are available in the git repository at:
> 
>   http://people.debian.org/~sthibault/qemu.git tags/samuel-thibault
> 
> for you to fetch changes up to 2e30230aa95a2d6cfaadac015bd96c3db19c45e4:
> 
>   Fix total IP header length in forwarded TCP packets (2017-05-27 23:35:00 +0200)
> 
> ----------------------------------------------------------------
> slirp updates
> 
> ----------------------------------------------------------------
> Marc-André Lureau (1):
>       slirp: fix leak
> 
> Sjors Gielen (1):
>       Fix total IP header length in forwarded TCP packets
> 
> Tao Wu (1):
>       slirp: Fix wrong mss bug.
> 
>  slirp/socket.c    | 3 +++
>  slirp/tcp_input.c | 4 ++--
>  slirp/tcp_subr.c  | 4 ++--
>  3 files changed, 7 insertions(+), 4 deletions(-)
> 

Thanks, applied to my staging tree:
https://github.com/stefanha/qemu/commits/staging

Stefan

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]

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

* [Qemu-devel] [PULL 0/3] slirp updates
@ 2017-09-24 18:08 Samuel Thibault
  2017-09-24 18:25 ` no-reply
  2017-09-25 22:19 ` Peter Maydell
  0 siblings, 2 replies; 18+ messages in thread
From: Samuel Thibault @ 2017-09-24 18:08 UTC (permalink / raw)
  To: qemu-devel; +Cc: Samuel Thibault, stefanha, jan.kiszka

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

  Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2017-09-23 12:55:40 +0100)

are available in the git repository at:

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

for you to fetch changes up to 13146a83951e045c810c37c5c11c2a016ebc0663:

  slirp: Add a special case for the NULL socket (2017-09-24 20:04:09 +0200)

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

----------------------------------------------------------------
Dr. David Alan Gilbert (1):
      slirp: Add explanation for hostfwd parsing failure

Kevin Cernekee (2):
      slirp: Fix intermittent send queue hangs on a socket
      slirp: Add a special case for the NULL socket

 net/slirp.c   | 13 ++++++++++-
 slirp/if.c    | 69 +++++++++++++++++++++++------------------------------------
 slirp/slirp.h |  1 -
 3 files changed, 39 insertions(+), 44 deletions(-)

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

* Re: [Qemu-devel] [PULL 0/3] slirp updates
  2017-09-24 18:08 Samuel Thibault
@ 2017-09-24 18:25 ` no-reply
  2017-09-25 22:19 ` Peter Maydell
  1 sibling, 0 replies; 18+ messages in thread
From: no-reply @ 2017-09-24 18:25 UTC (permalink / raw)
  To: samuel.thibault; +Cc: famz, qemu-devel, stefanha, jan.kiszka

Hi,

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

Type: series
Message-id: 20170924180848.19168-1-samuel.thibault@ens-lyon.org
Subject: [Qemu-devel] [PULL 0/3] 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

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
Switched to a new branch 'test'
3b8560cf71 slirp: Add a special case for the NULL socket
91a5c1c7c4 slirp: Fix intermittent send queue hangs on a socket
16d5416215 slirp: Add explanation for hostfwd parsing failure

=== OUTPUT BEGIN ===
Checking PATCH 1/3: slirp: Add explanation for hostfwd parsing failure...
Checking PATCH 2/3: slirp: Fix intermittent send queue hangs on a socket...
Checking PATCH 3/3: slirp: Add a special case for the NULL socket...
ERROR: code indent should never use tabs
#31: FILE: slirp/if.c:76:
+^Iif (so) {$

ERROR: code indent should never use tabs
#32: FILE: slirp/if.c:77:
+^I^Ifor (ifq = (struct mbuf *) slirp->if_batchq.qh_rlink;$

ERROR: code indent should never use tabs
#33: FILE: slirp/if.c:78:
+^I^I     (struct quehead *) ifq != &slirp->if_batchq;$

ERROR: code indent should never use tabs
#34: FILE: slirp/if.c:79:
+^I^I     ifq = ifq->ifq_prev) {$

ERROR: code indent should never use tabs
#35: FILE: slirp/if.c:80:
+^I^I^Iif (so == ifq->ifq_so) {$

ERROR: code indent should never use tabs
#36: FILE: slirp/if.c:81:
+^I^I^I^I/* A match! */$

ERROR: code indent should never use tabs
#37: FILE: slirp/if.c:82:
+^I^I^I^Iifm->ifq_so = so;$

ERROR: code indent should never use tabs
#38: FILE: slirp/if.c:83:
+^I^I^I^Iifs_insque(ifm, ifq->ifs_prev);$

ERROR: code indent should never use tabs
#39: FILE: slirp/if.c:84:
+^I^I^I^Igoto diddit;$

ERROR: code indent should never use tabs
#40: FILE: slirp/if.c:85:
+^I^I^I}$

total: 10 errors, 0 warnings, 24 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.

=== 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] 18+ messages in thread

* Re: [Qemu-devel] [PULL 0/3] slirp updates
  2017-09-24 18:08 Samuel Thibault
  2017-09-24 18:25 ` no-reply
@ 2017-09-25 22:19 ` Peter Maydell
  1 sibling, 0 replies; 18+ messages in thread
From: Peter Maydell @ 2017-09-25 22:19 UTC (permalink / raw)
  To: Samuel Thibault; +Cc: QEMU Developers, Stefan Hajnoczi, Jan Kiszka

On 24 September 2017 at 19:08, Samuel Thibault
<samuel.thibault@ens-lyon.org> wrote:
> warning: redirection vers https://people.debian.org/~sthibault/qemu.git/
> The following changes since commit 460b6c8e581aa06b86f59eebd9e52edfe7adf417:
>
>   Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2017-09-23 12:55:40 +0100)
>
> are available in the git repository at:
>
>   http://people.debian.org/~sthibault/qemu.git tags/samuel-thibault
>
> for you to fetch changes up to 13146a83951e045c810c37c5c11c2a016ebc0663:
>
>   slirp: Add a special case for the NULL socket (2017-09-24 20:04:09 +0200)
>
> ----------------------------------------------------------------
> slirp updates
>
> ----------------------------------------------------------------
> Dr. David Alan Gilbert (1):
>       slirp: Add explanation for hostfwd parsing failure
>
> Kevin Cernekee (2):
>       slirp: Fix intermittent send queue hangs on a socket
>       slirp: Add a special case for the NULL socket

Applied, thanks.

-- PMM

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

* [Qemu-devel] [PULL 0/3] Slirp updates
@ 2018-10-07 18:05 Samuel Thibault
  2018-10-07 18:05 ` [Qemu-devel] [PULL 1/3] slirp: document mbuf pointers and sizes Samuel Thibault
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: Samuel Thibault @ 2018-10-07 18:05 UTC (permalink / raw)
  To: qemu-devel, peter.maydell; +Cc: Samuel Thibault, stefanha, jan.kiszka

The following changes since commit 3c2d3042849686969add641bd38b08b9877b9e8f:

  Merge remote-tracking branch 'remotes/mcayland/tags/qemu-openbios.for-upstream-20181005' into staging (2018-10-05 17:55:22 +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 93a972f8548571d35c718ca3a94d5ab1507b2443:

  slirp: Propagate host TCP RST packet to the guest after socket disconnected (2018-10-07 19:50:48 +0200)

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

Andrew Oates (1):
  slirp: fix ICMP handling on macOS hosts

Gavin Grant (1):
  slirp: Propagate host TCP RST packet to the guest after socket
    disconnected

Peter Maydell (1):
  slirp: document mbuf pointers and sizes

----------------------------------------------------------------
Andrew Oates (1):
      slirp: fix ICMP handling on macOS hosts

Gavin Grant (1):
      slirp: Propagate host TCP RST packet to the guest after socket disconnected

Peter Maydell (1):
      slirp: document mbuf pointers and sizes

 slirp/ip_icmp.c | 27 ++++++++++++++++++++++++++-
 slirp/mbuf.c    | 14 +++++++-------
 slirp/mbuf.h    | 13 +++++++++++++
 slirp/socket.c  | 13 ++++++++++---
 4 files changed, 56 insertions(+), 11 deletions(-)

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

* [Qemu-devel] [PULL 1/3] slirp: document mbuf pointers and sizes
  2018-10-07 18:05 [Qemu-devel] [PULL 0/3] Slirp updates Samuel Thibault
@ 2018-10-07 18:05 ` Samuel Thibault
  2018-10-07 18:05 ` [Qemu-devel] [PULL 2/3] slirp: fix ICMP handling on macOS hosts Samuel Thibault
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 18+ messages in thread
From: Samuel Thibault @ 2018-10-07 18:05 UTC (permalink / raw)
  To: qemu-devel, peter.maydell; +Cc: stefanha, jan.kiszka, Samuel Thibault

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

and fix confusing datasize name into gapsize in m_inc.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 slirp/mbuf.c | 14 +++++++-------
 slirp/mbuf.h | 13 +++++++++++++
 2 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/slirp/mbuf.c b/slirp/mbuf.c
index 1b7868355a..aa1f28afb1 100644
--- a/slirp/mbuf.c
+++ b/slirp/mbuf.c
@@ -151,7 +151,7 @@ m_cat(struct mbuf *m, struct mbuf *n)
 void
 m_inc(struct mbuf *m, int size)
 {
-    int datasize;
+    int gapsize;
 
     /* some compilers throw up on gotos.  This one we can fake. */
     if (M_ROOM(m) > size) {
@@ -159,17 +159,17 @@ m_inc(struct mbuf *m, int size)
     }
 
     if (m->m_flags & M_EXT) {
-        datasize = m->m_data - m->m_ext;
-        m->m_ext = g_realloc(m->m_ext, size + datasize);
+        gapsize = m->m_data - m->m_ext;
+        m->m_ext = g_realloc(m->m_ext, size + gapsize);
     } else {
-        datasize = m->m_data - m->m_dat;
-        m->m_ext = g_malloc(size + datasize);
+        gapsize = m->m_data - m->m_dat;
+        m->m_ext = g_malloc(size + gapsize);
         memcpy(m->m_ext, m->m_dat, m->m_size);
         m->m_flags |= M_EXT;
     }
 
-    m->m_data = m->m_ext + datasize;
-    m->m_size = size + datasize;
+    m->m_data = m->m_ext + gapsize;
+    m->m_size = size + gapsize;
 }
 
 
diff --git a/slirp/mbuf.h b/slirp/mbuf.h
index 33b84485d6..bfdf8c4577 100644
--- a/slirp/mbuf.h
+++ b/slirp/mbuf.h
@@ -47,6 +47,19 @@
  * free the m_ext.  This is inefficient memory-wise, but who cares.
  */
 
+/*
+ * mbufs allow to have a gap between the start of the allocated buffer (m_ext if
+ * M_EXT is set, m_dat otherwise) and the in-use data:
+ *
+ *  |--gapsize----->|---m_len------->
+ *  |----------m_size------------------------------>
+ *                  |----M_ROOM-------------------->
+ *                                   |-M_FREEROOM-->
+ *
+ *  ^               ^                               ^
+ *  m_dat/m_ext     m_data                          end of buffer
+ */
+
 /*
  * How much room is in the mbuf, from m_data to the end of the mbuf
  */
-- 
2.19.0

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

* [Qemu-devel] [PULL 2/3] slirp: fix ICMP handling on macOS hosts
  2018-10-07 18:05 [Qemu-devel] [PULL 0/3] Slirp updates Samuel Thibault
  2018-10-07 18:05 ` [Qemu-devel] [PULL 1/3] slirp: document mbuf pointers and sizes Samuel Thibault
@ 2018-10-07 18:05 ` Samuel Thibault
  2018-10-07 18:05 ` [Qemu-devel] [PULL 3/3] slirp: Propagate host TCP RST packet to the guest after socket disconnected Samuel Thibault
  2018-10-08 11:39 ` [Qemu-devel] [PULL 0/3] Slirp updates Peter Maydell
  3 siblings, 0 replies; 18+ messages in thread
From: Samuel Thibault @ 2018-10-07 18:05 UTC (permalink / raw)
  To: qemu-devel, peter.maydell
  Cc: Andrew Oates, stefanha, jan.kiszka, Samuel Thibault

From: Andrew Oates <aoates@google.com>

On Linux, SOCK_DGRAM+IPPROTO_ICMP sockets give only the ICMP packet when
read from.  On macOS, however, the socket acts like a SOCK_RAW socket
and includes the IP header as well.

This change strips the extra IP header from the received packet on macOS
before sending it to the guest.  SOCK_DGRAM ICMP sockets aren't
supported on other BSDs, but we enable this behavior for them as well to
treat the sockets the same as raw sockets.

Signed-off-by: Andrew Oates <aoates@google.com>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 slirp/ip_icmp.c | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/slirp/ip_icmp.c b/slirp/ip_icmp.c
index 0b667a429a..da100d1f55 100644
--- a/slirp/ip_icmp.c
+++ b/slirp/ip_icmp.c
@@ -420,7 +420,32 @@ void icmp_receive(struct socket *so)
     icp = mtod(m, struct icmp *);
 
     id = icp->icmp_id;
-    len = qemu_recv(so->s, icp, m->m_len, 0);
+    len = qemu_recv(so->s, icp, M_ROOM(m), 0);
+    /*
+     * The behavior of reading SOCK_DGRAM+IPPROTO_ICMP sockets is inconsistent
+     * between host OSes.  On Linux, only the ICMP header and payload is
+     * included.  On macOS/Darwin, the socket acts like a raw socket and
+     * includes the IP header as well.  On other BSDs, SOCK_DGRAM+IPPROTO_ICMP
+     * sockets aren't supported at all, so we treat them like raw sockets.  It
+     * isn't possible to detect this difference at runtime, so we must use an
+     * #ifdef to determine if we need to remove the IP header.
+     */
+#ifdef CONFIG_BSD
+    if (len >= sizeof(struct ip)) {
+        struct ip *inner_ip = mtod(m, struct ip *);
+        int inner_hlen = inner_ip->ip_hl << 2;
+        if (inner_hlen > len) {
+            len = -1;
+            errno = -EINVAL;
+        } else {
+            len -= inner_hlen;
+            memmove(icp, (unsigned char *)icp + inner_hlen, len);
+        }
+    } else {
+      len = -1;
+      errno = -EINVAL;
+    }
+#endif
     icp->icmp_id = id;
 
     m->m_data -= hlen;
-- 
2.19.0

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

* [Qemu-devel] [PULL 3/3] slirp: Propagate host TCP RST packet to the guest after socket disconnected
  2018-10-07 18:05 [Qemu-devel] [PULL 0/3] Slirp updates Samuel Thibault
  2018-10-07 18:05 ` [Qemu-devel] [PULL 1/3] slirp: document mbuf pointers and sizes Samuel Thibault
  2018-10-07 18:05 ` [Qemu-devel] [PULL 2/3] slirp: fix ICMP handling on macOS hosts Samuel Thibault
@ 2018-10-07 18:05 ` Samuel Thibault
  2018-10-08 11:39 ` [Qemu-devel] [PULL 0/3] Slirp updates Peter Maydell
  3 siblings, 0 replies; 18+ messages in thread
From: Samuel Thibault @ 2018-10-07 18:05 UTC (permalink / raw)
  To: qemu-devel, peter.maydell
  Cc: Gavin Grant, stefanha, jan.kiszka, Samuel Thibault

From: Gavin Grant <gavingrant@protonmail.com>

Commit 27d92ebc5ed1bb0b518d0ebc4c609182ad20a799 handled the case where the TCP
connection is abruptly closed via a RST packet, by checking for the ECONNRESET
errno. However it does not consider the case where the connection has been
half-closed by the host (FIN/ACK), then the host socket is disconnected. For
example, if the host application calls close() on the socket, then the
application exits.

In this case, the socket still exists due to the file descriptor in SLIRP, but
it is disconnected. recv() does not indicate an error since an orderly socket
close has previously occurred. The socket will then be stuck in FIN_WAIT_2,
until the peer sends FIN/ACK or a timeout occurs. Instead we can send a RST
to the peer and transition to the CLOSED state.

Signed-off-by: Gavin Grant <gavingrant@protonmail.com>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 slirp/socket.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/slirp/socket.c b/slirp/socket.c
index 08fe98907d..322383a1f9 100644
--- a/slirp/socket.c
+++ b/slirp/socket.c
@@ -204,12 +204,19 @@ soread(struct socket *so)
 			return 0;
 		else {
 			int err;
-			socklen_t slen = sizeof err;
+			socklen_t elen = sizeof err;
+			struct sockaddr_storage addr;
+			struct sockaddr *paddr = (struct sockaddr *) &addr;
+			socklen_t alen = sizeof addr;
 
 			err = errno;
 			if (nn == 0) {
-				getsockopt(so->s, SOL_SOCKET, SO_ERROR,
-					   &err, &slen);
+				if (getpeername(so->s, paddr, &alen) < 0) {
+					err = errno;
+				} else {
+					getsockopt(so->s, SOL_SOCKET, SO_ERROR,
+						&err, &elen);
+				}
 			}
 
 			DEBUG_MISC((dfd, " --- soread() disconnected, nn = %d, errno = %d-%s\n", nn, errno,strerror(errno)));
-- 
2.19.0

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

* Re: [Qemu-devel] [PULL 0/3] Slirp updates
  2018-10-07 18:05 [Qemu-devel] [PULL 0/3] Slirp updates Samuel Thibault
                   ` (2 preceding siblings ...)
  2018-10-07 18:05 ` [Qemu-devel] [PULL 3/3] slirp: Propagate host TCP RST packet to the guest after socket disconnected Samuel Thibault
@ 2018-10-08 11:39 ` Peter Maydell
  3 siblings, 0 replies; 18+ messages in thread
From: Peter Maydell @ 2018-10-08 11:39 UTC (permalink / raw)
  To: Samuel Thibault; +Cc: QEMU Developers, Stefan Hajnoczi, Jan Kiszka

On 7 October 2018 at 19:05, Samuel Thibault
<samuel.thibault@ens-lyon.org> wrote:
> The following changes since commit 3c2d3042849686969add641bd38b08b9877b9e8f:
>
>   Merge remote-tracking branch 'remotes/mcayland/tags/qemu-openbios.for-upstream-20181005' into staging (2018-10-05 17:55:22 +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 93a972f8548571d35c718ca3a94d5ab1507b2443:
>
>   slirp: Propagate host TCP RST packet to the guest after socket disconnected (2018-10-07 19:50:48 +0200)
>
> ----------------------------------------------------------------
> slirp updates
>
> Andrew Oates (1):
>   slirp: fix ICMP handling on macOS hosts
>
> Gavin Grant (1):
>   slirp: Propagate host TCP RST packet to the guest after socket
>     disconnected
>
> Peter Maydell (1):
>   slirp: document mbuf pointers and sizes
>

Applied, thanks.

-- PMM

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

* [Qemu-devel] [PULL 0/3] slirp updates
@ 2019-01-26 21:20 Samuel Thibault
  2019-01-27 12:05 ` Samuel Thibault
  0 siblings, 1 reply; 18+ messages in thread
From: Samuel Thibault @ 2019-01-26 21:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: Samuel Thibault, stefanha, jan.kiszka

The following changes since commit ad7a21e81231ae64540310384fb0f87ac8758b02:

  Merge remote-tracking branch 'remotes/ehabkost/tags/python-next-pull-request' into staging (2019-01-25 17:22:20 +0000)

are available in the Git repository at:

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

for you to fetch changes up to 4956f29c43c2105dc37ee9826959b3aa1d3b0b69:

  slirp: Don't mark struct ipq or struct ipasfrag as packed (2019-01-26 22:09:48 +0100)

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

Peter Maydell (2):
  slirp: Avoid marking naturally packed structs as QEMU_PACKED
  slirp: Don't mark struct ipq or struct ipasfrag as packed

Samuel Thibault (1):
  slirp: Avoid unaligned 16bit memory access

----------------------------------------------------------------
Peter Maydell (2):
      slirp: Avoid marking naturally packed structs as QEMU_PACKED
      slirp: Don't mark struct ipq or struct ipasfrag as packed

Samuel Thibault (1):
      slirp: Avoid unaligned 16bit memory access

 slirp/ip.h       |  7 +++++--
 slirp/ip6.h      | 12 ++++++++++--
 slirp/ip6_icmp.h | 20 +++++++++++++++-----
 slirp/slirp.c    |  2 +-
 4 files changed, 31 insertions(+), 10 deletions(-)

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

* Re: [Qemu-devel] [PULL 0/3] slirp updates
  2019-01-26 21:20 [Qemu-devel] [PULL 0/3] slirp updates Samuel Thibault
@ 2019-01-27 12:05 ` Samuel Thibault
  0 siblings, 0 replies; 18+ messages in thread
From: Samuel Thibault @ 2019-01-27 12:05 UTC (permalink / raw)
  To: qemu-devel; +Cc: stefanha, jan.kiszka

This is actually superseded by the complete pull I have just sent.

Samuel

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

end of thread, other threads:[~2019-01-27 12:06 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-07 18:05 [Qemu-devel] [PULL 0/3] Slirp updates Samuel Thibault
2018-10-07 18:05 ` [Qemu-devel] [PULL 1/3] slirp: document mbuf pointers and sizes Samuel Thibault
2018-10-07 18:05 ` [Qemu-devel] [PULL 2/3] slirp: fix ICMP handling on macOS hosts Samuel Thibault
2018-10-07 18:05 ` [Qemu-devel] [PULL 3/3] slirp: Propagate host TCP RST packet to the guest after socket disconnected Samuel Thibault
2018-10-08 11:39 ` [Qemu-devel] [PULL 0/3] Slirp updates Peter Maydell
  -- strict thread matches above, loose matches on Subject: below --
2019-01-26 21:20 [Qemu-devel] [PULL 0/3] slirp updates Samuel Thibault
2019-01-27 12:05 ` Samuel Thibault
2017-09-24 18:08 Samuel Thibault
2017-09-24 18:25 ` no-reply
2017-09-25 22:19 ` Peter Maydell
2017-05-27 21:46 Samuel Thibault
2017-05-27 21:52 ` no-reply
2017-05-30  9:29 ` Stefan Hajnoczi
2017-03-28 22:53 Samuel Thibault
2017-03-29 11:16 ` Stefan Hajnoczi
2017-03-30 15:04   ` Peter Maydell
2017-02-26 14:43 Samuel Thibault
2017-02-26 17:50 ` 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).