[dpdk-dev] net/i40e: fix data segment buffer length
Checks
Commit Message
Buffer length be configured for each data segment should not exceed
the requested value, or device may fill data that exceed the boundary
of memory that be reserved.
Fixes: 4861cde46116 ("i40e: new poll mode driver")
Cc: stable@dpdk.org
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
drivers/net/i40e/i40e_rxtx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
>From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
>Sent: Wednesday, August 2, 2017 8:22 AM
>To: Wu, Jingjing <jingjing.wu@intel.com>
>Cc: dev@dpdk.org; jianfeng.tang@intel.com; Zhang, Qi Z <qi.z.zhang@intel.com>;
>stable@dpdk.org; Tan, Jianfeng <jianfeng.tan@intel.com>
>Subject: [dpdk-dev] [PATCH] net/i40e: fix data segment buffer length
>
>Buffer length be configured for each data segment should not exceed
>the requested value, or device may fill data that exceed the boundary
>of memory that be reserved.
>
>Fixes: 4861cde46116 ("i40e: new poll mode driver")
>Cc: stable@dpdk.org
>
>Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
>Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Thanks guys, this resolved an issue that I'd encountered (as discussed off-list).
Reviewed-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
Tested-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
>---
> drivers/net/i40e/i40e_rxtx.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
>index ae64de6..d42c23c 100644
>--- a/drivers/net/i40e/i40e_rxtx.c
>+++ b/drivers/net/i40e/i40e_rxtx.c
>@@ -2474,7 +2474,7 @@ i40e_rx_queue_config(struct i40e_rx_queue *rxq)
> case I40E_FLAG_HEADER_SPLIT_DISABLED:
> default:
> rxq->rx_hdr_len = 0;
>- rxq->rx_buf_len = RTE_ALIGN(buf_size,
>+ rxq->rx_buf_len = RTE_ALIGN_FLOOR(buf_size,
> (1 << I40E_RXQ_CTX_DBUFF_SHIFT));
> rxq->hs_mode = i40e_header_split_none;
> break;
>--
>2.9.4
> >Buffer length be configured for each data segment should not exceed
> >the requested value, or device may fill data that exceed the boundary
> >of memory that be reserved.
> >
> >Fixes: 4861cde46116 ("i40e: new poll mode driver")
> >Cc: stable@dpdk.org
> >
> >Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
> >Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
>
> Thanks guys, this resolved an issue that I'd encountered (as discussed off-list).
>
> Reviewed-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
> Tested-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
Applied, thanks
@@ -2474,7 +2474,7 @@ i40e_rx_queue_config(struct i40e_rx_queue *rxq)
case I40E_FLAG_HEADER_SPLIT_DISABLED:
default:
rxq->rx_hdr_len = 0;
- rxq->rx_buf_len = RTE_ALIGN(buf_size,
+ rxq->rx_buf_len = RTE_ALIGN_FLOOR(buf_size,
(1 << I40E_RXQ_CTX_DBUFF_SHIFT));
rxq->hs_mode = i40e_header_split_none;
break;