/* RTA header files */
#include <desc/ipsec.h>
#include <desc/pdcp.h>
+#include <desc/sdap.h>
#include <desc/algo.h>
/* Minimum job descriptor consists of a oneword job descriptor HEADER and
&cipherdata, &authdata,
0);
} else {
- if (session->dir == DIR_ENC)
- bufsize = cnstr_shdsc_pdcp_u_plane_encap(
+ if (session->dir == DIR_ENC) {
+ if (pdcp_xform->sdap_enabled)
+ bufsize = cnstr_shdsc_pdcp_sdap_u_plane_encap(
priv->flc_desc[0].desc, 1, swap,
session->pdcp.sn_size,
pdcp_xform->hfn,
pdcp_xform->pkt_dir,
pdcp_xform->hfn_threshold,
&cipherdata, p_authdata, 0);
- else if (session->dir == DIR_DEC)
- bufsize = cnstr_shdsc_pdcp_u_plane_decap(
+ else
+ bufsize = cnstr_shdsc_pdcp_u_plane_encap(
+ priv->flc_desc[0].desc, 1, swap,
+ session->pdcp.sn_size,
+ pdcp_xform->hfn,
+ pdcp_xform->bearer,
+ pdcp_xform->pkt_dir,
+ pdcp_xform->hfn_threshold,
+ &cipherdata, p_authdata, 0);
+ } else if (session->dir == DIR_DEC) {
+ if (pdcp_xform->sdap_enabled)
+ bufsize = cnstr_shdsc_pdcp_sdap_u_plane_decap(
priv->flc_desc[0].desc, 1, swap,
session->pdcp.sn_size,
pdcp_xform->hfn,
pdcp_xform->pkt_dir,
pdcp_xform->hfn_threshold,
&cipherdata, p_authdata, 0);
+ else
+ bufsize = cnstr_shdsc_pdcp_u_plane_decap(
+ priv->flc_desc[0].desc, 1, swap,
+ session->pdcp.sn_size,
+ pdcp_xform->hfn,
+ pdcp_xform->bearer,
+ pdcp_xform->pkt_dir,
+ pdcp_xform->hfn_threshold,
+ &cipherdata, p_authdata, 0);
+ }
}
if (bufsize < 0) {