From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 52A27A0555; Wed, 19 Feb 2020 01:59:39 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 481B4B62; Wed, 19 Feb 2020 01:59:38 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id A4CA623D for ; Wed, 19 Feb 2020 01:59:36 +0100 (CET) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Feb 2020 16:59:35 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,458,1574150400"; d="scan'208";a="268974978" Received: from yexl-server.sh.intel.com (HELO localhost) ([10.67.117.17]) by fmsmga002.fm.intel.com with ESMTP; 18 Feb 2020 16:59:33 -0800 Date: Wed, 19 Feb 2020 08:57:57 +0800 From: Ye Xiaolong To: Ciara Loftus Cc: dev@dpdk.org, yinan.wang@intel.com Message-ID: <20200219005757.GA111443@intel.com> References: <20200218140359.7533-1-ciara.loftus@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200218140359.7533-1-ciara.loftus@intel.com> User-Agent: Mutt/1.9.4 (2018-02-28) Subject: Re: [dpdk-dev] [PATCH] doc: update af_xdp documentation on MTU limitations X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Nice doc about MTU of AF_XDP, thanks for the update. On 02/18, Ciara Loftus wrote: >Explain how kernel driver RX buffer sizes affect the maximum >MTU size in practice. > >Signed-off-by: Ciara Loftus >--- > doc/guides/nics/af_xdp.rst | 26 +++++++++++++++++++++++--- > 1 file changed, 23 insertions(+), 3 deletions(-) > >diff --git a/doc/guides/nics/af_xdp.rst b/doc/guides/nics/af_xdp.rst >index b434b25df..07bdd29e2 100644 >--- a/doc/guides/nics/af_xdp.rst >+++ b/doc/guides/nics/af_xdp.rst >@@ -18,9 +18,6 @@ packets through the socket which would bypass the kernel network stack. > Current implementation only supports single queue, multi-queues feature will > be added later. > >-Note that MTU of AF_XDP PMD is limited due to XDP lacks support for >-fragmentation. >- > AF_XDP PMD enables need_wakeup flag by default if it is supported. This > need_wakeup feature is used to support executing application and driver on the > same core efficiently. This feature not only has a large positive performance >@@ -57,3 +54,26 @@ The following example will set up an af_xdp interface in DPDK: > .. code-block:: console > > --vdev net_af_xdp,iface=ens786f1 >+ >+Limitations >+----------- >+ >+- **MTU** >+ >+ The MTU of the AF_XDP PMD is limited due to the XDP requirement of one packet >+ per page. In the PMD we report the maximum MTU for zero copy to be equal >+ to the page size less the frame overhead introduced by AF_XDP (XDP HR = 256) >+ and DPDK (frame headroom = 320). With a 4K page size this works out at 3520. >+ However in practice this value may be even smaller, due to differences between >+ the supported RX buffer sizes of the underlying kernel netdev driver. >+ >+ For example, the largest RX buffer size supported by the underlying kernel driver >+ which is less than the page size (4096B) may be 3072B. In this case, the maximum >+ MTU value will be at most 3072, but likely even smaller than this, once relevant >+ headers are accounted for eg. Ethernet and VLAN. >+ >+ To determine the actual maximum MTU value of the interface you are using with the >+ AF_XDP PMD, consult the documentation for the kernel driver. >+ >+ Note: The AF_XDP PMD will fail to initialise if an MTU which violates the driver's >+ conditions as above is set prior to launching the application. >-- >2.25.0 > Reviewed-by: Xiaolong Ye