qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 59fa06: slirp: Avoid unaligned 16bit memory a


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 59fa06: slirp: Avoid unaligned 16bit memory access
Date: Fri, 08 Feb 2019 02:58:08 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 59fa06ac74c1736dd1270fadde6a0077877bea04
      
https://github.com/qemu/qemu/commit/59fa06ac74c1736dd1270fadde6a0077877bea04
  Author: Samuel Thibault <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M slirp/slirp.c

  Log Message:
  -----------
  slirp: Avoid unaligned 16bit memory access

pkt parameter may be unaligned, so we must access it byte-wise.

This fixes sparc64 host SIGBUS during pxe boot.

Signed-off-by: Samuel Thibault <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>


  Commit: c74e3ae9c83750705abaa583b28741d349364561
      
https://github.com/qemu/qemu/commit/c74e3ae9c83750705abaa583b28741d349364561
  Author: Peter Maydell <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M slirp/ip6.h
    M slirp/ip6_icmp.h

  Log Message:
  -----------
  slirp: Avoid marking naturally packed structs as QEMU_PACKED

Various ipv6 structs in the slirp headers are marked QEMU_PACKED,
but they are actually naturally aligned and will have no padding
in them. Instead of marking them with the 'packed' attribute,
assert at compile time that they are the size we expect. This
allows us to take the address of fields within the structs
without risking undefined behaviour, and suppresses clang
-Waddress-of-packed-member warnings.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: aaa0c642b1de62d5a69b6d4bfdaa91e4b65c5518
      
https://github.com/qemu/qemu/commit/aaa0c642b1de62d5a69b6d4bfdaa91e4b65c5518
  Author: Peter Maydell <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M slirp/ip.h

  Log Message:
  -----------
  slirp: Don't mark struct ipq or struct ipasfrag as packed

There is no reason to mark the struct ipq and struct ipasfrag as
packed: they are naturally aligned anyway, and are not representing
any on-the-wire packet format.  Indeed they vary in size depending on
the size of pointers on the host system, because the 'struct qlink'
members include 'void *' fields.

Dropping the 'packed' annotation fixes clang -Waddress-of-packed-member
warnings and probably lets the compiler generate better code too.

The only thing we do care about in the layout of the struct is
that the frag_link matches up with the ipf_link of the struct
ipasfrag, as documented in the comment on that struct; assert
at build time that this is the case.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 44b4ff248802d957b819ae49c66a29f311078213
      
https://github.com/qemu/qemu/commit/44b4ff248802d957b819ae49c66a29f311078213
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M net/slirp.c
    M slirp/libslirp.h
    M slirp/misc.c
    M slirp/misc.h
    M slirp/slirp.c
    M slirp/socket.h
    M slirp/tcp_subr.c

  Log Message:
  -----------
  slirp: generalize guestfwd with a callback based approach

Instead of calling into QEMU chardev directly, and mixing it with
slirp_add_exec() handling, add a new function slirp_add_guestfwd()
which takes a write callback.

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 3624730a32ff10a4621ba83c459941b5bee5adb1
      
https://github.com/qemu/qemu/commit/3624730a32ff10a4621ba83c459941b5bee5adb1
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M net/slirp.c

  Log Message:
  -----------
  net/slirp: simplify checking for cmd: prefix

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 8d45a3b946b6362ed14c60b81743ca97e44d7869
      
https://github.com/qemu/qemu/commit/8d45a3b946b6362ed14c60b81743ca97e44d7869
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M net/slirp.c

  Log Message:
  -----------
  net/slirp: free forwarding rules on cleanup

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 8e207c327cf89aca02ea4c7e3109d285df048d55
      
https://github.com/qemu/qemu/commit/8e207c327cf89aca02ea4c7e3109d285df048d55
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M net/slirp.c

  Log Message:
  -----------
  net/slirp: fix leaks on forwarding rule registration error

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 07abf6d43ad8845868674c76bdd498b1a868df64
      
