On 2020/4/27 下午3:33, Cornelia Huck wrote:
Hi,
I'm currently trying to prepare a linux-headers update to 5.7-rc3,
which adds the definition of VIRTIO_NET_HDR_F_RSC_INFO.
Unfortunately, this breaks the build of virtio-net, because now
virtio_net_rsc_ext_num_{packets,dupacks} are undefined (they are
guarded by existence of VIRTIO_NET_HDR_F_RSC_INFO).
What is the right way to fix this? Remove the constants that are now
provided by the header and keep the definitions of
virtio_net_rsc_ext_num_{packets,dupacks}?
We probably need to add a version of the above function when
VIRTIO_NET_HDR_F_RSC_INFO is defined as attached.
But I fail to understand why we need a fallback when
VIRTIO_NET_HDR_F_RSC_INFO is not defined.
Thanks
[I'd like to queue a headers update as soon as possible, as the whole
s390 protected virt stuff depends on it...]
>From 915144149cfef1c056ae3b96dfb714a2bd483759 Mon Sep 17 00:00:00 2001
From: Jason Wang <jasow...@redhat.com>
Date: Mon, 27 Apr 2020 16:38:51 +0800
Subject: [PATCH]
---
hw/net/virtio-net.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index e5bf670c3f..dd671bcc0d 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -171,6 +171,20 @@ static inline __virtio16 *virtio_net_rsc_ext_num_dupacks(
return &hdr->csum_offset;
}
+#else
+
+static inline __virtio16 *virtio_net_rsc_ext_num_packets(
+ struct virtio_net_hdr *hdr)
+{
+ return &hdr->segments;
+}
+
+static inline __virtio16 *virtio_net_rsc_ext_num_dupacks(
+ struct virtio_net_hdr *hdr)
+{
+ return &hdr->dup_acks;
+}
+
#endif
static VirtIOFeature feature_sizes[] = {
--
2.20.1