git: ca38822e05d7 - stable/14 - vtnet: don't provide VIRTIO_NET_HDR_F_DATA_VALID
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 12 Nov 2025 08:38:45 UTC
The branch stable/14 has been updated by tuexen:
URL: https://cgit.FreeBSD.org/src/commit/?id=ca38822e05d7343aa0eab86ebed3685f15f5ac31
commit ca38822e05d7343aa0eab86ebed3685f15f5ac31
Author: Michael Tuexen <tuexen@FreeBSD.org>
AuthorDate: 2025-11-10 15:28:04 +0000
Commit: Michael Tuexen <tuexen@FreeBSD.org>
CommitDate: 2025-11-12 08:37:08 +0000
vtnet: don't provide VIRTIO_NET_HDR_F_DATA_VALID
According to section 5.1.6.2.1 of version 1.3 of the virtio
specification, the driver MUST NOT set VIRTIO_NET_HDR_F_DATA_VALID in
the flags. So don't do that.
Reviewed by: Timo Völker
Differential Revision: https://reviews.freebsd.org/D53650
(cherry picked from commit 836b3cd9d7910aff5225e9e58189067ca03fae30)
---
sys/dev/virtio/network/if_vtnet.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c
index 846b2d49b15d..8c08a81820e7 100644
--- a/sys/dev/virtio/network/if_vtnet.c
+++ b/sys/dev/virtio/network/if_vtnet.c
@@ -2503,10 +2503,6 @@ vtnet_txq_offload(struct vtnet_txq *txq, struct mbuf *m,
hdr->csum_start = vtnet_gtoh16(sc, csum_start);
hdr->csum_offset = vtnet_gtoh16(sc, m->m_pkthdr.csum_data);
txq->vtntx_stats.vtxs_csum++;
- } else if ((flags & (CSUM_DATA_VALID | CSUM_PSEUDO_HDR)) &&
- (proto == IPPROTO_TCP || proto == IPPROTO_UDP) &&
- (m->m_pkthdr.csum_data == 0xFFFF)) {
- hdr->flags |= VIRTIO_NET_HDR_F_DATA_VALID;
}
if (flags & (CSUM_IP_TSO | CSUM_IP6_TSO)) {
@@ -2620,8 +2616,7 @@ vtnet_txq_encap(struct vtnet_txq *txq, struct mbuf **m_head, int flags)
m->m_flags &= ~M_VLANTAG;
}
- if (m->m_pkthdr.csum_flags &
- (VTNET_CSUM_ALL_OFFLOAD | CSUM_DATA_VALID)) {
+ if (m->m_pkthdr.csum_flags & VTNET_CSUM_ALL_OFFLOAD) {
m = vtnet_txq_offload(txq, m, hdr);
if ((*m_head = m) == NULL) {
error = ENOBUFS;