https://github.com/qemu/qemu/commit/07abf6d43ad8845868674c76bdd498b1a868df64
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M net/slirp.c
    M slirp/ip6_icmp.c
    M slirp/libslirp.h
    M slirp/slirp.h

  Log Message:
  -----------
  slirp: add callbacks for timer

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 7fce71723bb2c182d17e1f4815feaf823bade5cb
      
https://github.com/qemu/qemu/commit/7fce71723bb2c182d17e1f4815feaf823bade5cb
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M Makefile.objs
    M slirp/debug.h
    M slirp/slirp.c
    M slirp/tftp.c
    R slirp/trace-events

  Log Message:
  -----------
  slirp: replace trace functions with DEBUG calls

Remove a dependency on QEMU. Use the existing logging facilities.
Set SLIRP_DEBUG=tftp to get tftp log.

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 90329416405f6660a6f54592f70850c2917f8148
      
https://github.com/qemu/qemu/commit/90329416405f6660a6f54592f70850c2917f8148
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M slirp/ip.h
    M slirp/ip6_icmp.h
    M slirp/slirp.h
    A slirp/util.h

  Log Message:
  -----------
  slirp: replace QEMU_PACKED with SLIRP_PACKED

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 707bd47ef3cf778b691d9e0df2ede3ec4c3fe771
      
https://github.com/qemu/qemu/commit/707bd47ef3cf778b691d9e0df2ede3ec4c3fe771
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M slirp/Makefile.objs
    M slirp/ip_icmp.c
    M slirp/misc.c
    M slirp/socket.c
    M slirp/tcp_subr.c
    M slirp/udp.c
    A slirp/util.c
    M slirp/util.h

  Log Message:
  -----------
  slirp: replace most qemu socket utilities with slirp own version

qemu_set_nonblock() is slightly more problematic and will be dealt
with in a separate patch.

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 848c7092ba69318e7bc72a9c0c1f6cd443c439ad
      
https://github.com/qemu/qemu/commit/848c7092ba69318e7bc72a9c0c1f6cd443c439ad
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M net/slirp.c
    M slirp/libslirp.h
    M slirp/misc.c
    M slirp/tcp_subr.c
    M slirp/util.c
    M slirp/util.h
    M stubs/Makefile.objs

  Log Message:
  -----------
  slirp: replace qemu_set_nonblock()

Replace qemu_set_nonblock() with slirp_set_nonblock()

qemu_set_nonblock() does some event registration with the main
loop. Add a new callback register_poll_fd() for that reason.

Always build the fd-register stub, to avoid #if WIN32.

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: f6e5aa366fed71e2bf41438334bcbaf18c0f9ac5
      
https://github.com/qemu/qemu/commit/f6e5aa366fed71e2bf41438334bcbaf18c0f9ac5
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M net/slirp.c
    M slirp/ip_icmp.c
    M slirp/libslirp.h
    M slirp/slirp.c
    M slirp/tcp_subr.c
    M slirp/udp.c

  Log Message:
  -----------
  slirp: add unregister_poll_fd() callback

Add a counter-part to register_poll_fd() for completeness.

(so far, register_poll_fd() is called only on struct socket fd)

Suggested-by: Paolo Bonzini <address@hidden>
Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: c21d959440c5be6b456ca8780c2450ffd39fab99
      
https://github.com/qemu/qemu/commit/c21d959440c5be6b456ca8780c2450ffd39fab99
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M net/slirp.c
    M slirp/libslirp.h
    M slirp/sbuf.c
    M slirp/sbuf.h
    M slirp/socket.c
    M slirp/socket.h
    M slirp/tcp_input.c

  Log Message:
  -----------
  slirp: replace qemu_notify_event() with a callback

Introduce a SlirpCb callback to kick the main io-thread.

Add an intermediary sodrop() function that will call SlirpCb.notify
callback when sbdrop() returns true.

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 268c95d7716be03a254b5e3ea27a76a7149a7719
      
