}
static __rte_always_inline void
-otx2_ssogws_head_wait(struct otx2_ssogws *ws);
+otx2_ssogws_head_wait(uint64_t base);
static __rte_always_inline int
-otx2_sec_event_tx(struct otx2_ssogws *ws, struct rte_event *ev,
- struct rte_mbuf *m, const struct otx2_eth_txq *txq,
- const uint32_t offload_flags)
+otx2_sec_event_tx(uint64_t base, struct rte_event *ev, struct rte_mbuf *m,
+ const struct otx2_eth_txq *txq, const uint32_t offload_flags)
{
uint32_t dlen, rlen, desc_headroom, extend_head, extend_tail;
struct otx2_sec_session_ipsec_ip *sess;
struct nix_iova_s nix_iova;
} *sd;
- priv = get_sec_session_private_data((void *)(m->udata64));
+ priv = get_sec_session_private_data((void *)(*rte_security_dynfield(m)));
sess = &priv->ipsec.ip;
sa = &sess->out_sa;
*/
rte_pktmbuf_append(m, extend_tail);
data = rte_pktmbuf_prepend(m, extend_head);
- data_addr = rte_pktmbuf_mtophys(m);
+ data_addr = rte_pktmbuf_iova(m);
/*
* Move the Ethernet header, to insert otx2_ipsec_fp_out_hdr prior
__mempool_check_cookies(m->pool, (void **)&m, 1, 0);
if (!ev->sched_type)
- otx2_ssogws_head_wait(ws);
+ otx2_ssogws_head_wait(base + SSOW_LF_GWS_TAG);
inst.param1 = sess->esn_hi >> 16;
inst.param2 = sess->esn_hi & 0xffff;
sess->ip_id++;
sess->esn++;
- rte_cio_wmb();
+ rte_io_wmb();
do {
otx2_lmt_mov(sess->cpt_lmtline, &inst, 2);