Go to file
Franck Lenormand 3ba2e519ea common/dpaax/caamflib: support PDCP-SDAP
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).

The current version of SEC does not support the SDAP and the
change of behavior of PDCP prevent the use of the PDCP
protocol command available.

The way to do it is to reuse the PDCP implementation but to
not use the PDCP protocol and to have descriptors which
performs the PDCP protocol.

It is implemented by doing small changes of code:
        #ifdef SDAP_SUPPORT
                length += SDAP_BYTE_SIZE;
                offset -= SDAP_BYTE_SIZE;
        #endif
after having computed the size of the SN to read from the
input data, then
        #ifdef SDAP_SUPPORT
                MATHI(p, MATH0, LSHIFT, 8, MATH1, 8, 0);
                MATHB(p, MATH1, AND, sn_mask, MATH1, 8, IFB | IMMED2);
        #else
                MATHB(p, MATH0, AND, sn_mask, MATH1, 8, IFB | IMMED2);
        #endif
It will keep the SN and the SDAP header in MATH0, then shift
it to remove the SDAP header and store the result in MATH1.

Signed-off-by: Franck Lenormand <franck.lenormand@nxp.com>
Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
2020-10-14 22:24:41 +02:00
.ci ci: reduce examples in static builds 2020-04-17 23:34:08 +02:00
app test/event_crypto_adapter: fix configuration 2020-10-14 22:22:06 +02:00
buildtools pmdinfogen: fix build with gcc 11 2020-10-08 12:45:54 +02:00
config cmdline: support Windows 2020-10-15 00:39:10 +02:00
devtools support python 3 only 2020-10-02 13:51:00 +02:00
doc cryptodev: remove algo lists end 2020-10-14 22:22:06 +02:00
drivers common/dpaax/caamflib: support PDCP-SDAP 2020-10-14 22:24:41 +02:00
examples examples/fips_validation: update GCM test 2020-10-14 22:22:06 +02:00
kernel kernel/linux: remove igb_uio 2020-10-06 14:50:13 +02:00
lib cryptodev: remove algo lists end 2020-10-14 22:22:06 +02:00
license eal: move OS-specific sub-directories 2020-03-31 13:08:55 +02:00
usertools usertools: add OCTEON TX2 REE device binding 2020-10-14 10:41:26 +02:00
.editorconfig devtools: add EditorConfig file 2020-02-22 21:05:22 +01:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore regex/mlx5: introduce driver for BlueField 2 2020-07-21 19:04:05 +02:00
.travis.yml ci: add tests jobs in aarch64 vm 2020-09-30 21:52:54 +02:00
ABI_VERSION version: 20.11-rc0 2020-08-12 11:32:16 +02:00
MAINTAINERS crypto/bcmfs: add session handling and capabilities 2020-10-14 22:22:06 +02:00
Makefile build: create dummy Makefile 2020-09-07 23:51:57 +02:00
meson_options.txt trace: introduce new subsystem 2020-04-23 15:39:06 +02:00
meson.build build: check AVX512 rather than binutils version 2020-07-05 21:32:40 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
VERSION version: 20.11-rc0 2020-08-12 11:32:16 +02:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org