https://github.com/qemu/qemu/commit/268c95d7716be03a254b5e3ea27a76a7149a7719
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M slirp/Makefile.objs
    M slirp/slirp.c
    M slirp/slirp.h
    A slirp/state.c
    A slirp/state.h

  Log Message:
  -----------
  slirp: move QEMU state saving to a separate unit

Make state saving optional: this will allow to build SLIRP without
QEMU. (eventually, the vmstate helpers will be extracted, so an
external project & process could save its state)

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 35ee75f343b3deffa084ab2f2f61185d1bb88471
      
https://github.com/qemu/qemu/commit/35ee75f343b3deffa084ab2f2f61185d1bb88471
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M slirp/libslirp.h

  Log Message:
  -----------
  slirp: do not include qemu headers in libslirp.h public API header

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: ba1be965311c8a63e809a2a93d1a2a9395ddd138
      
https://github.com/qemu/qemu/commit/ba1be965311c8a63e809a2a93d1a2a9395ddd138
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M slirp/slirp.h

  Log Message:
  -----------
  slirp: improve windows headers inclusion

Our API usage requires Vista, set WIN32_LEAN_AND_MEAN to fix a number
of issues (winsock2.h include order for ex, which is better to include
first for legacy reasons).

While at it, group redundants #ifndef _WIN32 blocks.

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: d1c4b3e97db42abc83921deabd26cc87bfef1af5
      
https://github.com/qemu/qemu/commit/d1c4b3e97db42abc83921deabd26cc87bfef1af5
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M slirp/slirp.c
    M slirp/tftp.c
    M slirp/util.c
    M slirp/util.h

  Log Message:
  -----------
  slirp: add slirp own version of pstrcpy

Remove a dependency on qemu util.

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 759c5a6ab515d5d8c008a6ad996778cd1abdcdd7
      
https://github.com/qemu/qemu/commit/759c5a6ab515d5d8c008a6ad996778cd1abdcdd7
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M slirp/if.c
    M slirp/ip6_icmp.c
    M slirp/slirp.c
    M slirp/util.h

  Log Message:
  -----------
  slirp: remove qemu timer.h dependency

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: e44203db9d076d5c8d92f2088d9b83ecf1858b55
      
https://github.com/qemu/qemu/commit/e44203db9d076d5c8d92f2088d9b83ecf1858b55
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M slirp/dhcpv6.c
    M slirp/ip6_icmp.c
    M slirp/misc.c
    M slirp/sbuf.c
    M slirp/slirp.c
    M slirp/slirp.h
    M slirp/tftp.c
    M slirp/util.h

  Log Message:
  -----------
  slirp: remove now useless QEMU headers inclusions

Some of those could have been squashed earlier, but it is easier to do
it all here.

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: samuel Thibault <address@hidden>


  Commit: c1c5c0ff9eafc7f7f42be91ed767fdde9f667712
      
https://github.com/qemu/qemu/commit/c1c5c0ff9eafc7f7f42be91ed767fdde9f667712
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M slirp/ip6.h
    M slirp/slirp.h
    M slirp/util.h

  Log Message:
  -----------
  slirp: replace net/eth.h inclusion with own defines

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 918f38d037dab5cec54c8d57267a9e37db207ea0
      
https://github.com/qemu/qemu/commit/918f38d037dab5cec54c8d57267a9e37db207ea0
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    A slirp/qtailq.h
    M slirp/slirp.h

  Log Message:
  -----------
  slirp: replace qemu qtailq with slirp own copy

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 85a0e43c45f248e864cbf5fe0c95a8eb105e10ec
      
https://github.com/qemu/qemu/commit/85a0e43c45f248e864cbf5fe0c95a8eb105e10ec
  Author: Samuel Thibault <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M slirp/ip.h
    M slirp/ip6.h
    M slirp/ip6_icmp.h

  Log Message:
  -----------
  slirp: replace QEMU_BUILD_BUG_ON with G_STATIC_ASSERT

to remove another dependency on qemu.

