@@ -262,7 +262,7 @@ int _odp_ipsec_sa_replay_update(ipsec_sa_t *ipsec_sa, uint32_t seq,
* @retval 0 if packet was processed and will be queue using IPsec inline
* processing
*/
-int _odp_ipsec_try_inline(odp_packet_t pkt);
+int _odp_ipsec_try_inline(odp_packet_t *pkt);
/**
* @}
@@ -1628,7 +1628,7 @@ int odp_ipsec_out_enq(const odp_packet_t pkt_in[], int num_in,
return in_pkt;
}
-int _odp_ipsec_try_inline(odp_packet_t pkt)
+int _odp_ipsec_try_inline(odp_packet_t *pkt)
{
odp_ipsec_op_status_t status;
ipsec_sa_t *ipsec_sa;
@@ -1637,7 +1637,7 @@ int _odp_ipsec_try_inline(odp_packet_t pkt)
memset(&status, 0, sizeof(status));
- ipsec_sa = ipsec_in_single(pkt, ODP_IPSEC_SA_INVALID, &pkt, &status);
+ ipsec_sa = ipsec_in_single(*pkt, ODP_IPSEC_SA_INVALID, pkt, &status);
/*
* Route packet back in case of lookup failure or early error before
* lookup
@@ -1645,14 +1645,14 @@ int _odp_ipsec_try_inline(odp_packet_t pkt)
if (NULL == ipsec_sa)
return -1;
- packet_subtype_set(pkt, ODP_EVENT_PACKET_IPSEC);
- result = ipsec_pkt_result(pkt);
+ packet_subtype_set(*pkt, ODP_EVENT_PACKET_IPSEC);
+ result = ipsec_pkt_result(*pkt);
memset(result, 0, sizeof(*result));
result->status = status;
result->sa = ipsec_sa->ipsec_sa_hdl;
result->flag.inline_mode = 1;
- pkt_hdr = packet_hdr(pkt);
+ pkt_hdr = packet_hdr(*pkt);
pkt_hdr->p.input_flags.dst_queue = 1;
pkt_hdr->dst_queue = queue_fn->from_ext(ipsec_sa->queue);
@@ -156,7 +156,7 @@ static int loopback_recv(pktio_entry_t *pktio_entry, int index ODP_UNUSED,
/* Try IPsec inline processing */
if (pktio_entry->s.config.inbound_ipsec &&
odp_packet_has_ipsec(pkt))
- _odp_ipsec_try_inline(pkt);
+ _odp_ipsec_try_inline(&pkt);
pktio_entry->s.stats.in_octets += pkt_len;
pkts[num_rx++] = pkt;