3ba2e519ea
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> |
||
---|---|---|
.. | ||
caamflib | ||
caamflib.c | ||
compat.h | ||
dpaa_list.h | ||
dpaa_of.c | ||
dpaa_of.h | ||
dpaax_iova_table.c | ||
dpaax_iova_table.h | ||
dpaax_logs.h | ||
meson.build | ||
rte_common_dpaax_version.map |