From patchwork Mon Jan 8 11:36:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Euan Bourke X-Patchwork-Id: 135798 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 A194443864; Mon, 8 Jan 2024 12:36:56 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 88FC540263; Mon, 8 Jan 2024 12:36:56 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id 3BB0640261; Mon, 8 Jan 2024 12:36:55 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1704713815; x=1736249815; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=C9nEhIlAD0g5x19h0Ufl+BA1ogfAVGvNn+5gmC3quko=; b=QRdOEC7igZLDs6N8db/Lv1nBOZfb3RWMOPkk8z1LaZlD/G8QC8O+Y7rV 6qk0hz/EbFRydJby6dsOlkxSOB7cc5oP7Hvete2WVpRIBvY49oOIaSDGq wFEZJ9+CCxGPEwBlgg0szhuPFk8Q4chWY4ILtfeWzcnFawVP78b8urYER rSgPJUqDMb0wKgMMWziuRjSaaJa/gSJdO2j2dYDHFzskhYkFW+PB/VWGw guPFQMgme8yMjQEHHZJIYHrghZioFNYcZSRpd3NalICVVS16WV8bULwJj 1yr5iigEp2/ljwVcdZ98484TrnSClo/jqywvTMJoD8Eavs/U1V6a3QBTB g==; X-IronPort-AV: E=McAfee;i="6600,9927,10946"; a="388307503" X-IronPort-AV: E=Sophos;i="6.04,340,1695711600"; d="scan'208";a="388307503" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jan 2024 03:36:54 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10946"; a="954604416" X-IronPort-AV: E=Sophos;i="6.04,340,1695711600"; d="scan'208";a="954604416" Received: from unknown (HELO silpixa00400630.ir.intel.com) ([10.237.213.151]) by orsmga005.jf.intel.com with ESMTP; 08 Jan 2024 03:36:52 -0800 From: Euan Bourke To: dev@dpdk.org Cc: Euan Bourke , stable@dpdk.org, Thomas Monjalon , Konstantin Ananyev Subject: [PATCH v4 1/2] doc: updated incorrect value for IP frag max fragments Date: Mon, 8 Jan 2024 11:36:13 +0000 Message-Id: <20240108113614.3860138-1-euan.bourke@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231221174140.3369894-1-euan.bourke@intel.com> References: <20231221174140.3369894-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 Docs for IP Fragment said RTE_LIBRTE_IP_FRAG_MAX_FRAG was 4 by default, however this was changed to 8. Documentation has been updated to account for this, including a snippet of code where RTE_LIBRTE_IP_FRAG_MAX_FRAG is defined to ensure documentation stays up to date. Fixes: f8e0f8ce9030 ("ip_frag: increase default maximum of fragments") Cc: stable@dpdk.org Signed-off-by: Euan Bourke --- .mailmap | 1 + doc/guides/prog_guide/ip_fragment_reassembly_lib.rst | 8 +++++++- 2 files changed, 8 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..f3ed90d700 100644 --- a/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst +++ b/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst @@ -43,7 +43,13 @@ 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_FRAG`` fragments, +where ``RTE_LIBRTE_IP_FRAG_MAX_FRAG`` defaults to: + +.. literalinclude:: ../../../config/rte_config.h + :language: c + :start-at: #define RTE_LIBRTE_IP_FRAG_MAX_FRAG + :lines: 1 Code example, that demonstrates creation of a new Fragment table: From patchwork Mon Jan 8 11:36:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Euan Bourke X-Patchwork-Id: 135799 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 1CCD643866; Mon, 8 Jan 2024 12:37:04 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6693A4069F; Mon, 8 Jan 2024 12:37:01 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id 6DFBD4069F for ; Mon, 8 Jan 2024 12:36:59 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1704713819; x=1736249819; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=H+zZBXSqa+qgoTK6KfeG58WuJDtwKccz4MiMGhADfNA=; b=a1CcbBrBR4fsxaz0XF26VAdhjrjUrFI5EsOYwYdO3yth8ayQfCZbcvNM 7jrDfCNm7KLNjQYazoEpO/v6L4yuHmleYQq6r3H6Epo54Zcz7cqDvmLIR BU1ZfOETtM3LsDIpryjlw8NpYuROHsBDWVr7/1y+BRPJTwyQ8u9oPi0vs ZgnBAhjHN8zwsZcxxiICaa/e/tCisbggYN2GzPRiy2+B0neCh39xDAHk9 gfLmnJUDeKvFQDLZQ78/mq+S+YS5SzdPMeYvllegjzTavDfvQa/YNOP7k 1ox2q7FfzvNc8qUfRLGOAS7xvifzbG8QuOBsEi6iMQ8dJ8PfneVGarFvI w==; X-IronPort-AV: E=McAfee;i="6600,9927,10946"; a="388307522" X-IronPort-AV: E=Sophos;i="6.04,340,1695711600"; d="scan'208";a="388307522" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jan 2024 03:36:59 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10946"; a="954604452" X-IronPort-AV: E=Sophos;i="6.04,340,1695711600"; d="scan'208";a="954604452" Received: from unknown (HELO silpixa00400630.ir.intel.com) ([10.237.213.151]) by orsmga005.jf.intel.com with ESMTP; 08 Jan 2024 03:36:57 -0800 From: Euan Bourke To: dev@dpdk.org Cc: Euan Bourke , Konstantin Ananyev , Bruce Richardson , Radu Nicolau , Akhil Goyal Subject: [PATCH v4 2/2] ip_frag: updated name for IP frag define Date: Mon, 8 Jan 2024 11:36:14 +0000 Message-Id: <20240108113614.3860138-2-euan.bourke@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240108113614.3860138-1-euan.bourke@intel.com> References: <20231221174140.3369894-1-euan.bourke@intel.com> <20240108113614.3860138-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 | 8 ++++---- 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, 13 insertions(+), 13 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 f3ed90d700..d826854890 100644 --- a/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst +++ b/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst @@ -43,12 +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 of up to ``RTE_LIBRTE_IP_FRAG_MAX_FRAG`` fragments, -where ``RTE_LIBRTE_IP_FRAG_MAX_FRAG`` defaults to: +Each table entry can hold information about packets of up to ``RTE_IP_FRAG_MAX_FRAG`` fragments, +where ``RTE_IP_FRAG_MAX_FRAG`` defaults to: .. literalinclude:: ../../../config/rte_config.h :language: c - :start-at: #define RTE_LIBRTE_IP_FRAG_MAX_FRAG + :start-at: #define RTE_IP_FRAG_MAX_FRAG :lines: 1 Code example, that demonstrates creation of a new Fragment table: @@ -69,7 +69,7 @@ Also, entries that resides in the table longer then are considered and could be removed/replaced by the new ones. Note that reassembly demands a lot of mbuf's to be allocated. -At any given time up to (2 \* bucket_entries \* RTE_LIBRTE_IP_FRAG_MAX \* ) +At any given time up to (2 \* bucket_entries \* RTE_IP_FRAG_MAX_FRAG \* ) can be stored inside Fragment Table waiting for remaining fragments. Packet Reassembly diff --git a/doc/guides/sample_app_ug/ip_reassembly.rst b/doc/guides/sample_app_ug/ip_reassembly.rst index 5280bf4ea0..44684a39e2 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_FRAG 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_FRAG \* ) 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 {