Signed-off-by: Samuel Thibault <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Stefano Garzarella <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>


  Commit: 4ffa6325d16a5a520f330aa0b8f0d753f6704d9b
      
https://github.com/qemu/qemu/commit/4ffa6325d16a5a520f330aa0b8f0d753f6704d9b
  Author: Samuel Thibault <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M include/glib-compat.h
    M slirp/misc.c

  Log Message:
  -----------
  slirp: Move g_spawn_async_with_fds_qemu compatibility to slirp/

Only slirp actually needs it, and will need it along in libslirp.

Signed-off-by: Samuel Thibault <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>


  Commit: a9d8b3ec4385793815d7121785730422fa3dfb68
      
https://github.com/qemu/qemu/commit/a9d8b3ec4385793815d7121785730422fa3dfb68
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M slirp/arp_table.c
    M slirp/bootp.c
    M slirp/cksum.c
    M slirp/dhcpv6.c
    M slirp/dnssearch.c
    M slirp/if.c
    M slirp/ip6.h
    M slirp/ip6_icmp.c
    M slirp/ip6_input.c
    M slirp/ip6_output.c
    M slirp/ip_icmp.c
    M slirp/ip_input.c
    M slirp/ip_output.c
    M slirp/mbuf.c
    M slirp/misc.c
    M slirp/ncsi.c
    M slirp/ndp_table.c
    M slirp/sbuf.c
    M slirp/slirp.c
    M slirp/socket.c
    M slirp/tcp_input.c
    M slirp/tcp_output.c
    M slirp/tcp_subr.c
    M slirp/tcp_timer.c
    M slirp/tftp.c
    M slirp/udp.c
    M slirp/udp6.c
    M slirp/util.h

  Log Message:
  -----------
  slirp: replace remaining qemu headers dependency

Except for the migration code which is gated by WITH_QEMU, only
include our own headers, so libslirp can be built standalone.

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: d7df0b41dc38327388c3f19fdf4246793d4a1e4b
      
https://github.com/qemu/qemu/commit/d7df0b41dc38327388c3f19fdf4246793d4a1e4b
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M slirp/ip_icmp.c
    M slirp/ip_icmp.h
    M slirp/ip_input.c
    M slirp/main.h
    M slirp/mbuf.h
    M slirp/slirp.c
    M slirp/slirp.h
    M slirp/socket.c
    M slirp/socket.h
    M slirp/tcp_input.c
    M slirp/tcp_output.c
    M slirp/tcp_subr.c
    M slirp/tcp_timer.c
    M slirp/tcp_var.h
    M slirp/udp.c
    M slirp/udp.h
    M util/osdep.c

  Log Message:
  -----------
  slirp: prefer c99 types over BSD kind

Replace:
- u_char -> uint8_t
- u_short -> uint16_t
- u_long -> uint32_t
- u_int -> unsigned
- caddr_t -> char *

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 625a526b3298ce593983923b4d10fa582555f26d
      
https://github.com/qemu/qemu/commit/625a526b3298ce593983923b4d10fa582555f26d
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M include/net/net.h
    M net/net.c
    M net/slirp.c
    M slirp/libslirp.h
    M slirp/ncsi.c
    M slirp/slirp.c
    M slirp/slirp.h

  Log Message:
  -----------
  slirp: improve send_packet() callback

Use a more descriptive name for the callback.

Reuse the SlirpWriteCb type. Wrap it to check that all data has been written.

Return a ssize_t for potential error handling and data-loss reporting.

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 1ab67b98cdd78b94ce818a7d0a964e3e4d7a4538
      
https://github.com/qemu/qemu/commit/1ab67b98cdd78b94ce818a7d0a964e3e4d7a4538
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M include/qemu/main-loop.h
    M net/slirp.c
    M slirp/libslirp.h
    M slirp/slirp.c
    M stubs/Makefile.objs
    R stubs/slirp.c
    M util/main-loop.c

  Log Message:
  -----------
  slirp: replace global polling with per-instance & notifier

