Revision tags: v8.2.3, v7.2.11, v9.0.0, v9.0.0-rc4, v9.0.0-rc3, v9.0.0-rc2, v9.0.0-rc1, v9.0.0-rc0, v8.2.2, v7.2.10, v8.2.1, v8.1.5, v7.2.9, v8.1.4, v7.2.8, v8.2.0, v8.2.0-rc4, v8.2.0-rc3, v8.2.0-rc2, v8.2.0-rc1, v7.2.7, v8.1.3, v8.2.0-rc0, v8.1.2, v8.1.1, v7.2.6, v8.0.5, v8.1.0, v8.1.0-rc4, v8.1.0-rc3, v7.2.5, v8.0.4, v8.1.0-rc2, v8.1.0-rc1, v8.1.0-rc0, v8.0.3, v7.2.4, v8.0.2, v8.0.1, v7.2.3, v7.2.2, v8.0.0, v8.0.0-rc4, v8.0.0-rc3, v7.2.1, v8.0.0-rc2, v8.0.0-rc1, v8.0.0-rc0, v7.2.0, v7.2.0-rc4, v7.2.0-rc3, v7.2.0-rc2, v7.2.0-rc1, v7.2.0-rc0, v7.1.0, v7.1.0-rc4, v7.1.0-rc3, v7.1.0-rc2, v7.1.0-rc1, v7.1.0-rc0, v7.0.0, v7.0.0-rc4, v7.0.0-rc3, v7.0.0-rc2, v7.0.0-rc1, v7.0.0-rc0, v6.1.1, v6.2.0, v6.2.0-rc4, v6.2.0-rc3, v6.2.0-rc2, v6.2.0-rc1, v6.2.0-rc0, v6.0.1 |
|
#
03555199 |
| 25-Sep-2021 |
Nicholas Ngai <nicholas@ngai.me> |
net/slirp: Use newer slirp_*_hostxfwd API
libslirp provides a newer slirp_*_hostxfwd API meant for address-agnostic forwarding instead of the is_udp parameter which is limited to just TCP/UDP.
This
net/slirp: Use newer slirp_*_hostxfwd API
libslirp provides a newer slirp_*_hostxfwd API meant for address-agnostic forwarding instead of the is_udp parameter which is limited to just TCP/UDP.
This paves the way for IPv6 and Unix socket support.
Signed-off-by: Nicholas Ngai <nicholas@ngai.me> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Tested-by: Breno Leitao <leitao@debian.org> Message-Id: <20210925214820.18078-1-nicholas@ngai.me>
show more ...
|
Revision tags: v8.2.3, v7.2.11, v9.0.0, v9.0.0-rc4, v9.0.0-rc3, v9.0.0-rc2, v9.0.0-rc1, v9.0.0-rc0, v8.2.2, v7.2.10, v8.2.1, v8.1.5, v7.2.9, v8.1.4, v7.2.8, v8.2.0, v8.2.0-rc4, v8.2.0-rc3, v8.2.0-rc2, v8.2.0-rc1, v7.2.7, v8.1.3, v8.2.0-rc0, v8.1.2, v8.1.1, v7.2.6, v8.0.5, v8.1.0, v8.1.0-rc4, v8.1.0-rc3, v7.2.5, v8.0.4, v8.1.0-rc2, v8.1.0-rc1, v8.1.0-rc0, v8.0.3, v7.2.4, v8.0.2, v8.0.1, v7.2.3, v7.2.2, v8.0.0, v8.0.0-rc4, v8.0.0-rc3, v7.2.1, v8.0.0-rc2, v8.0.0-rc1, v8.0.0-rc0, v7.2.0, v7.2.0-rc4, v7.2.0-rc3, v7.2.0-rc2, v7.2.0-rc1, v7.2.0-rc0, v7.1.0, v7.1.0-rc4, v7.1.0-rc3, v7.1.0-rc2, v7.1.0-rc1, v7.1.0-rc0, v7.0.0, v7.0.0-rc4, v7.0.0-rc3, v7.0.0-rc2, v7.0.0-rc1, v7.0.0-rc0, v6.1.1, v6.2.0, v6.2.0-rc4, v6.2.0-rc3, v6.2.0-rc2, v6.2.0-rc1, v6.2.0-rc0, v6.0.1 |
|
#
03555199 |
| 25-Sep-2021 |
Nicholas Ngai <nicholas@ngai.me> |
net/slirp: Use newer slirp_*_hostxfwd API
libslirp provides a newer slirp_*_hostxfwd API meant for address-agnostic forwarding instead of the is_udp parameter which is limited to just TCP/UDP.
This
net/slirp: Use newer slirp_*_hostxfwd API
libslirp provides a newer slirp_*_hostxfwd API meant for address-agnostic forwarding instead of the is_udp parameter which is limited to just TCP/UDP.
This paves the way for IPv6 and Unix socket support.
Signed-off-by: Nicholas Ngai <nicholas@ngai.me> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Tested-by: Breno Leitao <leitao@debian.org> Message-Id: <20210925214820.18078-1-nicholas@ngai.me>
show more ...
|
#
b23db4cd |
| 20-Oct-2023 |
Juan Quintela <quintela@redhat.com> |
migration: Use VMSTATE_INSTANCE_ID_ANY for slirp
Each user network conection create a new slirp instance. We register more than one slirp instance for number 0.
qemu-system-x86_64: -netdev user,id
migration: Use VMSTATE_INSTANCE_ID_ANY for slirp
Each user network conection create a new slirp instance. We register more than one slirp instance for number 0.
qemu-system-x86_64: -netdev user,id=hs1: savevm_state_handler_insert: Detected duplicate SaveStateEntry: id=slirp, instance_id=0x0 Broken pipe ../../../../../mnt/code/qemu/full/tests/qtest/libqtest.c:195: kill_qemu() tried to terminate QEMU process but encountered exit status 1 (expected 0) Aborted (core dumped)
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: Juan Quintela <quintela@redhat.com> Message-ID: <20231020090731.28701-6-quintela@redhat.com>
show more ...
|
#
b23db4cd |
| 20-Oct-2023 |
Juan Quintela <quintela@redhat.com> |
migration: Use VMSTATE_INSTANCE_ID_ANY for slirp
Each user network conection create a new slirp instance. We register more than one slirp instance for number 0.
qemu-system-x86_64: -netdev user,id
migration: Use VMSTATE_INSTANCE_ID_ANY for slirp
Each user network conection create a new slirp instance. We register more than one slirp instance for number 0.
qemu-system-x86_64: -netdev user,id=hs1: savevm_state_handler_insert: Detected duplicate SaveStateEntry: id=slirp, instance_id=0x0 Broken pipe ../../../../../mnt/code/qemu/full/tests/qtest/libqtest.c:195: kill_qemu() tried to terminate QEMU process but encountered exit status 1 (expected 0) Aborted (core dumped)
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: Juan Quintela <quintela@redhat.com> Message-ID: <20231020090731.28701-6-quintela@redhat.com>
show more ...
|
#
b23db4cd |
| 20-Oct-2023 |
Juan Quintela <quintela@redhat.com> |
migration: Use VMSTATE_INSTANCE_ID_ANY for slirp
Each user network conection create a new slirp instance. We register more than one slirp instance for number 0.
qemu-system-x86_64: -netdev user,id
migration: Use VMSTATE_INSTANCE_ID_ANY for slirp
Each user network conection create a new slirp instance. We register more than one slirp instance for number 0.
qemu-system-x86_64: -netdev user,id=hs1: savevm_state_handler_insert: Detected duplicate SaveStateEntry: id=slirp, instance_id=0x0 Broken pipe ../../../../../mnt/code/qemu/full/tests/qtest/libqtest.c:195: kill_qemu() tried to terminate QEMU process but encountered exit status 1 (expected 0) Aborted (core dumped)
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: Juan Quintela <quintela@redhat.com> Message-ID: <20231020090731.28701-6-quintela@redhat.com>
show more ...
|
#
fd3c3333 |
| 21-Feb-2023 |
Marc-André Lureau <marcandre.lureau@redhat.com> |
slirp: open-code qemu_socket_(un)select()
We are about to make the QEMU socket API use file-descriptor space only, but libslirp gives us SOCKET as fd, still.
Signed-off-by: Marc-André Lureau <marca
slirp: open-code qemu_socket_(un)select()
We are about to make the QEMU socket API use file-descriptor space only, but libslirp gives us SOCKET as fd, still.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Stefan Berger <stefanb@linux.ibm.com> Message-Id: <20230221124802.4103554-14-marcandre.lureau@redhat.com>
show more ...
|
#
21ac7284 |
| 21-Feb-2023 |
Marc-André Lureau <marcandre.lureau@redhat.com> |
slirp: unregister the win32 SOCKET
Presumably, this is what should happen when the SOCKET is to be removed. (it probably worked until now because closesocket() does it implicitly, but we never now h
slirp: unregister the win32 SOCKET
Presumably, this is what should happen when the SOCKET is to be removed. (it probably worked until now because closesocket() does it implicitly, but we never now how the slirp library could use the SOCKET later)
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Stefan Berger <stefanb@linux.ibm.com> Message-Id: <20230221124802.4103554-13-marcandre.lureau@redhat.com>
show more ...
|
#
faa4ec16 |
| 21-Feb-2023 |
Marc-André Lureau <marcandre.lureau@redhat.com> |
main-loop: remove qemu_fd_register(), win32/slirp/socket specific
Open-code the socket registration where it's needed, to avoid artificially used or unclear generic interface.
Furthermore, the foll
main-loop: remove qemu_fd_register(), win32/slirp/socket specific
Open-code the socket registration where it's needed, to avoid artificially used or unclear generic interface.
Furthermore, the following patches are going to make socket handling use FD-only inside QEMU, but we need to handle win32 SOCKET from libslirp.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Stefan Berger <stefanb@linux.ibm.com> Message-Id: <20230221124802.4103554-12-marcandre.lureau@redhat.com>
show more ...
|
#
7480874a |
| 04-Nov-2022 |
Markus Armbruster <armbru@redhat.com> |
qapi net: Elide redundant has_FOO in generated C
The has_FOO for pointer-valued FOO are redundant, except for arrays. They are also a nuisance to work with. Recent commit "qapi: Start to elide redu
qapi net: Elide redundant has_FOO in generated C
The has_FOO for pointer-valued FOO are redundant, except for arrays. They are also a nuisance to work with. Recent commit "qapi: Start to elide redundant has_FOO in generated C" provided the means to elide them step by step. This is the step for qapi/net.json.
Said commit explains the transformation in more detail. The invariant violations mentioned there do not occur here.
Cc: Jason Wang <jasowang@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20221104160712.3005652-19-armbru@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> [Fixes for MacOS squashed in]
show more ...
|
#
53b85d95 |
| 21-Oct-2022 |
Laurent Vivier <lvivier@redhat.com> |
net: introduce qemu_set_info_str() function
Embed the setting of info_str in a function.
Signed-off-by: Laurent Vivier <lvivier@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> A
net: introduce qemu_set_info_str() function
Embed the setting of info_str in a function.
Signed-off-by: Laurent Vivier <lvivier@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Acked-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Jason Wang <jasowang@redhat.com>
show more ...
|
#
6222e55d |
| 11-Apr-2022 |
Paolo Bonzini <pbonzini@redhat.com> |
net: slirp: add support for CFI-friendly timer API
libslirp 4.7 introduces a CFI-friendly version of the .timer_new callback. The new callback replaces the function pointer with an enum; invoking th
net: slirp: add support for CFI-friendly timer API
libslirp 4.7 introduces a CFI-friendly version of the .timer_new callback. The new callback replaces the function pointer with an enum; invoking the callback is done with a new function slirp_handle_timer.
Support the new API so that CFI can be made compatible with using a system libslirp.
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Reviewed-by: Marc-André Lureau <malureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
bce63ded |
| 11-Apr-2022 |
Paolo Bonzini <pbonzini@redhat.com> |
net: slirp: switch to slirp_new
Replace slirp_init with slirp_new, so that a more recent cfg.version can be specified. The function appeared in version 4.1.0.
Signed-off-by: Paolo Bonzini <pbonzin
net: slirp: switch to slirp_new
Replace slirp_init with slirp_new, so that a more recent cfg.version can be specified. The function appeared in version 4.1.0.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
ad2e5b87 |
| 11-Apr-2022 |
Paolo Bonzini <pbonzini@redhat.com> |
net: slirp: introduce a wrapper struct for QemuTimer
This struct will be extended in the next few patches to support the new slirp_handle_timer() call. For that we need to store an additional "int"
net: slirp: introduce a wrapper struct for QemuTimer
This struct will be extended in the next few patches to support the new slirp_handle_timer() call. For that we need to store an additional "int" for each SLIRP timer, in addition to the cb_opaque.
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Reviewed-by: Marc-André Lureau <malureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
6222e55d |
| 11-Apr-2022 |
Paolo Bonzini <pbonzini@redhat.com> |
net: slirp: add support for CFI-friendly timer API
libslirp 4.7 introduces a CFI-friendly version of the .timer_new callback. The new callback replaces the function pointer with an enum; invoking th
net: slirp: add support for CFI-friendly timer API
libslirp 4.7 introduces a CFI-friendly version of the .timer_new callback. The new callback replaces the function pointer with an enum; invoking the callback is done with a new function slirp_handle_timer.
Support the new API so that CFI can be made compatible with using a system libslirp.
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Reviewed-by: Marc-André Lureau <malureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
bce63ded |
| 11-Apr-2022 |
Paolo Bonzini <pbonzini@redhat.com> |
net: slirp: switch to slirp_new
Replace slirp_init with slirp_new, so that a more recent cfg.version can be specified. The function appeared in version 4.1.0.
Signed-off-by: Paolo Bonzini <pbonzin
net: slirp: switch to slirp_new
Replace slirp_init with slirp_new, so that a more recent cfg.version can be specified. The function appeared in version 4.1.0.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
ad2e5b87 |
| 11-Apr-2022 |
Paolo Bonzini <pbonzini@redhat.com> |
net: slirp: introduce a wrapper struct for QemuTimer
This struct will be extended in the next few patches to support the new slirp_handle_timer() call. For that we need to store an additional "int"
net: slirp: introduce a wrapper struct for QemuTimer
This struct will be extended in the next few patches to support the new slirp_handle_timer() call. For that we need to store an additional "int" for each SLIRP timer, in addition to the cb_opaque.
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Reviewed-by: Marc-André Lureau <malureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
35acbb30 |
| 13-Oct-2021 |
Paolo Bonzini <pbonzini@redhat.com> |
configure, meson: move smbd options to meson_options.txt
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
Revision tags: v6.1.0, v6.1.0-rc4, v6.1.0-rc3, v6.1.0-rc2, v6.1.0-rc1, v6.1.0-rc0, v6.0.0, v6.0.0-rc5, v6.0.0-rc4, v6.0.0-rc3, v6.0.0-rc2, v6.0.0-rc1, v6.0.0-rc0 |
|
#
b8e0c493 |
| 15-Mar-2021 |
Joelle van Dyne <j@getutm.app> |
slirp: add configure option to disable smbd
Replace Windows specific macro with a more generic feature detection macro. Allows slirp smb feature to be disabled manually as well.
Acked-by: Samuel Th
slirp: add configure option to disable smbd
Replace Windows specific macro with a more generic feature detection macro. Allows slirp smb feature to be disabled manually as well.
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Joelle van Dyne <j@getutm.app> Message-Id: <20210315180341.31638-5-j@getutm.app> [Use $default_feature as the default. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
bc38e31b |
| 23-Apr-2021 |
Jason Wang <jasowang@redhat.com> |
net: check the existence of peer before trying to pad
There could be case that peer is NULL. This can happen when during network device hot-add where net device needs to be added first. So the patch
net: check the existence of peer before trying to pad
There could be case that peer is NULL. This can happen when during network device hot-add where net device needs to be added first. So the patch check the existence of peer before trying to do the pad.
Fixes: 969e50b61a285 ("net: Pad short frames to minimum size before sending from SLiRP/TAP") Signed-off-by: Jason Wang <jasowang@redhat.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Stefan Weil <sw@weilnetz.de> Message-id: 20210423031803.1479-1-jasowang@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
f9bb0c1f |
| 02-Apr-2021 |
Jason Wang <jasowang@redhat.com> |
Revert "qapi: net: Add query-netdev command"
Several issues has been reported for query-netdev series. Consider it's late in the rc, this reverts commit d32ad10a14d46dfe9304e3ed5858a11dcd5c71a0.
Si
Revert "qapi: net: Add query-netdev command"
Several issues has been reported for query-netdev series. Consider it's late in the rc, this reverts commit d32ad10a14d46dfe9304e3ed5858a11dcd5c71a0.
Signed-off-by: Jason Wang <jasowang@redhat.com>
show more ...
|
#
56e6f594 |
| 02-Apr-2021 |
Jason Wang <jasowang@redhat.com> |
Revert "net: Move NetClientState.info_str to dynamic allocations"
Several issues has been reported for query-netdev info series. Consider it's late in the rc, this reverts commit commit 59b5437eb732
Revert "net: Move NetClientState.info_str to dynamic allocations"
Several issues has been reported for query-netdev info series. Consider it's late in the rc, this reverts commit commit 59b5437eb732d6b103a9bc279c3482c834d1eff9.
Signed-off-by: Jason Wang <jasowang@redhat.com>
show more ...
|
#
d89b4f83 |
| 02-Apr-2021 |
Jason Wang <jasowang@redhat.com> |
Revert "net: Do not fill legacy info_str for backends"
Several issues has been reported for query-netdev info series. Consider it's late in the rc, this reverts commit f2e8319d456724c3d8514d943dc460
Revert "net: Do not fill legacy info_str for backends"
Several issues has been reported for query-netdev info series. Consider it's late in the rc, this reverts commit f2e8319d456724c3d8514d943dc4607e2f08e88a.
Signed-off-by: Jason Wang <jasowang@redhat.com>
show more ...
|
#
969e50b6 |
| 17-Mar-2021 |
Bin Meng <bmeng.cn@gmail.com> |
net: Pad short frames to minimum size before sending from SLiRP/TAP
The minimum Ethernet frame length is 60 bytes. For short frames with smaller length like ARP packets (only 42 bytes), on a real wo
net: Pad short frames to minimum size before sending from SLiRP/TAP
The minimum Ethernet frame length is 60 bytes. For short frames with smaller length like ARP packets (only 42 bytes), on a real world NIC it can choose either padding its length to the minimum required 60 bytes, or sending it out directly to the wire. Such behavior can be hardcoded or controled by a register bit. Similarly on the receive path, NICs can choose either dropping such short frames directly or handing them over to software to handle.
On the other hand, for the network backends like SLiRP/TAP, they don't expose a way to control the short frame behavior. As of today they just send/receive data from/to the other end connected to them, which means any sized packet is acceptable. So they can send and receive short frames without any problem. It is observed that ARP packets sent from SLiRP/TAP are 42 bytes, and SLiRP/TAP just send these ARP packets to the other end which might be a NIC model that does not allow short frames to pass through.
To provide better compatibility, for packets sent from QEMU network backends like SLiRP/TAP, we change to pad short frames before sending it out to the other end, if the other end does not forbid it via the nc->do_not_pad flag. This ensures a backend as an Ethernet sender does not violate the spec. But with this change, the behavior of dropping short frames from SLiRP/TAP interfaces in the NIC model cannot be emulated because it always receives a packet that is spec complaint. The capability of sending short frames from NIC models is still supported and short frames can still pass through SLiRP/TAP.
This commit should be able to fix the issue as reported with some NIC models before, that ARP requests get dropped, preventing the guest from becoming visible on the network. It was workarounded in these NIC models on the receive path, that when a short frame is received, it is padded up to 60 bytes.
The following 2 commits seem to be the one to workaround this issue in e1000 and vmxenet3 before, and should probably be reverted.
commit 78aeb23eded2 ("e1000: Pad short frames to minimum size (60 bytes)") commit 40a87c6c9b11 ("vmxnet3: Pad short frames to minimum size (60 bytes)")
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
show more ...
|
#
f2e8319d |
| 03-Mar-2021 |
Alexey Kirillov <lekiravi@yandex-team.ru> |
net: Do not fill legacy info_str for backends
As we use QAPI NetClientState->stored_config to store and get information about backend network devices, we can drop fill of legacy field info_str for t
net: Do not fill legacy info_str for backends
As we use QAPI NetClientState->stored_config to store and get information about backend network devices, we can drop fill of legacy field info_str for them.
We still use info_str field for NIC and hubports, so we can not completely remove it.
Signed-off-by: Alexey Kirillov <lekiravi@yandex-team.ru> Signed-off-by: Jason Wang <jasowang@redhat.com>
show more ...
|
#
59b5437e |
| 03-Mar-2021 |
Alexey Kirillov <lekiravi@yandex-team.ru> |
net: Move NetClientState.info_str to dynamic allocations
The info_str field of the NetClientState structure is static and has a size of 256 bytes. This amount is often unclaimed, and the field itsel
net: Move NetClientState.info_str to dynamic allocations
The info_str field of the NetClientState structure is static and has a size of 256 bytes. This amount is often unclaimed, and the field itself is used exclusively for HMP "info network".
The patch translates info_str to dynamic memory allocation.
This action is also allows us to painlessly discard usage of this field for backend devices.
Signed-off-by: Alexey Kirillov <lekiravi@yandex-team.ru> Signed-off-by: Jason Wang <jasowang@redhat.com>
show more ...
|