Age | Commit message (Collapse) | Author |
|
Signed-off-by: Matias Elo <matias.elo@nokia.com>
|
|
Implement new packet output queue size API for dpdk pktio.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Free possible remaining packets in the implementation's internal plain
queue during odp_pktio_close() or odp_pktout_queue_config().
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Implement new packet output queue size API for loop pktio.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
When freeing copied packets after zero-copy send, copy need was checked
by accessing the packet header. At this point, the data may or may not
be valid anymore. Fix this by saving the indices of copied packets
already beforehand and use those for later access.
Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
|
|
Don't include odp_api.h header inside the implementation files as it
unnecessarily includes all API headers. The remaining includes have been
cleaned up and grouped.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Signed-off-by: Matias Elo <matias.elo@nokia.com>
|
|
Rename implementation internal copy_packet_cls_metadata() function
to _odp_packet_copy_cls_md() to better align with internal function naming
convention. The argument order has also been swapped for the same reason.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
When compiling with LTO, the compiler may complain about uninitialized
variable access in case odp_shm_info would fail. Return a pointer to a
static string instead of an uninitialized pointer in that case.
Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Add missing whitespace to `sock_init_global()` log.
Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Signed-off-by: Matias Elo <matias.elo@nokia.com>
|
|
Use common _odp_event_hdr_t in odp_buffer_hdr_t. Cache line alignment
constraint has been moved to odp_buffer_hdr_t.
The implementation internal scheduler and queue interfaces have been
modified to use event headers instead of buffer headers.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Use common _odp_event_hdr_t in odp_packet_hdr_t. Cache line alignment
constraint has been moved to odp_packet_hdr_t.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Signed-off-by: Matias Elo <matias.elo@nokia.com>
|
|
Merge fixes done to the generic packet parsing code (ad9638fd9, 50fe59300,
adae181a7) into the DPDK specific packet parsing implementation.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
|
|
Use common implementation internal debug macro ODP_DBG_LVL() to avoid
"ISO C99 requires at least one argument for the "..." in a variadic macro"
errors when building with 'pedantic' option.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Fix "format '%p' expects argument of type 'void *'" errors when building
with 'pedantic' option.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Fix "ISO C does not allow extra ';' outside of a function" errors when
building with 'pedantic' option.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Fix "ISO C forbids an empty translation unit" errors when building with
'pedantic' option.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Fix "overflow in conversion from 'int' to 'char' changes value" errors when
building with 'pedantic' option.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Merge fixes done to the generic packet parsing code (ad9638fd9, 50fe59300,
adae181a7) into the DPDK specific packet parsing implementation.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
|
|
Signed-off-by: Matias Elo <matias.elo@nokia.com>
|
|
The receive processing in loop pktio processes packets that have the same
underlying packet buffers as they had when sent. This means that, unlike
other pktios that allocate packet buffers, loop may have packets with
inconvenient segment boundaries in the receive path. Such packets may
get parsed incorrectly since loop uses a parsing function that assumes
contiguous packet data for the parsed headers.
Fix the problem by doing parsing using odp_packet_parse() which can
handle segmented packets too.
Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
|
|
Signed-off-by: Matias Elo <matias.elo@nokia.com>
|
|
Fix the check in mbuf_update() which detects if mbuf data offset needs to
be updated. The previous check didn't detect a scenario where data offset
was not at default value (caused by e.g. odp_packet_push_head()).
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
Reported-and-tested-by: Christian Hong <guochun.hgc@alibaba-inc.com>
|
|
Signed-off-by: Matias Elo <matias.elo@nokia.com>
|
|
Fix build for DPDK versions earlier than 19.11, which changed
rte_eth_allmulticast_enable() prototype (added return value).
This fix has been tested with DPDK v18.11.
Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
|
|
Add configuration option 'pktio_dpdk.multicast_en' for DPDK pktio to
enable/disable reception of all multicast frames.
Fixes: https://github.com/OpenDataPlane/odp/issues/1326
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
Reported-by: Bogdan Pricope <bogdan.pricope.2013@gmail.com>
|
|
dpdk_open() only allows netdev string to be a port number
This is to allow passing all other supported DPDK ports as well.
Signed-off-by: Vijay Ram Inavolu <vinavolu@marvell.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
|
|
Signed-off-by: Matias Elo <matias.elo@nokia.com>
|
|
Add DPDK pktio level support for the new extra packet statistics APIs.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Add netmap pktio level support for the new extra packet statistics APIs.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Add socket pktio level support for the new extra packet statistics APIs.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Add socket_mmap pktio level support for the new extra packet statistics
APIs.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Add internal wrapper functions for socket based pktio devices for reading
extra pktio statistics. The wrapper functions call either ethtool or
sysfs implementations.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Add internal functions for reading extra pktio statistics using Linux
sysfs. These functions can be used by multiple pktio devices.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Add internal functions for reading extra pktio statistics using ethtool.
These functions can be used by multiple pktio devices.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
The statistics counter names provided by ethtool are not standardized. Add
alternative counter names to compare against to increase the possibility
that all required counters are found.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Fix typo in RX dropped packet count path.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Implement per input/output queues statistics counters for DPDK pktio.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Set per input/output queue statistics counter mappings for DPDK pktio.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Implement per input/output queues statistics counters for loop pktio.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Fill new odp_pktio_stats_capability_t capability for all pktio devices
supporting statistics counters.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Add support for multicast and broadcast packet input/output statistics
counters for socket based pktio devices.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Enable POSIX and GNU extensions with DPDK parser as DPDK uses strnlen()
internally.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
DPDK pktio SNAP ethtype parsing code was using incorrect pointer.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Don't enable input hashing automatically for DPDK pktio. An application may
reasonably expect that all packets will end up in the same input queue when
input hashing is not enabled in odp_pktin_queue_param_t.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
|
|
Since there is no capability for the supported input hash protocols it's
better to just print a debug message instead of fail
odp_pktin_queue_config() if an unsupported input hash protocol was
selected.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
|
|
Signed-off-by: Matias Elo <matias.elo@nokia.com>
|
|
Signed-off-by: Matias Elo <matias.elo@nokia.com>
|