Remove hard-coded dependency on slirp in main-loop, and use a "poll"
notifier instead. The notifier is registered per slirp instance.

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 6e513a78ea48af788c8b4302fc11b2994d650e5f
      
https://github.com/qemu/qemu/commit/6e513a78ea48af788c8b4302fc11b2994d650e5f
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M slirp/slirp.c

  Log Message:
  -----------
  slirp: remove slirp_instances list

Now that polling is done per-instance, we don't need a global list of
slirp instances.

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: deaeb3f71d1fdf199d5b949e8575303486e3dec8
      
https://github.com/qemu/qemu/commit/deaeb3f71d1fdf199d5b949e8575303486e3dec8
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M net/slirp.c
    M slirp/libslirp.h
    M slirp/slirp.c

  Log Message:
  -----------
  slirp: use polling callbacks, drop glib requirement

It would be legitimate to use libslirp without glib. Let's
add_poll/get_revents pair of callbacks to provide the same
functionality.

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: 3e0fad3aa5f9f36566ac2815a54288d214e58689
      
https://github.com/qemu/qemu/commit/3e0fad3aa5f9f36566ac2815a54288d214e58689
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M net/slirp.c
    M slirp/dhcpv6.c
    M slirp/if.c
    M slirp/ip6_icmp.c
    M slirp/ip_icmp.c
    M slirp/libslirp.h
    M slirp/misc.c
    M slirp/slirp.c
    M slirp/socket.c
    M slirp/tcp_subr.c
    M slirp/udp.c

  Log Message:
  -----------
  slirp: pass opaque to all callbacks

This is friendlier for FFI bindings.

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: ee261c02332ea856352f250b295a8ecd1eeb748e
      
https://github.com/qemu/qemu/commit/ee261c02332ea856352f250b295a8ecd1eeb748e
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M slirp/libslirp.h

  Log Message:
  -----------
  slirp: API is extern C

Make it possible to use headers easily with C++ projects.

Signed-off-by: Marc-André Lureau <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>


  Commit: e47f81b617684c4546af286d307b69014a83538a
      
https://github.com/qemu/qemu/commit/e47f81b617684c4546af286d307b69014a83538a
  Author: Peter Maydell <address@hidden>
  Date:   2019-02-07 (Thu, 07 Feb 2019)

  Changed paths:
    M Makefile.objs
    M include/glib-compat.h
    M include/net/net.h
    M include/qemu/main-loop.h
    M net/net.c
    M net/slirp.c
    M slirp/Makefile.objs
    M slirp/arp_table.c
    M slirp/bootp.c
    M slirp/cksum.c
    M slirp/debug.h
    M slirp/dhcpv6.c
    M slirp/dnssearch.c
    M slirp/if.c
    M slirp/ip.h
    M slirp/ip6.h
    M slirp/ip6_icmp.c
    M slirp/ip6_icmp.h
    M slirp/ip6_input.c
    M slirp/ip6_output.c
    M slirp/ip_icmp.c
    M slirp/ip_icmp.h
    M slirp/ip_input.c
    M slirp/ip_output.c
    M slirp/libslirp.h
    M slirp/main.h
    M slirp/mbuf.c
    M slirp/mbuf.h
    M slirp/misc.c
    M slirp/misc.h
    M slirp/ncsi.c
    M slirp/ndp_table.c
    A slirp/qtailq.h
    M slirp/sbuf.c
    M slirp/sbuf.h
    M slirp/slirp.c
    M slirp/slirp.h
    M slirp/socket.c
    M slirp/socket.h
    A slirp/state.c
    A slirp/state.h
    M slirp/tcp_input.c
    M slirp/tcp_output.c
    M slirp/tcp_subr.c
    M slirp/tcp_timer.c
    M slirp/tcp_var.h
    M slirp/tftp.c
    R slirp/trace-events
    M slirp/udp.c
    M slirp/udp.h
    M slirp/udp6.c
    A slirp/util.c
    A slirp/util.h
    M stubs/Makefile.objs
    R stubs/slirp.c
    M util/main-loop.c
    M util/osdep.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into 
