[v2] net/i40e: fix scattered Rx enabling
Checks
Commit Message
No need to add additional vlan tag size for max packet size, since
for i40e, the queue's Rx Max Frame Size (rxq->max_pkt_len) already
includes the vlan header size.
Fixes: a3c83a2527e1 ("net/i40e: enable runtime queue setup")
Fixes: 4861cde46116 ("i40e: new poll mode driver")
Cc: stable@dpdk.org
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
v2:
- add missing fix in i40evf_rxq_init.
- fix checkpatch warning.
drivers/net/i40e/i40e_ethdev_vf.c | 3 +--
drivers/net/i40e/i40e_rxtx.c | 5 ++---
2 files changed, 3 insertions(+), 5 deletions(-)
Comments
Hi Qi,
> -----Original Message-----
> From: Zhang, Qi Z
> Sent: Wednesday, April 10, 2019 11:26 PM
> To: Xing, Beilei <beilei.xing@intel.com>; Lu, Wenzhuo
> <wenzhuo.lu@intel.com>
> Cc: dev@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>; stable@dpdk.org
> Subject: [PATCH v2] net/i40e: fix scattered Rx enabling
>
> No need to add additional vlan tag size for max packet size, since for i40e,
> the queue's Rx Max Frame Size (rxq->max_pkt_len) already includes the vlan
> header size.
>
> Fixes: a3c83a2527e1 ("net/i40e: enable runtime queue setup")
> Fixes: 4861cde46116 ("i40e: new poll mode driver")
> Cc: stable@dpdk.org
>
> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Looks good to me. Except it seems that the fixes don't include the VF change.
> -----Original Message-----
> From: Lu, Wenzhuo
> Sent: Friday, April 12, 2019 9:44 AM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>; Xing, Beilei <beilei.xing@intel.com>
> Cc: dev@dpdk.org; stable@dpdk.org
> Subject: RE: [PATCH v2] net/i40e: fix scattered Rx enabling
>
> Hi Qi,
>
> > -----Original Message-----
> > From: Zhang, Qi Z
> > Sent: Wednesday, April 10, 2019 11:26 PM
> > To: Xing, Beilei <beilei.xing@intel.com>; Lu, Wenzhuo
> > <wenzhuo.lu@intel.com>
> > Cc: dev@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>; stable@dpdk.org
> > Subject: [PATCH v2] net/i40e: fix scattered Rx enabling
> >
> > No need to add additional vlan tag size for max packet size, since for
> > i40e, the queue's Rx Max Frame Size (rxq->max_pkt_len) already
> > includes the vlan header size.
> >
> > Fixes: a3c83a2527e1 ("net/i40e: enable runtime queue setup")
> > Fixes: 4861cde46116 ("i40e: new poll mode driver")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
> Looks good to me. Except it seems that the fixes don't include the VF change.
Added missing fixline
Fixes: c1715402df8f ("i40evf: fix jumbo frame support")
Applied to dpdk-next-net-intel.
Thanks
Qi
@@ -1785,9 +1785,8 @@ i40evf_rxq_init(struct rte_eth_dev *dev, struct i40e_rx_queue *rxq)
}
if ((dev_data->dev_conf.rxmode.offloads & DEV_RX_OFFLOAD_SCATTER) ||
- (rxq->max_pkt_len + 2 * I40E_VLAN_TAG_SIZE) > buf_size) {
+ rxq->max_pkt_len > buf_size)
dev_data->scattered_rx = 1;
- }
return 0;
}
@@ -1718,7 +1718,7 @@ i40e_dev_rx_queue_setup_runtime(struct rte_eth_dev *dev,
(uint16_t)(rte_pktmbuf_data_room_size(rxq->mp) -
RTE_PKTMBUF_HEADROOM);
int use_scattered_rx =
- ((rxq->max_pkt_len + 2 * I40E_VLAN_TAG_SIZE) > buf_size);
+ (rxq->max_pkt_len > buf_size);
if (i40e_rx_queue_init(rxq) != I40E_SUCCESS) {
PMD_DRV_LOG(ERR,
@@ -2708,9 +2708,8 @@ i40e_rx_queue_init(struct i40e_rx_queue *rxq)
RTE_PKTMBUF_HEADROOM);
/* Check if scattered RX needs to be used. */
- if ((rxq->max_pkt_len + 2 * I40E_VLAN_TAG_SIZE) > buf_size) {
+ if (rxq->max_pkt_len > buf_size)
dev_data->scattered_rx = 1;
- }
/* Init the RX tail regieter. */
I40E_PCI_REG_WRITE(rxq->qrx_tail, rxq->nb_rx_desc - 1);