From patchwork Tue Oct 17 07:26:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fengjiang Liu X-Patchwork-Id: 132720 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id AAA2A43188; Tue, 17 Oct 2023 09:26:38 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7D86D40279; Tue, 17 Oct 2023 09:26:38 +0200 (CEST) Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.172]) by mails.dpdk.org (Postfix) with ESMTP id 3E3E140269 for ; Tue, 17 Oct 2023 09:26:37 +0200 (CEST) Received: by mail-pg1-f172.google.com with SMTP id 41be03b00d2f7-564b6276941so3993270a12.3 for ; Tue, 17 Oct 2023 00:26:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1697527596; x=1698132396; darn=dpdk.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=BjuxtcK8hj6hr0DIGFUhijBWgkasP6aHStDPrWJoNDU=; b=WFMOW3iS2uJMdxOXA5HAVZ+TOnqCMdi7o4A65a0b0rT3ynC2yKgqDAgxYINHtQJ9TU xeUmGQA88B2HRopRAitcCIpC+cN6GEPwbG6oQpHKwsvdsE/Bg+rkdGgh/xpc5MysAhi3 FSzdmMj33x8fy9+KvmB5wGLgDsDaDOVD+Yh7QppAQoVpTXTbATuo8lacvbCuTTUgCXPM MB1Xgy33trEVhEbRYhNb8ILgeDJ4M1nJQoTJOE7weuOZNTSWoZ/6wIcwGfhtAAx1C7kq y9q7aRHzZcVD46ezhU8G6eaUb1MOzBclVHYoxs0b8b78wikgv5zUL0OS9SnwEAt5kE/s OOUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697527596; x=1698132396; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=BjuxtcK8hj6hr0DIGFUhijBWgkasP6aHStDPrWJoNDU=; b=Bh6pqZNq2e4riLL1lVHV5DI+iO6AKVAMXKkGWEwGE2SQgz0onujhshrFu/XTO9igJl KCBRJXWY0bN6l3z2jRD1dY2jIwsMTykgxQDnvKCHCJCiM76jdWvqSsps8uVDld8D4HgH J53CFgQMYScVS1TSeirInAZyBu3OVnrwO4sY6UFBNEOJq9rtAexVTIM6HygkMvlOZdKS wiknm5FaCeJP+hd7Wshzu2o1fMq6vXDUQHc9SLW1JXIwjCL0ZYMgvuqMefJ7vRG13GUW Ch/ljzQKMRg5ddg5w3LiM4bhvk8thekdndX86OrXTu3slfJEOssKtIP1vsLeu62iK8aY zT2A== X-Gm-Message-State: AOJu0Yw1iLngI6j5ZLNHLllImzuoMwhxL9yUdPhvrSEtk+UYRS599pSk KREjphI3W688iSRy+8CD2CxrWrrF9mxixVfEsfnTxA== X-Google-Smtp-Source: AGHT+IH10B4gaKvZSIpXmwvcxmfcjHTZkIhtd9JpWR/XcaQz9edmbey+A4o6Nkeg/Pc+c9ZXjEx5pw== X-Received: by 2002:a05:6a20:7286:b0:160:97a3:cae9 with SMTP id o6-20020a056a20728600b0016097a3cae9mr1379544pzk.54.1697527596221; Tue, 17 Oct 2023 00:26:36 -0700 (PDT) Received: from PF1D8Q29-ENF.inc.bytedance.com ([203.208.167.147]) by smtp.gmail.com with ESMTPSA id z6-20020a17090abd8600b0027cbc50b826sm5785321pjr.17.2023.10.17.00.26.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Oct 2023 00:26:35 -0700 (PDT) From: Fengjiang Liu To: dev@dpdk.org Cc: maxime.coquelin@redhat.com, zhangziqian.1@bytedance.com Subject: [PATCH] net/virtio: fixed missing next flag when sending packets in packed mode Date: Tue, 17 Oct 2023 15:26:23 +0800 Message-Id: <20231017072623.527-1-liufengjiang.0426@bytedance.com> X-Mailer: git-send-email 2.37.0.windows.1 MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org When the packets is sent in packed mode, and the packets data and virtio-header are divided into two desc, set the next flag of virtio-header desc Bugzilla ID: 1295 Fixes: 892dc798fa9c ("net/virtio: implement Tx path for packed queues") Signed-off-by: Fengjiang Liu Reviewed-by: Maxime Coquelin --- drivers/net/virtio/virtqueue.h | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/virtio/virtqueue.h b/drivers/net/virtio/virtqueue.h index 9d4aba11a3..4e9f2d0358 100644 --- a/drivers/net/virtio/virtqueue.h +++ b/drivers/net/virtio/virtqueue.h @@ -672,6 +672,7 @@ virtqueue_enqueue_xmit_packed(struct virtnet_tx *txvq, struct rte_mbuf *cookie, */ start_dp[idx].addr = txvq->hdr_mem + RTE_PTR_DIFF(&txr[idx].tx_hdr, txr); start_dp[idx].len = vq->hw->vtnet_hdr_size; + head_flags |= VRING_DESC_F_NEXT; hdr = (struct virtio_net_hdr *)&txr[idx].tx_hdr; idx++; if (idx >= vq->vq_nentries) {