01fa1d6215
- Set the callback in a single function that is called from ixgbe_dev_rx_init() for a primary process and from eth_ixgbe_dev_init() for a secondary processes. This is instead of multiple, hard to track places. - Added ixgbe_hw.rx_bulk_alloc_allowed - see ixgbe_hw.rx_vec_allowed description below. - Added ixgbe_hw.rx_vec_allowed: like with Bulk Allocation, Vector Rx is enabled or disabled on a per-port level. All queues have to meet the appropriate preconditions and if any of them doesn't - the feature has to be disabled. Therefore ixgbe_hw.rx_vec_allowed will be updated during each queues configuration (rte_eth_rx_queue_setup()) and then used in rte_eth_dev_start() to configure the appropriate callbacks. The same happens with ixgbe_hw.rx_vec_allowed in a Bulk Allocation context. - Bugs fixed: - Vector scattered packets callback was called regardless the appropriate preconditions: - Vector Rx specific preconditions. - Bulk Allocation preconditions. - Vector Rx was enabled/disabled according to the last queue setting and not based on all queues setting (which may be different for each queue). Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> |
||
---|---|---|
.. | ||
ixgbe | ||
ixgbe_82599_bypass.c | ||
ixgbe_bypass_api.h | ||
ixgbe_bypass_defines.h | ||
ixgbe_bypass.c | ||
ixgbe_bypass.h | ||
ixgbe_ethdev.c | ||
ixgbe_ethdev.h | ||
ixgbe_fdir.c | ||
ixgbe_logs.h | ||
ixgbe_pf.c | ||
ixgbe_rxtx_vec.c | ||
ixgbe_rxtx.c | ||
ixgbe_rxtx.h | ||
Makefile | ||
rte_pmd_ixgbe_version.map |