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>
---
drivers/net/i40e/i40e_rxtx.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Comments
Hi Qi,
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
> Sent: Wednesday, March 27, 2019 7:00 PM
> To: Xing, Beilei <beilei.xing@intel.com>
> Cc: Ananyev, Konstantin <konstantin.ananyev@intel.com>; dev@dpdk.org;
> Yigit, Ferruh <ferruh.yigit@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>;
> stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] 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>
> ---
> drivers/net/i40e/i40e_rxtx.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
I find the similar case in ' i40evf_rxq_init'. Should it be fixed too?
> -----Original Message-----
> From: Lu, Wenzhuo
> Sent: Wednesday, April 10, 2019 3:29 PM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>; Xing, Beilei <beilei.xing@intel.com>
> Cc: Ananyev, Konstantin <konstantin.ananyev@intel.com>; dev@dpdk.org;
> Yigit, Ferruh <ferruh.yigit@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>;
> stable@dpdk.org
> Subject: RE: [dpdk-dev] [PATCH] net/i40e: fix scattered Rx enabling
>
> Hi Qi,
>
>
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
> > Sent: Wednesday, March 27, 2019 7:00 PM
> > To: Xing, Beilei <beilei.xing@intel.com>
> > Cc: Ananyev, Konstantin <konstantin.ananyev@intel.com>; dev@dpdk.org;
> > Yigit, Ferruh <ferruh.yigit@intel.com>; Zhang, Qi Z
> > <qi.z.zhang@intel.com>; stable@dpdk.org
> > Subject: [dpdk-dev] [PATCH] 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>
> > ---
> > drivers/net/i40e/i40e_rxtx.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> I find the similar case in ' i40evf_rxq_init'. Should it be fixed too?
Yes, that be fixed also, will send v2 to cover this.
Thanks
Qi
@@ -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,7 +2708,7 @@ 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;
}