From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 06F5146176 for ; Sun, 2 Feb 2025 18:33:01 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 88B26400EF; Sun, 2 Feb 2025 18:33:01 +0100 (CET) Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) by mails.dpdk.org (Postfix) with ESMTP id 34FCD400D7 for ; Sun, 2 Feb 2025 18:32:59 +0100 (CET) Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-2163dc5155fso62692105ad.0 for ; Sun, 02 Feb 2025 09:32:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1738517578; x=1739122378; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=CA047tMeum2juhZyWaQeZJnWoAX6i+TcGy5lC9YoaR8=; b=tHx4BJy4zRDdvcmjwF5m8XSqL4DXDL9ZxSrjkY0wtOlXluZYfg6zwsivqesFjPMBRF hcsgXNbxVUOqEQDLLm9TJaknq8bfRRdIRS2bvYAetWFqfGt1n0CfxrLHHSMGg0evTTj5 5DfayMsYTGlD2BKS9sR/zg+uJdldxPmtZRy431sUEmu2wqlO1PTlmoEdH+w3U0/GLtYN UIvDiml8vhZERVDveWZjlH/KcjvSNVyxjzHvHQLGMZhOJWzGkedZ8RwUhS6PNw7zwI/B 6q4fGDBCL1GjpTO1HPYjm3/TS55N94v9kJ8c8sclCHaSk3MruqhotzYVyQ12+fJVAyfp Zx6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738517578; x=1739122378; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CA047tMeum2juhZyWaQeZJnWoAX6i+TcGy5lC9YoaR8=; b=pMofSOY2CzvzKiqmd2uuGvOKt1Q50m35+AyeemRwtSPsoW7Qby0B0JeMvH1sj7JAEt BY1LZVNhGOd5nsB4a5BRpYZ/DRGZMuP1x/m6PcZ8Cfp8ppdMCrv+otcIwtLwICTs1Se/ B9mLgCawrPREuy45TeNPw2BPQkdqv3qSbhSQ5mRCxTnKGfItbxC8yqaQrX2XUW3hF8OS EMo2xEgP/adCuL4tSpDkqOwZs0141k7/2YuuOBVl3bJG+67jB9z0ervYiHI7G+QUKDcP SIwuH+WODkGXQ+fVAsDFEJl8GqQi/w49ZDqwHd+gyxQ3VdeVXlEGtz2CY+ck0rHd4HUj XUzw== X-Gm-Message-State: AOJu0Yx2owyvhRsB7u9oPimsW9XvL1YaqFOW4bnY1ayagkW9mFfc5dwo MOZilLhEdSsPJ6loQXm+9uQc1ShJGmu2iKF1zDDinbVKKONpYDa2YWYK1c44xrKskbm9uOzvXt6 y X-Gm-Gg: ASbGncsZsQt/Xk3zOU7fcC5dSKVDZzVNF0W9Mbob5BWUnlXhMhdxZnhFBMmMeoYXmj3 YqKLQkyegLst3WLsMgBZiP6296MjrNQHVN41mVPmKXVNHYVYCHnlE64aQCZEvbPK6Dh4SNaEFgQ 4Y1N9mEzZamqUB/+Jernln38fScoGwesrmJQ1Hl4GzWocwKUqIkOBzAbBkPVpbZAyPCrcr5dSVD 2+ko3r7bVuvsAMskSjX7tIZ7vVNNrJY9NqquUR5px3llNtTd3cymuq8RScO6xyn6PIro5gooRU1 UH5w6MGdXns1Gaxdu11TkeRRW+OChzWwIhHGHp/hKVUrE/AuySwZ70UCH6lV5xS6Pwy5 X-Google-Smtp-Source: AGHT+IGSq1ZNLK8OVaWQ6Pz58gIohAgX/KcQJ3YH6wY1rJtF6RXbDkSe7O6MEb3WtHZrIeHl2f5/gA== X-Received: by 2002:a17:902:fc50:b0:216:69ca:773b with SMTP id d9443c01a7336-21dd7c3cdf7mr301476755ad.5.1738517577894; Sun, 02 Feb 2025 09:32:57 -0800 (PST) Received: from hermes.local (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21de31f7554sm61081075ad.81.2025.02.02.09.32.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Feb 2025 09:32:57 -0800 (PST) Date: Sun, 2 Feb 2025 09:32:55 -0800 From: Stephen Hemminger To: Ofer Dagan Cc: users@dpdk.org Subject: Re: Support jumbo packets with XDP Message-ID: <20250202093255.19da8189@hermes.local> In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org On Sun, 2 Feb 2025 08:53:42 +0200 Ofer Dagan wrote: > Hi all, > > We are trying to start using AF_XDP instead of libpcap (for use cases where > dpdk drivers aren't a good fit for us). When using XDP, we can't set high > MTU. How to still support jumbo packets in our application? > > Thanks, > Ofer What error are you seeing? What version of DPDK, and what version of kernel are you building for. The current version of AF_XDP Poll mode driver supports larger mtu sizes. It is constrained because the receive buffer has to fit on a single page and there is overhead for the various headers. dev_info->min_mtu = RTE_ETHER_MIN_MTU; #if defined(XDP_UMEM_UNALIGNED_CHUNK_FLAG) dev_info->max_rx_pktlen = getpagesize() - sizeof(struct rte_mempool_objhdr) - sizeof(struct rte_mbuf) - RTE_PKTMBUF_HEADROOM - XDP_PACKET_HEADROOM; #else dev_info->max_rx_pktlen = ETH_AF_XDP_FRAME_SIZE - XDP_PACKET_HEADROOM; #endif dev_info->max_mtu = dev_info->max_rx_pktlen - ETH_AF_XDP_ETH_OVERHEAD; If you have a relatively recent kernel the UNALIGNED_CHUNK_FLAG should be set. Stepping through the maths for that max_rx_pktlen = 4096 - 24 - 128 - 128 - 256 = 3560 max_mtu = max_rx_pktlen - 14 - 4 = 3542