net/i40e: fix compile error
Fix the compile error when RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC
is disabled.
Also fake_mbuf is required to be initialized and assigned to
additional sw_ring entries for vector PMD independent from
RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC config option.
Fixes: 4861cde461
("i40e: new poll mode driver")
Cc: stable@dpdk.org
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
This commit is contained in:
parent
9514fa2d1a
commit
0be2953129
@ -2256,11 +2256,11 @@ i40e_reset_rx_queue(struct i40e_rx_queue *rxq)
|
||||
for (i = 0; i < len * sizeof(union i40e_rx_desc); i++)
|
||||
((volatile char *)rxq->rx_ring)[i] = 0;
|
||||
|
||||
#ifdef RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC
|
||||
memset(&rxq->fake_mbuf, 0x0, sizeof(rxq->fake_mbuf));
|
||||
for (i = 0; i < RTE_PMD_I40E_RX_MAX_BURST; ++i)
|
||||
rxq->sw_ring[rxq->nb_rx_desc + i].mbuf = &rxq->fake_mbuf;
|
||||
|
||||
#ifdef RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC
|
||||
rxq->rx_nb_avail = 0;
|
||||
rxq->rx_next_avail = 0;
|
||||
rxq->rx_free_trigger = (uint16_t)(rxq->rx_free_thresh - 1);
|
||||
|
@ -109,11 +109,11 @@ struct i40e_rx_queue {
|
||||
uint16_t nb_rx_hold; /**< number of held free RX desc */
|
||||
struct rte_mbuf *pkt_first_seg; /**< first segment of current packet */
|
||||
struct rte_mbuf *pkt_last_seg; /**< last segment of current packet */
|
||||
struct rte_mbuf fake_mbuf; /**< dummy mbuf */
|
||||
#ifdef RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC
|
||||
uint16_t rx_nb_avail; /**< number of staged packets ready */
|
||||
uint16_t rx_next_avail; /**< index of next staged packets */
|
||||
uint16_t rx_free_trigger; /**< triggers rx buffer allocation */
|
||||
struct rte_mbuf fake_mbuf; /**< dummy mbuf */
|
||||
struct rte_mbuf *rx_stage[RTE_PMD_I40E_RX_MAX_BURST * 2];
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user