[dpdk-dev] [PATCH 00/13] IPv4/IPv6 fragmentation/reassembly library

Anatoly Burakov anatoly.burakov at intel.com
Wed May 28 19:32:33 CEST 2014


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



More information about the dev mailing list