From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 0C3E8B0A7 for ; Wed, 28 May 2014 19:32:39 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga102.fm.intel.com with ESMTP; 28 May 2014 10:32:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.98,929,1392192000"; d="scan'208";a="539055669" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by fmsmga001.fm.intel.com with ESMTP; 28 May 2014 10:32:49 -0700 Received: from sivswdev02.ir.intel.com (sivswdev02.ir.intel.com [10.237.217.46]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id s4SHWmJ3004024; Wed, 28 May 2014 18:32:48 +0100 Received: from sivswdev02.ir.intel.com (localhost [127.0.0.1]) by sivswdev02.ir.intel.com with ESMTP id s4SHWmhI031647; Wed, 28 May 2014 18:32:48 +0100 Received: (from aburakov@localhost) by sivswdev02.ir.intel.com with id s4SHWmDF031643; Wed, 28 May 2014 18:32:48 +0100 From: Anatoly Burakov To: dev@dpdk.org Date: Wed, 28 May 2014 18:32:33 +0100 Message-Id: X-Mailer: git-send-email 1.7.0.7 Subject: [dpdk-dev] [PATCH 00/13] IPv4/IPv6 fragmentation/reassembly library X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 May 2014 17:32:43 -0000 Content-Type: text/plain; charset="UTF-8" Message-ID: <20140528173233.Gj30c5C1QDl6VPD7XNwP0gR85dJh9v1fu2E57lON1_Q@z> This patch is mostly a refactoring of the fragmentation/reassembly code that was already present in sample applications. Also, support for IPv6 is added as well (although somewhat limited, since full IPv6 support would require a proper IP stack). Also, renamed ipv4_frag app to ip_fragmentation, and added IPv6 support to both ip_fragmentation and ip_reassembly app (also simplifying them in the process - e.g. dropping support for exact match and using only LPM/LPM6 for routing). Anatoly Burakov (13): ip_frag: Moving fragmentation/reassembly headers into a separate library Refactored IPv4 fragmentation into a proper library Fixing issues reported by checkpatch ip_frag: new internal common header ip_frag: removed unneeded check and macro ip_frag: renaming structures in fragmentation table to be more generic ip_frag: refactored reassembly code and made it a proper library ip_frag: renamed ipv4 frag function ip_frag: added IPv6 fragmentation support examples: renamed ipv4_frag example app to ip_fragmentation example: overhaul of ip_fragmentation example app ip_frag: add support for IPv6 reassembly examples: overhaul of ip_reassembly app config/common_bsdapp | 7 + config/common_linuxapp | 7 + examples/{ipv4_frag => ip_fragmentation}/Makefile | 2 +- examples/{ipv4_frag => ip_fragmentation}/main.c | 536 ++++++-- examples/{ipv4_frag => ip_fragmentation}/main.h | 0 examples/ip_reassembly/Makefile | 1 - examples/ip_reassembly/ipv4_frag_tbl.h | 400 ------ examples/ip_reassembly/ipv4_rsmbl.h | 425 ------ examples/ip_reassembly/main.c | 1348 +++++++------------- lib/Makefile | 1 + lib/librte_ip_frag/Makefile | 55 + lib/librte_ip_frag/ip_frag_common.h | 193 +++ lib/librte_ip_frag/ip_frag_internal.c | 421 ++++++ lib/librte_ip_frag/rte_ip_frag.h | 344 +++++ lib/librte_ip_frag/rte_ip_frag_common.c | 142 +++ .../librte_ip_frag/rte_ipv4_fragmentation.c | 91 +- lib/librte_ip_frag/rte_ipv4_reassembly.c | 191 +++ lib/librte_ip_frag/rte_ipv6_fragmentation.c | 219 ++++ lib/librte_ip_frag/rte_ipv6_reassembly.c | 218 ++++ mk/rte.app.mk | 4 + 20 files changed, 2668 insertions(+), 1937 deletions(-) rename examples/{ipv4_frag => ip_fragmentation}/Makefile (99%) rename examples/{ipv4_frag => ip_fragmentation}/main.c (57%) rename examples/{ipv4_frag => ip_fragmentation}/main.h (100%) delete mode 100644 examples/ip_reassembly/ipv4_frag_tbl.h delete mode 100644 examples/ip_reassembly/ipv4_rsmbl.h create mode 100644 lib/librte_ip_frag/Makefile create mode 100644 lib/librte_ip_frag/ip_frag_common.h create mode 100644 lib/librte_ip_frag/ip_frag_internal.c create mode 100644 lib/librte_ip_frag/rte_ip_frag.h create mode 100644 lib/librte_ip_frag/rte_ip_frag_common.c rename examples/ipv4_frag/rte_ipv4_frag.h => lib/librte_ip_frag/rte_ipv4_fragmentation.c (80%) create mode 100644 lib/librte_ip_frag/rte_ipv4_reassembly.c create mode 100644 lib/librte_ip_frag/rte_ipv6_fragmentation.c create mode 100644 lib/librte_ip_frag/rte_ipv6_reassembly.c -- 1.8.1.4