On 7/18/25 3:01 PM, Stefano Garzarella wrote:
> On Fri, Jul 18, 2025 at 10:52:36AM +0200, Paolo Abeni wrote:
>> @@ -234,7 +234,8 @@ struct vhost_net *vhost_net_init(VhostNetOptions
>> *options)
>> int r;
>> bool backend_kernel = options->backend_typ
On 7/18/25 3:22 PM, Stefano Garzarella wrote:
> On Fri, Jul 18, 2025 at 10:52:39AM +0200, Paolo Abeni wrote:
>> diff --git a/net/tap.c b/net/tap.c
>> index 23c6c118e7..2dfa843547 100644
>> --- a/net/tap.c
>> +++ b/net/tap.c
>> @@ -62,6 +62,8 @@ sta
On 7/18/25 12:18 PM, Stefano Garzarella wrote:
> On Fri, Jul 18, 2025 at 10:52:34AM +0200, Paolo Abeni wrote:
>> diff --git a/hw/virtio/virtio-qmp.c b/hw/virtio/virtio-qmp.c
>> index 3b6377cf0d..03c6163cf4 100644
>> --- a/hw/virtio/virtio-qmp.c
>> +++ b/hw/virtio/virtio
to support both of them or none.
Signed-off-by: Paolo Abeni
---
v2 -> v3:
- use bool type for tap_probe_has_tunnel()
- rebased on top of 2deec9ab7d ("virtio-net: Move
virtio_net_get_features() down")
- _array -> _ex
v1 -> v2:
- peer_has_tunnel return a bool
-
manipulate them.
Most drivers will keep using only 64 bits features space: use union
to allow them access the lower part of the extended space without any
per driver change.
Signed-off-by: Paolo Abeni
---
v2 -> v3:
- fix preprocessor guard name
- use BIT_ULL
- add missing parentheses
changed belongs to the 64 bit range.
Signed-off-by: Paolo Abeni
---
v1 -> v2:
- synced with kernel ioctl changes
---
hw/virtio/vhost-backend.c | 62 ---
1 file changed, 51 insertions(+), 11 deletions(-)
diff --git a/hw/virtio/vhost-backend.c b/hw/virtio/vh
of the few spots that need explicitly to know and set
in stone the extended features array size; add a build bug to prevent
breaking the migration should such size change again in the future:
more serialization plumbing will be needed.
Signed-off-by: Paolo Abeni
---
v2 -> v3:
- 128bit_featu
or the host negotiated any UDP tunnel related feature:
add them to the kernel supported features list, to allow qemu
transfer to the backend the needed information.
Signed-off-by: Paolo Abeni
---
v2 -> v3:
- rebased on top of "net: Consolidate vhost feature bits into vhost_net
s
Provide extended version of the features manipulation helpers,
and let the device initialization deal with the full features space,
adjusting the relevant format strings accordingly.
Signed-off-by: Paolo Abeni
---
v2 -> v3:
- use virtio_features_andnot return value instead
es
need to implemented a new pair of features getter/setter, the
core will conditionally use them instead of the basic one.
Note that 'bad_features' don't need to be extended, as they are
bound to the 64 bits limit.
Signed-off-by: Paolo Abeni
---
v2 -> v3:
- _array -&g
Extend the VirtioDeviceFeatures struct with an additional u64
to track unknown features in the 64-127 bit range and decode
the full virtio features spaces for vhost and virtio devices.
Also add entries for the soon-to-be-supported virtio net GSO over
UDP features.
Signed-off-by: Paolo Abeni
Use the extended types and helpers to manipulate the virtio_net
features.
Note that offloads are still 64bits wide, as per specification,
and extended offloads will be mapped into such range.
Signed-off-by: Paolo Abeni
---
v2 -> v3:
- rebased on top of 2deec9ab7d ("virtio-n
Update headers to include the virtio GSO over UDP tunnel features
Signed-off-by: Paolo Abeni
--
Note: while the relevant change are not into Linus's tree yet, they have
been merged in the net-next tree and they should land into the vanilla
tree during the next merge window.
---
include/sta
The set_offload() argument list is already pretty long and
we are going to introduce soon a bunch of additional offloads.
Replace the offload arguments with a single struct and update
all the relevant call-sites.
No functional changes intended.
Signed-off-by: Paolo Abeni
---
Note: I maintained
Extend the features configuration space to 128 bits, and allow the
common read/write operation to access all of it.
On migration, save the 128 bit version of the features only if the
upper bits are non zero. Relay reset to clear all the feature
space before load.
Signed-off-by: Paolo Abeni
t going to implement
extended features soon.
Signed-off-by: Paolo Abeni
---
v2 -> v3:
- fix compile warning
- _array -> _ex
v1 -> v2:
- uint128_t -> uint64_t[]
- add _ex() variant of features manipulation helpers
---
hw/virtio/vhost.c | 73 +++-
og for the
details
- I left patch 1 unmodified, still some hope we could live with that;)
Paolo Abeni (13):
net: bundle all offloads in a single struct
linux-headers: Update to Linux ~v6.16-rc5 net-next
virtio: introduce extended features type
virtio: serialize extended features sta
On 7/16/25 6:13 PM, Zhao Liu wrote:
> On Wed, Jul 16, 2025 at 05:22:46PM +0200, Paolo Bonzini wrote:
>> Date: Wed, 16 Jul 2025 17:22:46 +0200
>> From: Paolo Bonzini
>> Subject: Re: boot failure on top of current git
>>
>> On 7/16/25 16:44, Paolo Abeni wrote:
&
On 7/16/25 5:39 PM, Paolo Bonzini wrote:
> On Wed, Jul 16, 2025 at 5:26 PM Paolo Abeni wrote:
>> On 7/16/25 5:22 PM, Paolo Bonzini wrote:
>>> On 7/16/25 16:44, Paolo Abeni wrote:
>>>> I'm observing boot failure for a rhel-9.7 VM. I'm using qemu git tree at
On 7/16/25 5:26 PM, Paolo Abeni wrote:
> On 7/16/25 5:22 PM, Paolo Bonzini wrote:
>> On 7/16/25 16:44, Paolo Abeni wrote:
>>> I'm observing boot failure for a rhel-9.7 VM. I'm using qemu git tree at
>>> commit c079d3a31e.
>>
>> No and I cannot re
On 7/16/25 5:22 PM, Paolo Bonzini wrote:
> On 7/16/25 16:44, Paolo Abeni wrote:
>> I'm observing boot failure for a rhel-9.7 VM. I'm using qemu git tree at
>> commit c079d3a31e.
>
> No and I cannot reproduce it.
>
> What host is it (processor) and kernel v
Hi,
I'm observing boot failure for a rhel-9.7 VM. I'm using qemu git tree at
commit c079d3a31e.
My local conf is:
/configure --enable-kvm --enable-lto --target-list=x86_64-softmmu
enable-numa --enable-curses --enable-vhost-net
and the qemu command line:
/build/qemu-system-x86_64 -smp 4 -enab
On 7/15/25 10:07 AM, Akihiko Odaki wrote:
> On 2025/07/11 22:02, Paolo Abeni wrote:
>> When any host or guest GSO over UDP tunnel offload is enabled the
>> virtio net header includes the additional tunnel-related fields,
>> update the size accordingly.
>>
>> Push
On 7/15/25 6:21 PM, Paolo Abeni wrote:
> On 7/15/25 9:42 AM, Akihiko Odaki wrote:
>> On 2025/07/11 22:02, Paolo Abeni wrote:
>>> @@ -158,7 +159,10 @@ struct VirtIOPCIProxy {
>>> uint32_t nvectors;
>>> uint32_t dfselect;
>>> uint32_t
On 7/15/25 9:42 AM, Akihiko Odaki wrote:
> On 2025/07/11 22:02, Paolo Abeni wrote:
>> @@ -158,7 +159,10 @@ struct VirtIOPCIProxy {
>> uint32_t nvectors;
>> uint32_t dfselect;
>> uint32_t gfselect;
>> -uint32_t guest_features[2];
>
On 7/15/25 10:05 AM, Akihiko Odaki wrote:
> On 2025/07/11 22:02, Paolo Abeni wrote:
>> diff --git a/net/tap-bsd.c b/net/tap-bsd.c
>> index 86b6edee94..e7de0672f4 100644
>> --- a/net/tap-bsd.c
>> +++ b/net/tap-bsd.c
>> @@ -217,6 +217,11 @@ int tap_probe_
On 7/15/25 9:59 AM, Akihiko Odaki wrote:
> On 2025/07/11 22:02, Paolo Abeni wrote:
>> @@ -785,11 +821,12 @@ VirtioStatus *qmp_x_query_virtio_status(const char
>> *path, Error **errp)
>> status->vhost_dev->nvqs = hdev->nvqs;
>> status-&
On 7/15/25 9:24 AM, Akihiko Odaki wrote:
> On 2025/07/11 22:02, Paolo Abeni wrote:
>> + */
>> +QEMU_BUILD_BUG_ON(VIRTIO_FEATURES_DWORDS != 2);
>> +if (virtio_128bit_features_needed(vdev)) {
>
> There is no need to distinguish virtio_1
On 7/15/25 8:36 AM, Akihiko Odaki wrote:
> On 2025/07/11 22:02, Paolo Abeni wrote:
>> The set_offload() argument list is already pretty long and
>> we are going to introduce soon a bunch of additional offloads.
>>
>> Replace the offload arguments with a single struct and
On 7/14/25 10:43 AM, Lei Yang wrote:
> Does the compile of this series of patches require support for a
> special kernel environment? I hit a compile issue after applied you
> patches:
> [1440/2928] Compiling C object libsystem.a.p/hw_virtio_vhost.c.o
> FAILED: libsystem.a.p/hw_virtio_vhost.c.o
> c
Provide extended version of the features manipulation helpers,
and let the device initialization deal with the full features space,
adjusting the relevant format strings accordingly.
Signed-off-by: Paolo Abeni
---
v1 -> v2:
- uint128_t -> uint64_t[]
- provide extended variant of the fe
to support both of them or none.
Signed-off-by: Paolo Abeni
---
v1 -> v2:
- peer_has_tunnel return a bool
- move TUN_F definition in net/tun-linux.h
---
hw/net/virtio-net.c | 37 +
include/net/net.h | 3 +++
net/net.c | 9 +
Use the extended types and helpers to manipulate the virtio_net
features.
Note that offloads are still 64bits wide, as per specification,
and extended offloads will be mapped into such range.
Signed-off-by: Paolo Abeni
---
v1 -> v2:
- uint128_t -> uint64_t[]
- more verbose macro defin
or the host negotiated any UDP tunnel related feature:
add them to host kernel supported features list, to allow qemu
transfer to such backend the needed information.
Signed-off-by: Paolo Abeni
---
v1 -> v2:
- squashed vhost support into this patch
- dropped tun offload consistency che
xt merge window.
Paolo Abeni (13):
net: bundle all offloads in a single struct
linux-headers: Update to Linux ~v6.16-rc5 net-next
virtio: introduce extended features type
virtio: serialize extended features state
virtio: add support for negotiating extended features
virtio-pci: implem
again in the future:
more serialization plumbing will be needed.
Signed-off-by: Paolo Abeni
---
v1 -> v2:
- uint128_t -> u64[2]
---
hw/virtio/virtio.c | 97 --
1 file changed, 86 insertions(+), 11 deletions(-)
diff --git a/hw/virtio/virtio.c b/hw/
Update headers to include the virtio GSO over UDP tunnel features
Signed-off-by: Paolo Abeni
--
Note: while the relevant change are not into Linus's tree yet, they have
been merged in the net-next tree and they should land into the vanilla
tree during the next merge window.
---
include/sta
implement
extended features soon.
Signed-off-by: Paolo Abeni
---
v1 -> v2:
- uint128_t -> uint64_t[]
- add _ex() variant of features manipulation helpers
---
hw/virtio/vhost.c | 73 +++
include/hw/virtio/vhost-backend.h | 6 +++
include/h
Extend the VirtioDeviceFeatures struct with an additional u64
to track unknown features in the 65-128 bit range and decode
the full virtio features spaces for vhost and virtio devices.
Signed-off-by: Paolo Abeni
---
I'm unsure if it's actually legit to update a qapi struct
definition?
changed belongs to the 64 bit range.
Signed-off-by: Paolo Abeni
---
v1 -> v2:
- synced with kernel ioctl changes
---
hw/virtio/vhost-backend.c | 62 ---
1 file changed, 51 insertions(+), 11 deletions(-)
diff --git a/hw/virtio/vhost-backend.c b/hw/virtio/vh
The set_offload() argument list is already pretty long and
we are going to introduce soon a bunch of additional offloads.
Replace the offload arguments with a single struct and update
all the relevant call-sites.
No functional changes intended.
Signed-off-by: Paolo Abeni
---
Note: I maintained
must clear the proxy-ed features on device reset, otherwise
a guest kernel not supporting extended features booted after an extended
features enabled one could end-up wrongly inheriting extended features.
Signed-off-by: Paolo Abeni
---
v1 -> v2:
- use separate VMStateDescription and pre/post l
d extended features
need to implemented a new pair of features getter/setter, the
core will conditionally use them instead of the basic one.
Note that 'bad_features' don't need to be extended, as they are
bound to the 64 bits limit.
Signed-off-by: Paolo Abeni
---
v1 -> v2:
- uin
ulate them.
Most drivers will keep using only 64 bits features space: use union
to allow them access the lower part of the extended space without any
per driver change.
Signed-off-by: Paolo Abeni
---
v1 -> v2:
- use a fixed size array for features instead of uint128
- use union with u64 to redu
On 5/21/25 1:33 PM, Paolo Abeni wrote:
> Some virtualized deployments use UDP tunnel pervasively and are impacted
> negatively by the lack of GSO support for such kind of traffic in the
> virtual NIC driver.
>
> The virtio_net specification recently introduced support for GSO ov
On 5/23/25 1:35 PM, Akihiko Odaki wrote:
> On 2025/05/23 19:40, Paolo Abeni wrote:
>> On 5/23/25 10:16 AM, Akihiko Odaki wrote:
>>> On 2025/05/21 20:34, Paolo Abeni wrote:
>>>> @@ -890,6 +915,12 @@ static void virtio_net_apply_guest_offloads(VirtIONet
>&g
On 5/23/25 9:19 AM, Akihiko Odaki wrote:
> On 2025/05/21 20:33, Paolo Abeni wrote:
>> Some virtualized deployments use UDP tunnel pervasively and are impacted
>> negatively by the lack of GSO support for such kind of traffic in the
>> virtual NIC driver.
>>
>> The
On 5/23/25 10:09 AM, Akihiko Odaki wrote:
> On 2025/05/21 20:34, Paolo Abeni wrote:
>> Use the extended types and helpers to manipulate the virtio_net
>> features.
>>
>> Note that offloads are still 64bits wide, as per specification,
>> and extended offloa
On 5/23/25 12:54 PM, Akihiko Odaki wrote:
> On 2025/05/23 19:40, Paolo Abeni wrote:
>> On 5/23/25 10:16 AM, Akihiko Odaki wrote:
>>> On 2025/05/21 20:34, Paolo Abeni wrote:
>>>> @@ -890,6 +915,12 @@ static void virtio_net_apply_guest_offloads(VirtIONet
>&g
On 5/23/25 10:16 AM, Akihiko Odaki wrote:
> On 2025/05/21 20:34, Paolo Abeni wrote:
>> @@ -890,6 +915,12 @@ static void virtio_net_apply_guest_offloads(VirtIONet
>> *n)
>> .ufo = !!(n->curr_guest_offloads & (1ULL <<
>> VIRTIO_NET
On 5/23/25 9:39 AM, Akihiko Odaki wrote:
>> diff --git a/net/tap-linux.c b/net/tap-linux.c
>> index 22ec2f45d2..2df601551e 100644
>> --- a/net/tap-linux.c
>> +++ b/net/tap-linux.c
>> @@ -37,6 +37,14 @@
>>
>> #define PATH_NET_TUN "/dev/net/tun"
>>
>> +#ifndef TUN_F_UDP_TUNNEL_GSO
>> +#define
On 5/23/25 11:50 AM, Akihiko Odaki wrote:
> On 2025/05/21 20:33, Paolo Abeni wrote:
>> @@ -235,4 +235,12 @@
>>*/
>> #define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x82, \
>>struct vhost_vring_state)
&g
On 5/23/25 9:23 AM, Akihiko Odaki wrote:
>> diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
>> index 0fa8fe4955..7815ef2d9b 100644
>> --- a/hw/virtio/virtio-pci.c
>> +++ b/hw/virtio/virtio-pci.c
>> @@ -123,7 +123,8 @@ static const VMStateDescription
>> vmstate_virtio_pci_modern_state_
sk must be
extended to the feature format, or the all highest bits will be
unintentionally cleared.
Note that 'protocol_features' are not extended: they are only
used by vhost-user, and the latter device is not going to implement
extended features soon.
Signed-off-by: Paolo Abeni
--
If the host supports 128 bit-wide features, and the driver
use any of them, serialize the full features range leveraging
newly introduced 128bits integer helpers.
Signed-off-by: Paolo Abeni
---
hw/virtio/virtio.c | 76 +-
1 file changed, 75 insertions
t support.
Signed-off-by: Paolo Abeni
---
hw/virtio/virtio-bus.c | 15 ---
hw/virtio/virtio.c | 23 +--
include/hw/virtio/virtio.h | 8 +++-
3 files changed, 36 insertions(+), 10 deletions(-)
diff --git a/hw/virtio/virtio-bus.c b/hw/virtio/virt
changed belongs to the 64 bit range.
Signed-off-by: Paolo Abeni
---
hw/virtio/vhost-backend.c | 59 +++
1 file changed, 53 insertions(+), 6 deletions(-)
diff --git a/hw/virtio/vhost-backend.c b/hw/virtio/vhost-backend.c
index 833804dd40..a5e28e15ee 100644
--- a/hw
The set_offload() argument list is already pretty long and
we are going to introduce soon a bunch of additional offloads.
Replace the offload arguments with a single struct and update
all the relevant call-sites.
No functional changes intended.
Signed-off-by: Paolo Abeni
---
hw/net
nded space.
Signed-off-by: Paolo Abeni
---
hw/net/virtio-net.c | 2 +-
hw/virtio/virtio-bus.c | 4 +-
hw/virtio/virtio.c | 4 +-
include/hw/virtio/virtio-features.h | 90 +
include/hw/virtio/virtio.h | 9 +-
Use the extended types and helpers to manipulate the virtio_net
features.
Note that offloads are still 64bits wide, as per specification,
and extended offloads will be mapped into such range.
Signed-off-by: Paolo Abeni
---
hw/net/virtio-net.c| 87
Update the features manipulation helpers to cope with the
extended features, adjust the relevant format strings accordingly
and always use the virtio features type for bitmask manipulation.
Signed-off-by: Paolo Abeni
---
hw/net/vhost_net-stub.c | 7 ---
hw/net/vhost_net.c | 31
tunnel related feature:
add them to host kernel supported features list, to allow qemu
transder to such backend the needed information.
Signed-off-by: Paolo Abeni
---
hw/net/vhost_net.c | 4
1 file changed, 4 insertions(+)
diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c
index 58d7619fc8
eventually enable the associated features.
As per virtio specification, to convert features bit to offload bit,
map the extended features into the reserved range.
Signed-off-by: Paolo Abeni
---
hw/net/virtio-net.c | 48 -
include/net/net.h | 2 ++
net/net.c
Signed-off-by: Paolo Abeni
---
hw/virtio/virtio-hmp-cmds.c | 3 ++-
hw/virtio/virtio-qmp.c | 28 ++--
hw/virtio/virtio-qmp.h | 3 ++-
qapi/virtio.json| 8 ++--
4 files changed, 32 insertions(+), 10 deletions(-)
diff --git a/hw/virtio/virtio
Allow the common read/write operation to access all the
available features space.
Signed-off-by: Paolo Abeni
---
hw/virtio/virtio-pci.c | 19 +--
include/hw/virtio/virtio-pci.h | 2 +-
2 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/hw/virtio/virtio
Virtio features extend above the 64 bit space, and GSO over
UDP tunnels support is going to use some bits in the extended
space.
Introduce a new Property type to handle the extended feature
defined in the previous patch.
Signed-off-by: Paolo Abeni
---
hw/core/qdev-properties.c| 46
to support both of them or none.
Signed-off-by: Paolo Abeni
---
hw/net/virtio-net.c | 39 +++
include/net/net.h | 3 +++
net/net.c | 9 +
net/tap-bsd.c | 5 +
net/tap-linux.c | 19 +++
net/tap-solari
The virtio specifications allows for up to 128 bits for the
device features. Soon we are going to use some of the 'extended'
bits features (above 64) for the virtio net driver.
For platform natively supporting 128 bits, introduce a 128 bit integer
state.
Signed-off-by: Paolo Abeni
--
really appreciated, and any feedback about the
features extension strategy would be more than welcome!
Paolo Abeni (16):
linux-headers: Update to Linux v6.15-rc net-next
migration: introduce support for 128 bit int state.
virtio: introduce extended features type
virtio: serialize extended
Update headers to include the virtio GSO over UDP tunnel features
Signed-off-by: Paolo Abeni
---
The relevant bits are not yet merged upstream, will update this
patch after merge.
---
include/standard-headers/asm-x86/setup_data.h | 4 +-
include/standard-headers/drm/drm_fourcc.h | 41
On 9/20/24 11:32, David Woodhouse wrote:
From: David Woodhouse
The vmclock device addresses the problem of live migration with
precision clocks. The tolerances of a hardware counter (e.g. TSC) are
typically around ±50PPM. A guest will use NTP/PTP/PPS to discipline that
counter against an extern
On 8/23/24 12:09, David Woodhouse wrote:
diff --git a/drivers/ptp/Kconfig b/drivers/ptp/Kconfig
index 604541dcb320..e98c9767e0ef 100644
--- a/drivers/ptp/Kconfig
+++ b/drivers/ptp/Kconfig
@@ -131,6 +131,19 @@ config PTP_1588_CLOCK_KVM
To compile this driver as a module, choose M here: t
Hi,
Just a bunch of 'nits below
On 7/24/24 19:16, David Woodhouse wrote:
diff --git a/drivers/ptp/ptp_vmclock.c b/drivers/ptp/ptp_vmclock.c
new file mode 100644
index ..9c508c21c062
--- /dev/null
+++ b/drivers/ptp/ptp_vmclock.c
[...]
+/*
+ * Multiply a 64-bit count by a 64-bit t
On Fri, 2021-04-09 at 10:42 +0100, Daniel P. Berrangé wrote:
> On Fri, Apr 09, 2021 at 10:34:30AM +0100, Daniel P. Berrangé wrote:
> > On Thu, Apr 08, 2021 at 08:11:54PM +0100, Dr. David Alan Gilbert (git)
> > wrote:
> > > From: "Dr. David Alan Gilbert"
> > > I had a quick go at trying NBD as w
Hello,
On Fri, 2021-04-09 at 10:10 +0100, Daniel P. Berrangé wrote:
> On Thu, Apr 08, 2021 at 08:11:58PM +0100, Dr. David Alan Gilbert (git) wrote:
> > From: "Dr. David Alan Gilbert"
> >
> > Delay closing the listener until the cleanup hook at the end; mptcp
> > needs the listener to stay open w
On Fri, 2021-04-09 at 10:34 +0100, Daniel P. Berrangé wrote:
> On Thu, Apr 08, 2021 at 08:11:54PM +0100, Dr. David Alan Gilbert (git) wrote:
> > From: "Dr. David Alan Gilbert"
> >
> > Hi,
> > This RFC set adds support for multipath TCP (mptcp),
> > in particular on the migration path - but shou
hello,
As noted before
(http://lists.gnu.org/archive/html/qemu-devel/2006-10/msg00153.html)
Microsoft has published the format of virtual pc drive VHD. It should be
used also by xen. The specs are available here:
http://download.microsoft.com/download/f/f/e/ffef50a5-07dd-4cf8-aaa3-442c0673a029/
77 matches
Mail list logo