Skip to content

integrate librte_ipsec SAD into ipsec-secgw

Vladimir Medvedkin dpdk-dev 6 versions – Applied

Status from this message: Applied to dpdk-next-crypto

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v6 Latest8 patches 1 replyApplied
  2. v56 patches 3 repliesApplied
  3. v45 patches 10 repliesSuperseded
Earlier versions · 3
VersionPostedPatchesRepliesStatus
v35 patches0 repliesSuperseded
v25 patches0 repliesSuperseded
v14 patches0 repliesSuperseded

Changes in v6 from the cover letter

- add SA check for NULL pointer after rte_ipsec_sad_lookup()
- using mbuf ptype field to distinguish v4 and v6 packets
- add SAD cache size option into documentation

Patches in v6 Applied

#Subject and filesSizeRepliesApplied
1/8ipsec: move ipsec sad name length into .hlib/librte_ipsec/ipsec_sad.c lib/librte_ipsec/rte_ipsec_sad.h+12 -100 replies
2/8examples/ipsec-secgw: implement inbound SADexamples/ipsec-secgw/ipsec.h examples/ipsec-secgw/sad.c examples/ipsec-secgw/sad.h+191 -00 replies
3/8examples/ipsec-secgw: integrate inbound SADexamples/ipsec-secgw/Makefile examples/ipsec-secgw/ipsec-secgw.c examples/ipsec-secgw/ipsec.h +4 more+139 -1010 replies
4/8examples/ipsec-secgw: get rid of maximum sa limitationexamples/ipsec-secgw/ipsec.h examples/ipsec-secgw/parser.c examples/ipsec-secgw/parser.h +1 more+62 -180 replies
5/8examples/ipsec-secgw: get rid of maximum sp limitationexamples/ipsec-secgw/parser.c examples/ipsec-secgw/parser.h examples/ipsec-secgw/sp4.c +1 more+144 -420 replies
6/8examples/ipsec-secgw: add SAD cacheexamples/ipsec-secgw/ipsec-secgw.c examples/ipsec-secgw/ipsec.h examples/ipsec-secgw/sa.c +2 more+173 -410 replies
7/8examples/ipsec-secgw: set/use mbuf ptypeexamples/ipsec-secgw/ipsec-secgw.c examples/ipsec-secgw/sad.h+3 -10 replies
8/8doc: update ipsec-secgw guidedoc/guides/sample_app_ug/ipsec_secgw.rst+6 -00 replies

Reviews trailers per patch

All 8 patches have a Reviewed-by or Acked-by.

PatchKonstantin AnanyevAkhil Goyal
1/8A-b A-b
2/8A-b A-b
3/8A-b A-b
4/8A-b A-b
5/8A-b A-b
6/8A-b A-b
7/8A-b
8/8A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v6 thread

Cover letter [dpdk-dev] [PATCH v6 0/8] integrate librte_ipsec SAD into ipsec-secgw

This series integrates SA database (SAD) capabilities from ipsec library. The goal is to make ipsec-secgw RFC compliant regarding inbound SAD. Also patch series removes hardcoded limitation for maximum number of SA's and SP's.
According to our measurements, after this series of patches, ipsec-secgw performance drops by about 0-2%.

v6:
- add SA check for NULL pointer after rte_ipsec_sad_lookup()
- using mbuf ptype field to distinguish v4 and v6 packets
- add SAD cache size option into documentation

v5:
- introduce SAD cache to solve performance degradation
- ipsec_sad_add() returns an error if the key is present

v4:
- put tunnel SA's into SAD with SPI_ONLY type for performance reason

v3:
- parse SA and SP into sorted array instead of linked list

v2:
- get rid of maximum sp limitation

Vladimir Medvedkin (8):
ipsec: move ipsec sad name length into .h examples/ipsec-secgw: implement inbound SAD examples/ipsec-secgw: integrate inbound SAD examples/ipsec-secgw: get rid of maximum sa limitation examples/ipsec-secgw: get rid of maximum sp limitation examples/ipsec-secgw: add SAD cache examples/ipsec-secgw: set/use mbuf ptype
doc: update ipsec-secgw guide

 doc/guides/sample_app_ug/ipsec_secgw.rst |   6 +
 examples/ipsec-secgw/Makefile            |   1 +
 examples/ipsec-secgw/ipsec-secgw.c       |  36 ++++-
 examples/ipsec-secgw/ipsec.h             |  12 +-
 examples/ipsec-secgw/meson.build         |   2 +-
 examples/ipsec-secgw/parser.c            |   4 +
 examples/ipsec-secgw/parser.h            |   9 ++
 examples/ipsec-secgw/sa.c                | 238 ++++++++++++++++++-------------
 examples/ipsec-secgw/sad.c               | 149 +++++++++++++++++++
 examples/ipsec-secgw/sad.h               | 170 ++++++++++++++++++++++
 examples/ipsec-secgw/sp4.c               | 114 +++++++++++----
 examples/ipsec-secgw/sp6.c               | 112 +++++++++++----
 lib/librte_ipsec/ipsec_sad.c             |  20 +--
 lib/librte_ipsec/rte_ipsec_sad.h         |   2 +
 14 files changed, 696 insertions(+), 179 deletions(-)
 create mode 100644 examples/ipsec-secgw/sad.c
 create mode 100644 examples/ipsec-secgw/sad.h
Signature · 1 line
2.7.4