[0/7] support PDCP-SDAP for dpaa2_sec

Message ID 20200903160652.31654-1-akhil.goyal@nxp.com (mailing list archive)


Akhil Goyal Sept. 3, 2020, 4:06 p.m. UTC
  From: Akhil Goyal <akhil.goyal@nxp.com>

The SDAP is a protocol in the LTE stack on top of PDCP. It is
dedicated to QoS.

The difficulty of implementing this protocol is because the
PDCP change behavior regarding encryption and authentication
of the SDU it receives. In effect PDCP shall not encrypt the
SDAP SDU but must authenticate it (when encryption and
authentication is enabled).

A new field is added in the PDCP xform to specify SDAP is enabled.
The overall size of the xform is not changed, as hfn_ovrd is just
a flag and does not need uint32. Hence, it is converted to uint8_t
and a 16 bit reserved field is added for future.

The corresponding test cases and test vectors are added in the test

Akhil Goyal (3):
  security: modify PDCP xform to support SDAP
  crypto/dpaa2_sec: enable PDCP-SDAP sessions
  crypto/dpaa_sec: enable PDCP-SDAP sessions

Franck LENORMAND (4):
  common/dpaax/caamflib: Support PDCP-SDAP
  test/crypto: Add test vectors for PDCP-SDAP
  test/crypto: Modify test_pdcp_proto to take parameters
  test/crypto: Add PDCP-SDAP cases

 app/test/test_cryptodev.c                     |  278 +-
 ...ryptodev_security_pdcp_sdap_test_vectors.h | 3619 +++++++++++++++++
 doc/guides/prog_guide/rte_security.rst        |   19 +-
 drivers/common/dpaax/caamflib/desc/pdcp.h     |    8 +
 drivers/common/dpaax/caamflib/desc/sdap.h     | 1063 +++++
 drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c   |   30 +-
 drivers/crypto/dpaa_sec/dpaa_sec.c            |   63 +-
 drivers/crypto/dpaa_sec/dpaa_sec.h            |    3 +-
 lib/librte_security/rte_security.h            |   12 +-
 9 files changed, 4990 insertions(+), 105 deletions(-)
 create mode 100644 app/test/test_cryptodev_security_pdcp_sdap_test_vectors.h
 create mode 100644 drivers/common/dpaax/caamflib/desc/sdap.h