@@ -96,15 +96,6 @@ void odp_packet_free(odp_packet_t pkt);
int odp_packet_reset(odp_packet_t pkt, uint32_t len);
/**
- * Convert a buffer handle to a packet handle
- *
- * @param buf Buffer handle
- *
- * @return Packet handle
- */
-odp_packet_t odp_packet_from_buffer(odp_buffer_t buf);
-
-/**
* Get packet handle from event
*
* Converts an ODP_EVENT_PACKET type event to a packet.
@@ -257,15 +257,12 @@ odp_packet_t _odp_packet_alloc(odp_buffer_pool_t pool_hdl);
int _odp_packet_parse(odp_packet_t pkt);
-/*
- * Convert a packet handle to a buffer handle
- *
- * @param pkt Packet handle
- *
- * @return Buffer handle
- */
+/* Convert a packet handle to a buffer handle */
odp_buffer_t _odp_packet_to_buffer(odp_packet_t pkt);
+/* Convert a buffer handle to a packet handle */
+odp_packet_t _odp_packet_from_buffer(odp_buffer_t buf);
+
#ifdef __cplusplus
}
#endif
@@ -65,7 +65,7 @@ int odp_packet_reset(odp_packet_t pkt, uint32_t len)
return 0;
}
-odp_packet_t odp_packet_from_buffer(odp_buffer_t buf)
+odp_packet_t _odp_packet_from_buffer(odp_buffer_t buf)
{
return (odp_packet_t)buf;
}
@@ -340,7 +340,7 @@ odp_pktio_t odp_pktio_lookup(const char *dev)
return id;
}
-static int deq_loopback(pktio_entry_t *pktio_entry, odp_packet_t pkt_tbl[],
+static int deq_loopback(pktio_entry_t *pktio_entry, odp_packet_t pkts[],
unsigned len)
{
int nbr, i;
@@ -351,8 +351,8 @@ static int deq_loopback(pktio_entry_t *pktio_entry, odp_packet_t pkt_tbl[],
nbr = queue_deq_multi(qentry, hdr_tbl, len);
for (i = 0; i < nbr; ++i) {
- pkt_tbl[i] = odp_packet_from_buffer(odp_hdr_to_buf(hdr_tbl[i]));
- _odp_packet_parse(pkt_tbl[i]);
+ pkts[i] = _odp_packet_from_buffer(odp_hdr_to_buf(hdr_tbl[i]));
+ _odp_packet_parse(pkts[i]);
}
return nbr;
@@ -500,7 +500,7 @@ odp_queue_t odp_pktio_outq_getdef(odp_pktio_t id)
int pktout_enqueue(queue_entry_t *qentry, odp_buffer_hdr_t *buf_hdr)
{
- odp_packet_t pkt = odp_packet_from_buffer(buf_hdr->handle.handle);
+ odp_packet_t pkt = _odp_packet_from_buffer(buf_hdr->handle.handle);
int len = 1;
int nbr;
@@ -522,7 +522,7 @@ int pktout_enq_multi(queue_entry_t *qentry, odp_buffer_hdr_t *buf_hdr[],
int i;
for (i = 0; i < num; ++i)
- pkt_tbl[i] = odp_packet_from_buffer(buf_hdr[i]->handle.handle);
+ pkt_tbl[i] = _odp_packet_from_buffer(buf_hdr[i]->handle.handle);
nbr = odp_pktio_send(qentry->s.pktout, pkt_tbl, num);
return (nbr == num ? 0 : -1);
@@ -61,9 +61,7 @@ static void alg_test(enum odp_crypto_op op,
CU_ASSERT(status == ODP_CRYPTO_SES_CREATE_ERR_NONE);
/* Prepare input data */
- odp_buffer_t buf = odp_buffer_alloc(pool);
- CU_ASSERT(buf != ODP_BUFFER_INVALID);
- odp_packet_t pkt = odp_packet_from_buffer(buf);
+ odp_packet_t pkt = odp_packet_alloc(pool, input_vec_len);
CU_ASSERT(pkt != ODP_PACKET_INVALID);
uint8_t *data_addr = odp_packet_data(pkt);
memcpy(data_addr, input_vec, input_vec_len);
@@ -91,6 +89,9 @@ static void alg_test(enum odp_crypto_op op,
}
if (compl_new == ODP_BUFFER_INVALID) {
+ /* hack: buf is removed after crypto API update tp events */
+ odp_buffer_t buf;
+ buf = odp_buffer_from_event(odp_packet_to_event(pkt));
odp_crypto_set_operation_compl_ctx(buf, (void *)0xdeadbeef);
rc = odp_crypto_operation(&op_params, &posted, buf);
} else {
@@ -106,7 +107,7 @@ static void alg_test(enum odp_crypto_op op,
} while (compl_event == ODP_EVENT_INVALID);
if (compl_new == ODP_BUFFER_INVALID)
- CU_ASSERT(odp_buffer_from_event(compl_event) == buf)
+ CU_ASSERT(compl_event == odp_packet_to_event(pkt))
else
CU_ASSERT(odp_buffer_from_event(compl_event) == compl_new)
@@ -127,7 +128,7 @@ static void alg_test(enum odp_crypto_op op,
void *ctx = odp_crypto_get_operation_compl_ctx(odp_buffer_from_event(compl_event));
CU_ASSERT(ctx == (void *)0xdeadbeef);
- odp_buffer_free(buf);
+ odp_packet_free(pkt);
}
/* This test verifies the correctness of encode (plaintext -> ciphertext)
@@ -50,9 +50,7 @@ static void alg_test(enum odp_crypto_op op,
CU_ASSERT(status == ODP_CRYPTO_SES_CREATE_ERR_NONE);
/* Prepare input data */
- odp_buffer_t buf = odp_buffer_alloc(pool);
- CU_ASSERT(buf != ODP_BUFFER_INVALID);
- odp_packet_t pkt = odp_packet_from_buffer(buf);
+ odp_packet_t pkt = odp_packet_alloc(pool, input_vec_len);
CU_ASSERT(pkt != ODP_PACKET_INVALID);
uint8_t *data_addr = odp_packet_data(pkt);
memcpy(data_addr, input_vec, input_vec_len);
@@ -80,7 +78,7 @@ static void alg_test(enum odp_crypto_op op,
}
/* TEST : odp_crypto_operation */
- rc = odp_crypto_operation(&op_params, &posted, buf);
+ rc = odp_crypto_operation(&op_params, &posted, odp_buffer_from_event(odp_packet_to_event(pkt)));
CU_ASSERT(!rc);
/* indication that the operation completed */
CU_ASSERT(!posted);
Removed buffer to packet conversion. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> --- platform/linux-generic/include/api/odp_packet.h | 9 --------- platform/linux-generic/include/odp_packet_internal.h | 11 ++++------- platform/linux-generic/odp_packet.c | 2 +- platform/linux-generic/odp_packet_io.c | 10 +++++----- test/validation/crypto/odp_crypto_test_async_inp.c | 11 ++++++----- test/validation/crypto/odp_crypto_test_sync_inp.c | 6 ++---- 6 files changed, 18 insertions(+), 31 deletions(-)