From patchwork Thu Dec 21 11:32:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Euan Bourke X-Patchwork-Id: 135428 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 70E5A43750; Thu, 21 Dec 2023 12:32:57 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E4AEC4027D; Thu, 21 Dec 2023 12:32:56 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id DD5CB400D6 for ; Thu, 21 Dec 2023 12:32:54 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1703158375; x=1734694375; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=91qy+C5Bf01mDHasraWQWBZMlGFScXEcCx9BdVAaL50=; b=Dx1Q6041mrmK/3o5GQWKencJD3ak9O2mYVxru5YC4bpTCxq7Kpb3rl5e VDggV//TJpNO2tFZDl3g2OvFQ/rGUk0kwMn2vZJIbWcWC4V37M8iP7n7C ErWngEG082xNPpVS9VpmCkdjDQDYhi4evgM4u56sej1ppbC7ROVzrRWv4 /Loy0sEu8GsglOhVp+4cFDuSZj09rdkJDtT8ZBmARn+o/HiT3nI4UX63O MjsKJzi0un3fZ3MJQ7VWCFZkmhERAdAssDMyKF0SkGoyzw5tTxqyYUzDm 5u0t8ayZGBdpgfP4Ck8yCY9ILYef5CUa77Mim5wm6TsqzHK0Se4uBwWxv g==; X-IronPort-AV: E=McAfee;i="6600,9927,10930"; a="394853938" X-IronPort-AV: E=Sophos;i="6.04,293,1695711600"; d="scan'208";a="394853938" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Dec 2023 03:32:53 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10930"; a="842605427" X-IronPort-AV: E=Sophos;i="6.04,293,1695711600"; d="scan'208";a="842605427" Received: from unknown (HELO silpixa00400630.ir.intel.com) ([10.237.213.151]) by fmsmga008.fm.intel.com with ESMTP; 21 Dec 2023 03:32:52 -0800 From: Euan Bourke To: dev@dpdk.org Cc: Euan Bourke , Thomas Monjalon , Bruce Richardson , Konstantin Ananyev Subject: [PATCH v2 1/2] doc: updated incorrect value for IP frag max fragments Date: Thu, 21 Dec 2023 11:32:41 +0000 Message-Id: <20231221113242.3351356-1-euan.bourke@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: 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 + config/rte_config.h | 4 +++- doc/guides/prog_guide/ip_fragment_reassembly_lib.rst | 7 ++++++- 3 files changed, 10 insertions(+), 2 deletions(-) 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/config/rte_config.h b/config/rte_config.h index da265d7dd2..a3f92354f8 100644 --- a/config/rte_config.h +++ b/config/rte_config.h @@ -84,8 +84,10 @@ /* rawdev defines */ #define RTE_RAWDEV_MAX_DEVS 64 -/* ip_fragmentation defines */ +/* ip_fragmentation defines 8< */ #define RTE_LIBRTE_IP_FRAG_MAX_FRAG 8 +/* >8 End of ip_fragmentation defines */ + // 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 314d4adbb8..5010472246 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 8< + :end-before: >8 End of ip_fragmentation defines Code example, that demonstrates creation of a new Fragment table: From patchwork Thu Dec 21 11:32:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Euan Bourke X-Patchwork-Id: 135429 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 8878543750; Thu, 21 Dec 2023 12:33:02 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0512B4068A; Thu, 21 Dec 2023 12:33:00 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 915454064A for ; Thu, 21 Dec 2023 12:32:57 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1703158377; x=1734694377; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=6+NuEQKY92fFBWunT3N0jSJioODzOXxmwcg0ossfgWc=; b=dITeNGPbswDlsSHppMwsk2LappF5p0SQxwoExGeEg220TLiTfEjEUVbV 3mprntSAi/9jcC/Cqqy3uwHQY5zpRtsWVikzkjmkZMttQbLBgeKFWTOs9 qME6QrSsnOdp/Wr1Ihy4Gmh3EFAfO4V1SKNoCeKaEQgPYZivnSVb9y7sC TixhLvVjThG4sX8bnTveAAExY3GGREQocYkZeO8GsW67PAmL89Ry9+cku d7vcIQjJCC+IfXFe9V5RTR955QyOOJW/qqusiUiheFAHK42hOdSclhiqe n9vw7caj0EBl/DX7aoPOuKTOm0HiB5CqdIDp3ae8Axh1LnKf5U9EM7kOo w==; X-IronPort-AV: E=McAfee;i="6600,9927,10930"; a="394853944" X-IronPort-AV: E=Sophos;i="6.04,293,1695711600"; d="scan'208";a="394853944" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Dec 2023 03:32:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10930"; a="842605438" X-IronPort-AV: E=Sophos;i="6.04,293,1695711600"; d="scan'208";a="842605438" Received: from unknown (HELO silpixa00400630.ir.intel.com) ([10.237.213.151]) by fmsmga008.fm.intel.com with ESMTP; 21 Dec 2023 03:32:55 -0800 From: Euan Bourke To: dev@dpdk.org Cc: Euan Bourke , Konstantin Ananyev , Bruce Richardson , Radu Nicolau , Akhil Goyal Subject: [PATCH v2 2/2] ip_frag: updated name for IP frag define Date: Thu, 21 Dec 2023 11:32:42 +0000 Message-Id: <20231221113242.3351356-2-euan.bourke@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231221113242.3351356-1-euan.bourke@intel.com> References: <20231221113242.3351356-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 a3f92354f8..1f4567b0d2 100644 --- a/config/rte_config.h +++ b/config/rte_config.h @@ -85,7 +85,7 @@ #define RTE_RAWDEV_MAX_DEVS 64 /* ip_fragmentation defines 8< */ -#define RTE_LIBRTE_IP_FRAG_MAX_FRAG 8 +#define RTE_IP_FRAG_MAX_FRAG 8 /* >8 End of ip_fragmentation defines */ // RTE_LIBRTE_IP_FRAG_TBL_STAT is not set diff --git a/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst b/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst index 5010472246..176186e3ea 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 8< 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 {