staging

More work towards libslirp

Marc-André Lureau (27):
  slirp: generalize guestfwd with a callback based approach
  net/slirp: simplify checking for cmd: prefix
  net/slirp: free forwarding rules on cleanup
  net/slirp: fix leaks on forwarding rule registration error
  slirp: add callbacks for timer
  slirp: replace trace functions with DEBUG calls
  slirp: replace QEMU_PACKED with SLIRP_PACKED
  slirp: replace most qemu socket utilities with slirp own version
  slirp: replace qemu_set_nonblock()
  slirp: add unregister_poll_fd() callback
  slirp: replace qemu_notify_event() with a callback
  slirp: move QEMU state saving to a separate unit
  slirp: do not include qemu headers in libslirp.h public API header
  slirp: improve windows headers inclusion
  slirp: add slirp own version of pstrcpy
  slirp: remove qemu timer.h dependency
  slirp: remove now useless QEMU headers inclusions
  slirp: replace net/eth.h inclusion with own defines
  slirp: replace qemu qtailq with slirp own copy
  slirp: replace remaining qemu headers dependency
  slirp: prefer c99 types over BSD kind
  slirp: improve send_packet() callback
  slirp: replace global polling with per-instance & notifier
  slirp: remove slirp_instances list
  slirp: use polling callbacks, drop glib requirement
  slirp: pass opaque to all callbacks
  slirp: API is extern C

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 (3):
  slirp: Avoid unaligned 16bit memory access
  slirp: replace QEMU_BUILD_BUG_ON with G_STATIC_ASSERT
  slirp: Move g_spawn_async_with_fds_qemu compatibility to slirp/

# gpg: Signature made Thu 07 Feb 2019 14:02:41 GMT
# gpg:                using RSA key E61DBB15D4172BDEC97E92D9DB550E89F0FA54F3
# gpg: Good signature from "Samuel Thibault <address@hidden>" [unknown]
# gpg:                 aka "Samuel Thibault <address@hidden>" [marginal]
# gpg:                 aka "Samuel Thibault <address@hidden>" [unknown]
# gpg:                 aka "Samuel Thibault <address@hidden>" [marginal]
# gpg:                 aka "Samuel Thibault <address@hidden>" [marginal]
# gpg:                 aka "Samuel Thibault <address@hidden>" [marginal]
# gpg:                 aka "Samuel Thibault <address@hidden>" [unknown]
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 900C B024 B679 31D4 0F82  304B D017 8C76 7D06 9EE6
#      Subkey fingerprint: E61D BB15 D417 2BDE C97E  92D9 DB55 0E89 F0FA 54F3

* remotes/thibault/tags/samuel-thibault: (32 commits)
  slirp: API is extern C
  slirp: pass opaque to all callbacks
  slirp: use polling callbacks, drop glib requirement
  slirp: remove slirp_instances list
  slirp: replace global polling with per-instance & notifier
  slirp: improve send_packet() callback
  slirp: prefer c99 types over BSD kind
  slirp: replace remaining qemu headers dependency
  slirp: Move g_spawn_async_with_fds_qemu compatibility to slirp/
  slirp: replace QEMU_BUILD_BUG_ON with G_STATIC_ASSERT
  slirp: replace qemu qtailq with slirp own copy
  slirp: replace net/eth.h inclusion with own defines
  slirp: remove now useless QEMU headers inclusions
  slirp: remove qemu timer.h dependency
  slirp: add slirp own version of pstrcpy
  slirp: improve windows headers inclusion
  slirp: do not include qemu headers in libslirp.h public API header
  slirp: move QEMU state saving to a separate unit
  slirp: replace qemu_notify_event() with a callback
  slirp: add unregister_poll_fd() callback
  ...

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/ff372bb5c469...e47f81b61768



reply via email to

[Prev in Thread] Current Thread [Next in Thread]