[v2,02/13] net/dpaa: fix jumbo buffer config
Checks
Commit Message
Avoid return after the jumbo buffer config in dev config API
Fixes: 9658ac3a4ef6 ("net/dpaa: set the correct frame size in device MTU")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/net/dpaa/dpaa_ethdev.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
Comments
18/09/2018 15:31, Hemant Agrawal:
> Avoid return after the jumbo buffer config in dev config API
>
> Fixes: 9658ac3a4ef6 ("net/dpaa: set the correct frame size in device MTU")
> Cc: stable@dpdk.org
>
> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Thanks for adding some comments in this series.
About this fix, would it be easier to understand if explaining
what is the bug first?
On 9/18/2018 7:33 PM, Thomas Monjalon wrote:
> 18/09/2018 15:31, Hemant Agrawal:
>> Avoid return after the jumbo buffer config in dev config API
>>
>> Fixes: 9658ac3a4ef6 ("net/dpaa: set the correct frame size in device MTU")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
> Thanks for adding some comments in this series.
>
> About this fix, would it be easier to understand if explaining
> what is the bug first?
>
>
yes. I can be more specific here.
1. the dev->data->mtu was not getting updated earlier for the jumbo
buffer config.
2. we don't expect to return error, if this config fails. A debug err
log is ok. DPAA1 - supports jumbo by default, enable/disable may give
errors.
@@ -195,11 +195,17 @@ dpaa_eth_dev_configure(struct rte_eth_dev *dev)
if (rx_offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) {
if (dev->data->dev_conf.rxmode.max_rx_pkt_len <=
DPAA_MAX_RX_PKT_LEN) {
+ DPAA_PMD_DEBUG("enabling jumbo");
fman_if_set_maxfrm(dpaa_intf->fif,
dev->data->dev_conf.rxmode.max_rx_pkt_len);
- return 0;
+ dev->data->mtu =
+ dev->data->dev_conf.rxmode.max_rx_pkt_len -
+ ETHER_HDR_LEN - ETHER_CRC_LEN - VLAN_TAG_SIZE;
} else {
- return -1;
+ DPAA_PMD_ERR("enabling jumbo err conf max len=%d "
+ "supported is %d",
+ dev->data->dev_conf.rxmode.max_rx_pkt_len,
+ DPAA_MAX_RX_PKT_LEN);
}
}
return 0;