git: 8ee1cc4a7f2e - main - Revert "vtnet: Better adjust for ethernet alignment."
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 28 Dec 2023 17:24:49 UTC
The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8ee1cc4a7f2e0a3fb9cb4f9514da07f2572a7f4c commit 8ee1cc4a7f2e0a3fb9cb4f9514da07f2572a7f4c Author: Warner Losh <imp@FreeBSD.org> AuthorDate: 2023-12-28 17:20:24 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2023-12-28 17:22:14 +0000 Revert "vtnet: Better adjust for ethernet alignment." This reverts commit e9da71cd35d46ca13da4396d99e0af1703290e68. This was inadvertantly pushed and turns out ot be not quite right. Requested by: markj --- sys/dev/virtio/network/if_vtnet.c | 31 +++---------------------------- 1 file changed, 3 insertions(+), 28 deletions(-) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index db7a1a18ebc2..360176e4f845 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -1532,8 +1532,8 @@ vtnet_rx_alloc_buf(struct vtnet_softc *sc, int nbufs, struct mbuf **m_tailp) m_freem(m_head); return (NULL); } - m->m_len = size; + m_adj(m, ETHER_ALIGN); if (m_head != NULL) { m_tail->m_next = m; m_tail = m; @@ -1587,15 +1587,6 @@ vtnet_rxq_replace_lro_nomrg_buf(struct vtnet_rxq *rxq, struct mbuf *m0, ("%s: mbuf size %d not expected cluster size %d", __func__, m->m_len, clustersz)); -#ifdef __NO_STRICT_ALIGNMENT - /* - * Need to offset the first mbuf in this chain to align the IP - * structure because this host requires strict alignment. - */ - if (m_prev == NULL) { - m_adj(m, ETHER_ALIGN); - } -#endif m->m_len = MIN(m->m_len, len); len -= m->m_len; @@ -1664,13 +1655,6 @@ vtnet_rxq_replace_buf(struct vtnet_rxq *rxq, struct mbuf *m, int len) if (m_new == NULL) return (ENOBUFS); -#ifdef __NO_STRICT_ALIGNMENT - /* - * Need to offset the first mbuf in this chain to align the IP - * structure because this host requires strict alignment. - */ - m_adj(m_new, ETHER_ALIGN); -#endif error = vtnet_rxq_enqueue_buf(rxq, m_new); if (error) { sc->vtnet_stats.rx_enq_replacement_failed++; @@ -1738,13 +1722,6 @@ vtnet_rxq_new_buf(struct vtnet_rxq *rxq) if (m == NULL) return (ENOBUFS); -#ifdef __NO_STRICT_ALIGNMENT - /* - * Need to offset the first mbuf in this chain to align the IP - * structure because this host requires strict alignment. - */ - m_adj(m, ETHER_ALIGN); -#endif error = vtnet_rxq_enqueue_buf(rxq, m); if (error) m_freem(m); @@ -1930,10 +1907,8 @@ vtnet_rxq_discard_buf(struct vtnet_rxq *rxq, struct mbuf *m) int error __diagused; /* - * Requeue the discarded mbuf. This should always be successful since it - * was just dequeued. There's no need to adjust for ethernet alignment - * here on strict alignment hosts because we're requeueing a packet - * already adjusted. + * Requeue the discarded mbuf. This should always be successful + * since it was just dequeued. */ error = vtnet_rxq_enqueue_buf(rxq, m); KASSERT(error == 0,