This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "".
The branch, master has been updated via a3e06266d1d6063ad1bf7176b02634f456433ef4 (commit) via 9950baeb2203305e987013d8eedba1935a4530f9 (commit) via e8a456d98cfdf8ec645142f3dc87e05c349bc4f6 (commit) via ae888a272b644e77c97235a0025bdfadeeb91e65 (commit) via 632122387dec01a8663fdd9c08fd5bfa628e94b0 (commit) via de6ad3f90e98fcf0b53fda77a104313aca016f62 (commit) via 2bab933729635c4e1febad7b70739d939ffb83d0 (commit) via 63895aa11208343e731d7ce3cabf21ed25603ad0 (commit) via 17220218dbae2b69a3fc4f132d18aaa980034675 (commit) via 8b6a0bc62379c638c6fe112f2205fb7c79f56076 (commit) from d26fd80e75f6ff310afaf8c74458869a85f01934 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit a3e06266d1d6063ad1bf7176b02634f456433ef4 Author: Petri Savolainen petri.savolainen@nokia.com Date: Thu Nov 7 10:59:54 2019 +0200
validation: pktio: test odp_packet_input_set()
Test the new, packet input interface set function during pktio tests.
Signed-off-by: Petri Savolainen petri.savolainen@nokia.com Reviewed-by: Matias Elo matias.elo@nokia.com
diff --git a/test/validation/api/pktio/pktio.c b/test/validation/api/pktio/pktio.c index a261067b8..773d5bf2a 100644 --- a/test/validation/api/pktio/pktio.c +++ b/test/validation/api/pktio/pktio.c @@ -879,6 +879,14 @@ static void pktio_txrx_multi(pktio_info_t *pktio_info_a,
CU_ASSERT(odp_packet_user_ptr(pkt) == NULL);
+ odp_packet_input_set(pkt, ODP_PKTIO_INVALID); + CU_ASSERT(odp_packet_input(pkt) == ODP_PKTIO_INVALID); + CU_ASSERT(odp_packet_input_index(pkt) < 0); + + odp_packet_input_set(pkt, pktio_b); + CU_ASSERT(odp_packet_input(pkt) == pktio_b); + CU_ASSERT(odp_packet_input_index(pkt) == pktio_index_b); + /* Dummy read to ones complement in case pktio has set it */ sum = odp_packet_ones_comp(pkt, &range); if (range.length > 0)
commit 9950baeb2203305e987013d8eedba1935a4530f9 Author: Petri Savolainen petri.savolainen@nokia.com Date: Wed Nov 6 15:35:13 2019 +0200
linux-gen: packet: implement odp_packet_input_set()
Implemented the new API function.
Signed-off-by: Petri Savolainen petri.savolainen@nokia.com Reviewed-by: Matias Elo matias.elo@nokia.com
diff --git a/platform/linux-generic/odp_packet.c b/platform/linux-generic/odp_packet.c index e9dccb8e8..a0bfce6e4 100644 --- a/platform/linux-generic/odp_packet.c +++ b/platform/linux-generic/odp_packet.c @@ -1093,6 +1093,13 @@ void odp_packet_user_ptr_set(odp_packet_t pkt, const void *ptr) pkt_hdr->p.flags.user_ptr_set = 1; }
+void odp_packet_input_set(odp_packet_t pkt, odp_pktio_t pktio) +{ + odp_packet_hdr_t *pkt_hdr = packet_hdr(pkt); + + pkt_hdr->input = pktio; +} + int odp_packet_l2_offset_set(odp_packet_t pkt, uint32_t offset) { odp_packet_hdr_t *pkt_hdr = packet_hdr(pkt);
commit e8a456d98cfdf8ec645142f3dc87e05c349bc4f6 Author: Petri Savolainen petri.savolainen@nokia.com Date: Wed Nov 6 15:20:21 2019 +0200
api: packet: add odp_packet_input_set()
An application may use this for testing or other purposes, when perception of the packet input interface need to be changed.
Signed-off-by: Petri Savolainen petri.savolainen@nokia.com Reviewed-by: Matias Elo matias.elo@nokia.com Reviewed-by: Stanislaw Kardach skardach@marvell.com
diff --git a/include/odp/api/spec/packet.h b/include/odp/api/spec/packet.h index 91eb6c652..cbc3c2cbd 100644 --- a/include/odp/api/spec/packet.h +++ b/include/odp/api/spec/packet.h @@ -1507,6 +1507,22 @@ odp_pool_t odp_packet_pool(odp_packet_t pkt); */ odp_pktio_t odp_packet_input(odp_packet_t pkt);
+/** + * Set packet input interface + * + * Set packet input interface to a valid packet IO handle or ODP_PKTIO_INVALID. + * An application may use this for testing or other purposes, when perception + * of the packet input interface need to be changed. The call updates both + * input interface handle (odp_packet_input()) and index + * (odp_packet_input_index()). + * + * @param pkt Packet handle + * @param pktio Handle to a valid packet input interface or ODP_PKTIO_INVALID. + * ODP_PKTIO_INVALID indicates that the packet was not received by + * any packet IO interface. + */ +void odp_packet_input_set(odp_packet_t pkt, odp_pktio_t pktio); + /** * Packet input interface index *
commit ae888a272b644e77c97235a0025bdfadeeb91e65 Author: Petri Savolainen petri.savolainen@nokia.com Date: Thu Nov 7 11:55:01 2019 +0200
validation: pktio: test user pointer on receive
Test user pointer is NULL on packet receive. Set it before sending as e.g. a software loopback interface needs to clear it before receive.
Signed-off-by: Petri Savolainen petri.savolainen@nokia.com Reviewed-by: Matias Elo matias.elo@nokia.com
diff --git a/test/validation/api/pktio/pktio.c b/test/validation/api/pktio/pktio.c index 9b163e000..a261067b8 100644 --- a/test/validation/api/pktio/pktio.c +++ b/test/validation/api/pktio/pktio.c @@ -491,6 +491,9 @@ static int create_packets_udp(odp_packet_t pkt_tbl[],
pktio_pkt_set_macs(pkt_tbl[i], pktio_src, pktio_dst);
+ /* Set user pointer. It should be NULL on receive side. */ + odp_packet_user_ptr_set(pkt_tbl[i], (void *)1); + if (fix_cs) ret = pktio_fixup_checksums(pkt_tbl[i]); else @@ -874,6 +877,8 @@ static void pktio_txrx_multi(pktio_info_t *pktio_info_a, CU_ASSERT(odp_packet_has_udp(pkt)); }
+ CU_ASSERT(odp_packet_user_ptr(pkt) == NULL); + /* Dummy read to ones complement in case pktio has set it */ sum = odp_packet_ones_comp(pkt, &range); if (range.length > 0)
commit 632122387dec01a8663fdd9c08fd5bfa628e94b0 Author: Petri Savolainen petri.savolainen@nokia.com Date: Thu Nov 7 14:33:01 2019 +0200
linux-gen: loop: update pkt_hdr when cls rule change pool
Fix packet header pointer issue. It remained to point the old (freed) packet, when the packet is copied into another pool due to a classifier rule.
Signed-off-by: Petri Savolainen petri.savolainen@nokia.com Reviewed-by: Matias Elo matias.elo@nokia.com
diff --git a/platform/linux-generic/pktio/loop.c b/platform/linux-generic/pktio/loop.c index b82793b47..a79d015cb 100644 --- a/platform/linux-generic/pktio/loop.c +++ b/platform/linux-generic/pktio/loop.c @@ -161,7 +161,9 @@ static int loopback_recv(pktio_entry_t *pktio_entry, int index ODP_UNUSED, failed++; continue; } + pkt = new_pkt; + pkt_hdr = packet_hdr(new_pkt); } } else { packet_parse_layer(pkt_hdr,
commit de6ad3f90e98fcf0b53fda77a104313aca016f62 Author: Petri Savolainen petri.savolainen@nokia.com Date: Thu Nov 7 14:08:41 2019 +0200
linux-gen: pktio: reset all flags on packet input
User pointer and pktout flags need to be reset also on packet input. Packet parse API function does not reset non-parser flags (like user pointer).
Signed-off-by: Petri Savolainen petri.savolainen@nokia.com Reviewed-by: Matias Elo matias.elo@nokia.com
diff --git a/platform/linux-generic/include/odp_packet_internal.h b/platform/linux-generic/include/odp_packet_internal.h index a0e33222e..cd6ca0845 100644 --- a/platform/linux-generic/include/odp_packet_internal.h +++ b/platform/linux-generic/include/odp_packet_internal.h @@ -267,7 +267,18 @@ int packet_parse_layer(odp_packet_hdr_t *pkt_hdr, odp_proto_chksums_t chksums);
/* Reset parser metadata for a new parse */ -void packet_parse_reset(odp_packet_hdr_t *pkt_hdr); +static inline void packet_parse_reset(odp_packet_hdr_t *pkt_hdr, int all) +{ + pkt_hdr->p.input_flags.all = 0; + pkt_hdr->p.l2_offset = ODP_PACKET_OFFSET_INVALID; + pkt_hdr->p.l3_offset = ODP_PACKET_OFFSET_INVALID; + pkt_hdr->p.l4_offset = ODP_PACKET_OFFSET_INVALID; + + if (all) + pkt_hdr->p.flags.all_flags = 0; + else /* Keep user ptr and pktout flags */ + pkt_hdr->p.flags.all.error = 0; +}
static inline int packet_hdr_has_l2(odp_packet_hdr_t *pkt_hdr) { diff --git a/platform/linux-generic/odp_classification.c b/platform/linux-generic/odp_classification.c index 23069b662..8c6588444 100644 --- a/platform/linux-generic/odp_classification.c +++ b/platform/linux-generic/odp_classification.c @@ -1415,7 +1415,7 @@ int cls_classify_packet(pktio_entry_t *entry, const uint8_t *base, uint32_t hash;
if (parse) { - packet_parse_reset(pkt_hdr); + packet_parse_reset(pkt_hdr, 1); packet_set_len(pkt_hdr, pkt_len);
packet_parse_common(&pkt_hdr->p, base, pkt_len, seg_len, diff --git a/platform/linux-generic/odp_ipsec.c b/platform/linux-generic/odp_ipsec.c index 5511989c2..4968c87d8 100644 --- a/platform/linux-generic/odp_ipsec.c +++ b/platform/linux-generic/odp_ipsec.c @@ -778,7 +778,7 @@ static ipsec_sa_t *ipsec_in_single(odp_packet_t pkt, ODP_IPSEC_MODE_TUNNEL == ipsec_sa->mode) { odp_packet_hdr_t *pkt_hdr = packet_hdr(pkt);
- packet_parse_reset(pkt_hdr); + packet_parse_reset(pkt_hdr, 0); pkt_hdr->p.l3_offset = state.ip_offset; } else { odp_packet_parse_param_t parse_param; diff --git a/platform/linux-generic/odp_packet.c b/platform/linux-generic/odp_packet.c index e491d2512..e9dccb8e8 100644 --- a/platform/linux-generic/odp_packet.c +++ b/platform/linux-generic/odp_packet.c @@ -308,16 +308,6 @@ int _odp_packet_copy_to_mem_seg(odp_packet_t pkt, uint32_t offset,
#include <odp/visibility_end.h>
-void packet_parse_reset(odp_packet_hdr_t *pkt_hdr) -{ - /* Reset parser metadata before new parse */ - pkt_hdr->p.input_flags.all = 0; - pkt_hdr->p.flags.all.error = 0; - pkt_hdr->p.l2_offset = ODP_PACKET_OFFSET_INVALID; - pkt_hdr->p.l3_offset = ODP_PACKET_OFFSET_INVALID; - pkt_hdr->p.l4_offset = ODP_PACKET_OFFSET_INVALID; -} - static inline void link_segments(odp_packet_hdr_t *pkt_hdr[], int num) { int cur = 0; @@ -2633,7 +2623,8 @@ int odp_packet_parse(odp_packet_t pkt, uint32_t offset, if (data == NULL) return -1;
- packet_parse_reset(pkt_hdr); + /* Reset parser flags, keep other flags */ + packet_parse_reset(pkt_hdr, 0);
if (proto == ODP_PROTO_ETH) { /* Assume valid L2 header, no CRC/FCS check in SW */ diff --git a/platform/linux-generic/pktio/dpdk.c b/platform/linux-generic/pktio/dpdk.c index 039c38d36..610996685 100644 --- a/platform/linux-generic/pktio/dpdk.c +++ b/platform/linux-generic/pktio/dpdk.c @@ -575,7 +575,7 @@ static inline int mbuf_to_pkt(pktio_entry_t *pktio_entry, if (pktio_cls_enabled(pktio_entry)) { uint32_t supported_ptypes = pkt_dpdk->supported_ptypes;
- packet_parse_reset(&parsed_hdr); + packet_parse_reset(&parsed_hdr, 1); packet_set_len(&parsed_hdr, pkt_len); if (_odp_dpdk_packet_parse_common(&parsed_hdr.p, data, pkt_len, pkt_len, @@ -859,7 +859,7 @@ static inline int mbuf_to_pkt_zero(pktio_entry_t *pktio_entry, if (pktio_cls_enabled(pktio_entry)) { uint32_t supported_ptypes = pkt_dpdk->supported_ptypes;
- packet_parse_reset(&parsed_hdr); + packet_parse_reset(&parsed_hdr, 1); packet_set_len(&parsed_hdr, pkt_len); if (_odp_dpdk_packet_parse_common(&parsed_hdr.p, data, pkt_len, pkt_len, diff --git a/platform/linux-generic/pktio/loop.c b/platform/linux-generic/pktio/loop.c index 9dc6b5f94..b82793b47 100644 --- a/platform/linux-generic/pktio/loop.c +++ b/platform/linux-generic/pktio/loop.c @@ -121,7 +121,7 @@ static int loopback_recv(pktio_entry_t *pktio_entry, int index ODP_UNUSED, pkt_len = odp_packet_len(pkt); pkt_hdr = packet_hdr(pkt);
- packet_parse_reset(pkt_hdr); + packet_parse_reset(pkt_hdr, 1); if (pktio_cls_enabled(pktio_entry)) { odp_packet_t new_pkt; odp_pool_t new_pool;
commit 2bab933729635c4e1febad7b70739d939ffb83d0 Author: Petri Savolainen petri.savolainen@nokia.com Date: Thu Nov 7 14:02:01 2019 +0200
validation: ipsec: packet input resets user pointer
Do not expect user pointer to be set after packet input (when testing inline IPSec).
Signed-off-by: Petri Savolainen petri.savolainen@nokia.com Reviewed-by: Matias Elo matias.elo@nokia.com
diff --git a/test/validation/api/ipsec/ipsec.c b/test/validation/api/ipsec/ipsec.c index 6a6a3be96..705fbbabf 100644 --- a/test/validation/api/ipsec/ipsec.c +++ b/test/validation/api/ipsec/ipsec.c @@ -461,6 +461,7 @@ static void ipsec_check_packet(const ipsec_test_packet *itp, odp_packet_t pkt, uint8_t data[len]; const odph_ipv4hdr_t *itp_ip; odph_ipv4hdr_t *ip; + int inline_mode = 0;
if (NULL == itp) return; @@ -469,7 +470,18 @@ static void ipsec_check_packet(const ipsec_test_packet *itp, odp_packet_t pkt, if (ODP_PACKET_INVALID == pkt) return;
- CU_ASSERT_EQUAL(PACKET_USER_PTR, odp_packet_user_ptr(pkt)); + if ((!is_outbound && + suite_context.inbound_op_mode == ODP_IPSEC_OP_MODE_INLINE) || + (is_outbound && + suite_context.outbound_op_mode == ODP_IPSEC_OP_MODE_INLINE)) + inline_mode = 1; + + if (inline_mode) { + /* User pointer is reset during inline mode (packet IO) */ + CU_ASSERT(odp_packet_user_ptr(pkt) == NULL); + } else { + CU_ASSERT(odp_packet_user_ptr(pkt) == PACKET_USER_PTR); + }
l3 = odp_packet_l3_offset(pkt); l4 = odp_packet_l4_offset(pkt);
commit 63895aa11208343e731d7ce3cabf21ed25603ad0 Author: Petri Savolainen petri.savolainen@nokia.com Date: Thu Nov 7 11:21:02 2019 +0200
validation: pktio: check parser flags on receive
Check L2, L3 and L4 parser results when RX interface capability indicates that those are supported.
Signed-off-by: Petri Savolainen petri.savolainen@nokia.com Reviewed-by: Matias Elo matias.elo@nokia.com
diff --git a/test/validation/api/pktio/pktio.c b/test/validation/api/pktio/pktio.c index 4d33fd25a..9b163e000 100644 --- a/test/validation/api/pktio/pktio.c +++ b/test/validation/api/pktio/pktio.c @@ -749,6 +749,41 @@ static int send_packet_events(odp_queue_t queue, return 0; }
+static void check_parser_capa(odp_pktio_t pktio, int *l2, int *l3, int *l4) +{ + int ret; + odp_pktio_capability_t capa; + + *l2 = 0; + *l3 = 0; + *l4 = 0; + + ret = odp_pktio_capability(pktio, &capa); + CU_ASSERT(ret == 0); + + if (ret < 0) + return; + + switch (capa.config.parser.layer) { + case ODP_PROTO_LAYER_ALL: + /* Fall through */ + case ODP_PROTO_LAYER_L4: + *l2 = 1; + *l3 = 1; + *l4 = 1; + break; + case ODP_PROTO_LAYER_L3: + *l2 = 1; + *l3 = 1; + break; + case ODP_PROTO_LAYER_L2: + *l2 = 1; + break; + default: + break; + } +} + static void pktio_txrx_multi(pktio_info_t *pktio_info_a, pktio_info_t *pktio_info_b, int num_pkts, txrx_mode_e mode) @@ -757,10 +792,14 @@ static void pktio_txrx_multi(pktio_info_t *pktio_info_a, odp_packet_t rx_pkt[num_pkts]; uint32_t tx_seq[num_pkts]; int i, ret, num_rx; + int parser_l2, parser_l3, parser_l4; odp_pktio_t pktio_a = pktio_info_a->id; odp_pktio_t pktio_b = pktio_info_b->id; int pktio_index_b = odp_pktio_index(pktio_b);
+ /* Check RX interface parser capability */ + check_parser_capa(pktio_b, &parser_l2, &parser_l3, &parser_l4); + if (packet_len == USE_MTU) { odp_pool_capability_t pool_capa; uint32_t maxlen; @@ -822,6 +861,18 @@ static void pktio_txrx_multi(pktio_info_t *pktio_info_a, CU_ASSERT(odp_packet_input(pkt) == pktio_b); CU_ASSERT(odp_packet_input_index(pkt) == pktio_index_b); CU_ASSERT(odp_packet_has_error(pkt) == 0); + if (parser_l2) { + CU_ASSERT(odp_packet_has_l2(pkt)); + CU_ASSERT(odp_packet_has_eth(pkt)); + } + if (parser_l3) { + CU_ASSERT(odp_packet_has_l3(pkt)); + CU_ASSERT(odp_packet_has_ipv4(pkt)); + } + if (parser_l4) { + CU_ASSERT(odp_packet_has_l4(pkt)); + CU_ASSERT(odp_packet_has_udp(pkt)); + }
/* Dummy read to ones complement in case pktio has set it */ sum = odp_packet_ones_comp(pkt, &range);
commit 17220218dbae2b69a3fc4f132d18aaa980034675 Author: Petri Savolainen petri.savolainen@nokia.com Date: Thu Nov 7 10:58:34 2019 +0200
validation: pktio: check pktio index
Check pktio index in addition to the handle.
Signed-off-by: Petri Savolainen petri.savolainen@nokia.com Reviewed-by: Matias Elo matias.elo@nokia.com
diff --git a/test/validation/api/pktio/pktio.c b/test/validation/api/pktio/pktio.c index f8796c7da..4d33fd25a 100644 --- a/test/validation/api/pktio/pktio.c +++ b/test/validation/api/pktio/pktio.c @@ -749,21 +749,25 @@ static int send_packet_events(odp_queue_t queue, return 0; }
-static void pktio_txrx_multi(pktio_info_t *pktio_a, pktio_info_t *pktio_b, +static void pktio_txrx_multi(pktio_info_t *pktio_info_a, + pktio_info_t *pktio_info_b, int num_pkts, txrx_mode_e mode) { odp_packet_t tx_pkt[num_pkts]; odp_packet_t rx_pkt[num_pkts]; uint32_t tx_seq[num_pkts]; int i, ret, num_rx; + odp_pktio_t pktio_a = pktio_info_a->id; + odp_pktio_t pktio_b = pktio_info_b->id; + int pktio_index_b = odp_pktio_index(pktio_b);
if (packet_len == USE_MTU) { odp_pool_capability_t pool_capa; uint32_t maxlen;
- maxlen = odp_pktout_maxlen(pktio_a->id); - if (odp_pktout_maxlen(pktio_b->id) < maxlen) - maxlen = odp_pktout_maxlen(pktio_b->id); + maxlen = odp_pktout_maxlen(pktio_a); + if (odp_pktout_maxlen(pktio_b) < maxlen) + maxlen = odp_pktout_maxlen(pktio_b); CU_ASSERT_FATAL(maxlen > 0); packet_len = maxlen; if (packet_len > PKT_LEN_MAX) @@ -777,8 +781,7 @@ static void pktio_txrx_multi(pktio_info_t *pktio_a, pktio_info_t *pktio_b, }
/* generate test packets to send */ - ret = create_packets(tx_pkt, tx_seq, num_pkts, pktio_a->id, - pktio_b->id); + ret = create_packets(tx_pkt, tx_seq, num_pkts, pktio_a, pktio_b); if (ret != num_pkts) { CU_FAIL("failed to generate test packets"); return; @@ -787,7 +790,8 @@ static void pktio_txrx_multi(pktio_info_t *pktio_a, pktio_info_t *pktio_b, /* send packet(s) out */ if (mode == TXRX_MODE_SINGLE) { for (i = 0; i < num_pkts; ++i) { - ret = odp_pktout_send(pktio_a->pktout, &tx_pkt[i], 1); + ret = odp_pktout_send(pktio_info_a->pktout, + &tx_pkt[i], 1); if (ret != 1) { CU_FAIL_FATAL("failed to send test packet"); odp_packet_free(tx_pkt[i]); @@ -795,13 +799,13 @@ static void pktio_txrx_multi(pktio_info_t *pktio_a, pktio_info_t *pktio_b, } } } else if (mode == TXRX_MODE_MULTI) { - send_packets(pktio_a->pktout, tx_pkt, num_pkts); + send_packets(pktio_info_a->pktout, tx_pkt, num_pkts); } else { - send_packet_events(pktio_a->queue_out, tx_pkt, num_pkts); + send_packet_events(pktio_info_a->queue_out, tx_pkt, num_pkts); }
/* and wait for them to arrive back */ - num_rx = wait_for_packets(pktio_b, rx_pkt, tx_seq, + num_rx = wait_for_packets(pktio_info_b, rx_pkt, tx_seq, num_pkts, mode, ODP_TIME_SEC_IN_NS); CU_ASSERT(num_rx == num_pkts); if (num_rx != num_pkts) { @@ -815,7 +819,8 @@ static void pktio_txrx_multi(pktio_info_t *pktio_a, pktio_info_t *pktio_b, odp_packet_t pkt = rx_pkt[i];
CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID); - CU_ASSERT(odp_packet_input(pkt) == pktio_b->id); + CU_ASSERT(odp_packet_input(pkt) == pktio_b); + CU_ASSERT(odp_packet_input_index(pkt) == pktio_index_b); CU_ASSERT(odp_packet_has_error(pkt) == 0);
/* Dummy read to ones complement in case pktio has set it */
commit 8b6a0bc62379c638c6fe112f2205fb7c79f56076 Author: Petri Savolainen petri.savolainen@nokia.com Date: Thu Nov 7 14:43:31 2019 +0200
validation: cls: use odp_schedule_wait_time()
Schedule call's wait time parameter is not nanoseconds, but return value of odp_schedule_wait_time() call.
Signed-off-by: Petri Savolainen petri.savolainen@nokia.com Reviewed-by: Matias Elo matias.elo@nokia.com
diff --git a/test/validation/api/classification/odp_classification_common.c b/test/validation/api/classification/odp_classification_common.c index 851f949cc..28d762f65 100644 --- a/test/validation/api/classification/odp_classification_common.c +++ b/test/validation/api/classification/odp_classification_common.c @@ -193,8 +193,9 @@ void enqueue_pktio_interface(odp_packet_t pkt, odp_pktio_t pktio) odp_packet_t receive_packet(odp_queue_t *queue, uint64_t ns) { odp_event_t ev; + uint64_t wait = odp_schedule_wait_time(ns);
- ev = odp_schedule(queue, ns); + ev = odp_schedule(queue, wait); return odp_packet_from_event(ev); }
-----------------------------------------------------------------------
Summary of changes: include/odp/api/spec/packet.h | 16 ++++ .../linux-generic/include/odp_packet_internal.h | 13 +++- platform/linux-generic/odp_classification.c | 2 +- platform/linux-generic/odp_ipsec.c | 2 +- platform/linux-generic/odp_packet.c | 20 +++-- platform/linux-generic/pktio/dpdk.c | 4 +- platform/linux-generic/pktio/loop.c | 4 +- .../api/classification/odp_classification_common.c | 3 +- test/validation/api/ipsec/ipsec.c | 14 +++- test/validation/api/pktio/pktio.c | 91 +++++++++++++++++++--- 10 files changed, 139 insertions(+), 30 deletions(-)
hooks/post-receive