diff options
author | Matias Elo <matias.elo@nokia.com> | 2018-03-14 14:33:00 +0200 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2018-03-22 09:51:59 +0300 |
commit | 89aa8a0eb8bb389788f4fec2945d8c2bbf37c5d3 (patch) | |
tree | 8d65ab3b0c7e8b3bb3d86966e9dcb4466ac01449 /platform/linux-dpdk/include/odp_packet_io_internal.h | |
parent | 9e2ddd56caf943804fe94ff14714c8a9a5ce8a05 (diff) |
Port 5e064cd "linux-generic: pktio: genuinely sleep in timeout receive"
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform/linux-dpdk/include/odp_packet_io_internal.h')
-rw-r--r-- | platform/linux-dpdk/include/odp_packet_io_internal.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/platform/linux-dpdk/include/odp_packet_io_internal.h b/platform/linux-dpdk/include/odp_packet_io_internal.h index 83a84a1ef..081e5f0a7 100644 --- a/platform/linux-dpdk/include/odp_packet_io_internal.h +++ b/platform/linux-dpdk/include/odp_packet_io_internal.h @@ -145,6 +145,12 @@ typedef struct pktio_if_ops { odp_time_t (*pktin_ts_from_ns)(pktio_entry_t *pktio_entry, uint64_t ns); int (*recv)(pktio_entry_t *entry, int index, odp_packet_t packets[], int num); + int (*recv_tmo)(pktio_entry_t *entry, int index, odp_packet_t packets[], + int num, uint64_t wait_usecs); + int (*recv_mq_tmo)(pktio_entry_t *entry[], int index[], int num_q, + odp_packet_t packets[], int num, unsigned *from, + uint64_t wait_usecs); + int (*fd_set)(pktio_entry_t *entry, int index, fd_set *readfds); int (*send)(pktio_entry_t *entry, int index, const odp_packet_t packets[], int num); uint32_t (*mtu_get)(pktio_entry_t *pktio_entry); @@ -198,6 +204,21 @@ extern const pktio_if_ops_t loopback_pktio_ops; extern const pktio_if_ops_t dpdk_pktio_ops; extern const pktio_if_ops_t * const pktio_if_ops[]; +/* Dummy function required by odp_pktin_recv_mq_tmo() */ +static inline int +sock_recv_mq_tmo_try_int_driven(const struct odp_pktin_queue_t queues[], + unsigned num_q ODP_UNUSED, + unsigned *from ODP_UNUSED, + odp_packet_t packets[] ODP_UNUSED, + int num ODP_UNUSED, + uint64_t usecs ODP_UNUSED, + int *trial_successful) { + (void)queues; + + *trial_successful = 0; + return 0; +} + #ifdef __cplusplus } #endif |