From patchwork Tue Dec 19 15:17:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Euan Bourke X-Patchwork-Id: 135335 X-Patchwork-Delegate: thomas@monjalon.net 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 453DA43746; Tue, 19 Dec 2023 16:18:10 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AFA3542DED; Tue, 19 Dec 2023 16:18:09 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) by mails.dpdk.org (Postfix) with ESMTP id 0F5F0402E0 for ; Tue, 19 Dec 2023 16:18:07 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1702999088; x=1734535088; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=/fy7gKuZOkTmT6+VSSzf0PULpGW84As3zObIr/ENhCE=; b=lCvHv+ZGMArqJoLBqh+3auGyyHNtvPUgbzrTHkX+glrTYaekFApWs9wh 2VtlCJs57O7+INNNLdJkA5D0PGZMa9mjjlCvpDHaPW/Ot4xZ68tq+bXR2 9Dy7sJOm7RnYzr0+3TzjPzqKunTJD5yZVbYggivLUir9JfpFoxqsRVxSS 99W79k5mn8bWCQiUFibHG5Kpg0s6yVkT65icFyb1fxgX65B8KupXHdjrF /Aotz2PK/Y5cPz/v/ADzeSGDxnct/SkY4fNMbuhshfMKhWeGhrueFhSDf +ZQOBeRdw80YwdBui/DwSWx/CNzwnE8eG43VbTrh+c1GzlI0AEiPakb7a Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10929"; a="2497041" X-IronPort-AV: E=Sophos;i="6.04,288,1695711600"; d="scan'208";a="2497041" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Dec 2023 07:18:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.04,288,1695711600"; d="scan'208";a="17907749" Received: from unknown (HELO silpixa00400630.ir.intel.com) ([10.237.213.151]) by fmviesa001.fm.intel.com with ESMTP; 19 Dec 2023 07:18:06 -0800 From: Euan Bourke To: dev@dpdk.org Cc: Euan Bourke , Thomas Monjalon , Konstantin Ananyev Subject: [PATCH 1/2] doc: updated incorrect value for IP frag max fragments Date: Tue, 19 Dec 2023 15:17:53 +0000 Message-Id: <20231219151754.3285058-1-euan.bourke@intel.com> X-Mailer: git-send-email 2.34.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 Docs for IP Fragment said RTE_LIBRTE_IP_FRAG_MAX_FRAGS was 4 by default, however this was changed to 8. Documentation has been updated to account for this, including a snippet of the code where RTE_LIBRTE_IP_FRAG_MAX_FRAGS is defined to ensure the documentation stays up to date. Signed-off-by: Euan Bourke --- .mailmap | 1 + doc/guides/prog_guide/ip_fragment_reassembly_lib.rst | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.mailmap b/.mailmap index ab0742a382..528bc68a30 100644 --- a/.mailmap +++ b/.mailmap @@ -379,6 +379,7 @@ Eric Zhang Erik Gabriel Carrillo Erik Ziegenbalg Erlu Chen +Euan Bourke Eugenio PĂ©rez Eugeny Parshutin Evan Swanson diff --git a/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst b/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst index 314d4adbb8..458d7c6776 100644 --- a/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst +++ b/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst @@ -43,7 +43,12 @@ Note that all update/lookup operations on Fragment Table are not thread safe. So if different execution contexts (threads/processes) will access the same table simultaneously, then some external syncing mechanism have to be provided. -Each table entry can hold information about packets consisting of up to RTE_LIBRTE_IP_FRAG_MAX (by default: 4) fragments. +Each table entry can hold information about packets of up to ``RTE_LIBRTE_IP_FRAG_MAX_FRAGS`` fragments, +where ``RTE_LIBRTE_IP_FRAG_MAX_FRAGS`` defaults to: + +.. literalinclude:: ../../../config/rte_config.h + :start-after: /* ip_fragmentation defines */ + :lines: 1 Code example, that demonstrates creation of a new Fragment table: From patchwork Tue Dec 19 15:17:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Euan Bourke X-Patchwork-Id: 135336 X-Patchwork-Delegate: thomas@monjalon.net 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 2DD0243746; Tue, 19 Dec 2023 16:18:21 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1B5A042E11; Tue, 19 Dec 2023 16:18:21 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) by mails.dpdk.org (Postfix) with ESMTP id 7EB5F42E0D for ; Tue, 19 Dec 2023 16:18:19 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1702999099; x=1734535099; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=WIrscrsIYQPTbwzSL/ufIX/j25lTgf1fHD6qFOWoL90=; b=bzxmUMLfODK4tEOoZTAn45aUz9duiyjVNJSRKIP6/5jsa1DSrR1DhN9s twAC3gV7gsSV63En2QLiJm5nle3mV/CzNfRwmHAFwtU6cQ4XPwjBqn6Cg f70LTnUGndkI6DhXigEK1ldRdH7LVepwRXb4rCQCrtw5n6vSphGF+haVr 9fMnQg5S+ip9LKBP2GTqcnpLmhL5b/+/QTeNeZnwVBjn6BTcbWNypezW+ W5EZ5W2O0EK2vk2+Bjq4IjPhRj909/1zanYKLQ0OSDRUah7tnMAtWz8ND GJRbSiKH3I+6/0aAaA2DVdT4MRxmq8HwO7bW7i9MBrYPcMdI2H6YWMblc Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10929"; a="2497075" X-IronPort-AV: E=Sophos;i="6.04,288,1695711600"; d="scan'208";a="2497075" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Dec 2023 07:18:18 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.04,288,1695711600"; d="scan'208";a="17907789" Received: from unknown (HELO silpixa00400630.ir.intel.com) ([10.237.213.151]) by fmviesa001.fm.intel.com with ESMTP; 19 Dec 2023 07:18:16 -0800 From: Euan Bourke To: dev@dpdk.org Cc: Euan Bourke , Konstantin Ananyev , Bruce Richardson , Radu Nicolau , Akhil Goyal Subject: [PATCH 2/2] ip_frag: updated name for IP frag define Date: Tue, 19 Dec 2023 15:17:54 +0000 Message-Id: <20231219151754.3285058-2-euan.bourke@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231219151754.3285058-1-euan.bourke@intel.com> References: <20231219151754.3285058-1-euan.bourke@intel.com> 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 Removed LIBRTE from name as its an old prefix. Signed-off-by: Euan Bourke --- app/test/test_reassembly_perf.c | 2 +- config/rte_config.h | 2 +- doc/guides/prog_guide/ip_fragment_reassembly_lib.rst | 4 ++-- doc/guides/sample_app_ug/ip_reassembly.rst | 4 ++-- examples/ip_fragmentation/main.c | 2 +- examples/ip_reassembly/main.c | 2 +- examples/ipsec-secgw/ipsec_worker.h | 2 +- lib/ip_frag/ip_reassembly.h | 2 +- lib/ip_frag/rte_ip_frag.h | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/test/test_reassembly_perf.c b/app/test/test_reassembly_perf.c index 3912179022..805ae2fe9d 100644 --- a/app/test/test_reassembly_perf.c +++ b/app/test/test_reassembly_perf.c @@ -20,7 +20,7 @@ #define MAX_FLOWS (1024 * 32) #define MAX_BKTS MAX_FLOWS #define MAX_ENTRIES_PER_BKT 16 -#define MAX_FRAGMENTS RTE_LIBRTE_IP_FRAG_MAX_FRAG +#define MAX_FRAGMENTS RTE_IP_FRAG_MAX_FRAG #define MIN_FRAGMENTS 2 #define MAX_PKTS (MAX_FLOWS * MAX_FRAGMENTS) diff --git a/config/rte_config.h b/config/rte_config.h index da265d7dd2..e2fa2a58fa 100644 --- a/config/rte_config.h +++ b/config/rte_config.h @@ -85,7 +85,7 @@ #define RTE_RAWDEV_MAX_DEVS 64 /* ip_fragmentation defines */ -#define RTE_LIBRTE_IP_FRAG_MAX_FRAG 8 +#define RTE_IP_FRAG_MAX_FRAG 8 // RTE_LIBRTE_IP_FRAG_TBL_STAT is not set /* rte_power defines */ diff --git a/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst b/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst index 458d7c6776..230baeaa19 100644 --- a/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst +++ b/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst @@ -43,8 +43,8 @@ Note that all update/lookup operations on Fragment Table are not thread safe. So if different execution contexts (threads/processes) will access the same table simultaneously, then some external syncing mechanism have to be provided. -Each table entry can hold information about packets of up to ``RTE_LIBRTE_IP_FRAG_MAX_FRAGS`` fragments, -where ``RTE_LIBRTE_IP_FRAG_MAX_FRAGS`` defaults to: +Each table entry can hold information about packets of up to ``RTE_IP_FRAG_MAX_FRAGS`` fragments, +where ``RTE_IP_FRAG_MAX_FRAGS`` defaults to: .. literalinclude:: ../../../config/rte_config.h :start-after: /* ip_fragmentation defines */ diff --git a/doc/guides/sample_app_ug/ip_reassembly.rst b/doc/guides/sample_app_ug/ip_reassembly.rst index 5280bf4ea0..9cf4fb3f7d 100644 --- a/doc/guides/sample_app_ug/ip_reassembly.rst +++ b/doc/guides/sample_app_ug/ip_reassembly.rst @@ -135,7 +135,7 @@ Fragment table maintains information about already received fragments of the pac Each IP packet is uniquely identified by triple , , . To avoid lock contention, each RX queue has its own Fragment Table, e.g. the application can't handle the situation when different fragments of the same packet arrive through different RX queues. -Each table entry can hold information about packet consisting of up to RTE_LIBRTE_IP_FRAG_MAX_FRAGS fragments. +Each table entry can hold information about packet consisting of up to RTE_IP_FRAG_MAX_FRAGS fragments. .. literalinclude:: ../../../examples/ip_reassembly/main.c :language: c @@ -147,7 +147,7 @@ Mempools Initialization ~~~~~~~~~~~~~~~~~~~~~~~ The reassembly application demands a lot of mbuf's to be allocated. -At any given time up to (2 \* max_flow_num \* RTE_LIBRTE_IP_FRAG_MAX_FRAGS \* ) +At any given time up to (2 \* max_flow_num \* RTE_IP_FRAG_MAX_FRAGS \* ) can be stored inside Fragment Table waiting for remaining fragments. To keep mempool size under reasonable limits and to avoid situation when one RX queue can starve other queues, each RX queue uses its own mempool. diff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c index 744a1aa9b4..1e4471891b 100644 --- a/examples/ip_fragmentation/main.c +++ b/examples/ip_fragmentation/main.c @@ -71,7 +71,7 @@ /* * Max number of fragments per packet expected - defined by config file. */ -#define MAX_PACKET_FRAG RTE_LIBRTE_IP_FRAG_MAX_FRAG +#define MAX_PACKET_FRAG RTE_IP_FRAG_MAX_FRAG #define NB_MBUF 8192 diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c index bd0b1d31de..16607d99f3 100644 --- a/examples/ip_reassembly/main.c +++ b/examples/ip_reassembly/main.c @@ -69,7 +69,7 @@ #define MIN_FLOW_TTL 1 #define DEF_FLOW_TTL MS_PER_S -#define MAX_FRAG_NUM RTE_LIBRTE_IP_FRAG_MAX_FRAG +#define MAX_FRAG_NUM RTE_IP_FRAG_MAX_FRAG /* Should be power of two. */ #define IP_FRAG_TBL_BUCKET_ENTRIES 16 diff --git a/examples/ipsec-secgw/ipsec_worker.h b/examples/ipsec-secgw/ipsec_worker.h index ac980b8bcf..918e6b5200 100644 --- a/examples/ipsec-secgw/ipsec_worker.h +++ b/examples/ipsec-secgw/ipsec_worker.h @@ -291,7 +291,7 @@ send_fragment_packet(struct lcore_conf *qconf, struct rte_mbuf *m, len = tbl->len; /* free space for new fragments */ - if (len + RTE_LIBRTE_IP_FRAG_MAX_FRAG >= RTE_DIM(tbl->m_table)) { + if (len + RTE_IP_FRAG_MAX_FRAG >= RTE_DIM(tbl->m_table)) { send_burst(qconf, len, port); len = 0; } diff --git a/lib/ip_frag/ip_reassembly.h b/lib/ip_frag/ip_reassembly.h index a9f97aefca..77c22ca9d1 100644 --- a/lib/ip_frag/ip_reassembly.h +++ b/lib/ip_frag/ip_reassembly.h @@ -16,7 +16,7 @@ enum { IP_LAST_FRAG_IDX, /* index of last fragment */ IP_FIRST_FRAG_IDX, /* index of first fragment */ IP_MIN_FRAG_NUM, /* minimum number of fragments */ - IP_MAX_FRAG_NUM = RTE_LIBRTE_IP_FRAG_MAX_FRAG, + IP_MAX_FRAG_NUM = RTE_IP_FRAG_MAX_FRAG, /* maximum number of fragments per packet */ }; diff --git a/lib/ip_frag/rte_ip_frag.h b/lib/ip_frag/rte_ip_frag.h index 2ad318096b..6465ec316b 100644 --- a/lib/ip_frag/rte_ip_frag.h +++ b/lib/ip_frag/rte_ip_frag.h @@ -32,7 +32,7 @@ struct rte_mbuf; /** death row size in mbufs */ #define RTE_IP_FRAG_DEATH_ROW_MBUF_LEN \ - (RTE_IP_FRAG_DEATH_ROW_LEN * (RTE_LIBRTE_IP_FRAG_MAX_FRAG + 1)) + (RTE_IP_FRAG_DEATH_ROW_LEN * (RTE_IP_FRAG_MAX_FRAG + 1)) /** mbuf death row (packets to be freed) */ struct rte_ip_frag_death_row {