linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: shaozhengchao <shaozhengchao@huawei.com>
To: Cai Huoqing <cai.huoqing@linux.dev>, <leonro@nvidia.com>
Cc: caihuoqing <caihuoqing@baidu.com>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Qiao Ma <mqaio@linux.alibaba.com>,
	Christophe JAILLET <christophe.jaillet@wanadoo.fr>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	<netdev@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] net: hinic: Update the range of MTU from 256 to 9600
Date: Wed, 12 Oct 2022 17:25:21 +0800	[thread overview]
Message-ID: <15f63fd8-0f0e-26bc-c74e-fc7666c6ff88@huawei.com> (raw)
In-Reply-To: <20221012082945.10353-1-cai.huoqing@linux.dev>



On 2022/10/12 16:29, Cai Huoqing wrote:
> From: caihuoqing <caihuoqing@baidu.com>
> 
> Hinic hardware only support MTU from 256 to 9600, so set
> the max_mtu and min_mtu.
> 
> And not need to add the validity judgment when set mtu,
> because the judgment is made in net/core: dev_validate_mtu
> 
> Signed-off-by: caihuoqing <caihuoqing@baidu.com>
> ---
>   drivers/net/ethernet/huawei/hinic/hinic_dev.h  |  3 +++
>   drivers/net/ethernet/huawei/hinic/hinic_main.c |  3 ++-
>   drivers/net/ethernet/huawei/hinic/hinic_port.c | 17 +----------------
>   3 files changed, 6 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/net/ethernet/huawei/hinic/hinic_dev.h b/drivers/net/ethernet/huawei/hinic/hinic_dev.h
> index a4fbf44f944c..2bbc94c0a9c1 100644
> --- a/drivers/net/ethernet/huawei/hinic/hinic_dev.h
> +++ b/drivers/net/ethernet/huawei/hinic/hinic_dev.h
> @@ -22,6 +22,9 @@
>   
>   #define LP_PKT_CNT		64
>   
> +#define HINIC_MAX_MTU_SIZE		9600
> +#define HINIC_MIN_MTU_SIZE		256
> +
>   enum hinic_flags {
>   	HINIC_LINK_UP = BIT(0),
>   	HINIC_INTF_UP = BIT(1),
> diff --git a/drivers/net/ethernet/huawei/hinic/hinic_main.c b/drivers/net/ethernet/huawei/hinic/hinic_main.c
> index c23ee2ddbce3..41e52f775aae 100644
> --- a/drivers/net/ethernet/huawei/hinic/hinic_main.c
> +++ b/drivers/net/ethernet/huawei/hinic/hinic_main.c
> @@ -1189,7 +1189,8 @@ static int nic_dev_init(struct pci_dev *pdev)
>   	else
>   		netdev->netdev_ops = &hinicvf_netdev_ops;
>   
> -	netdev->max_mtu = ETH_MAX_MTU;
> +	netdev->max_mtu = HINIC_MAX_MTU_SIZE;
> +	netdev->min_mtu = HINIC_MIN_MTU_SIZE;
>   
>   	nic_dev = netdev_priv(netdev);
>   	nic_dev->netdev = netdev;
> diff --git a/drivers/net/ethernet/huawei/hinic/hinic_port.c b/drivers/net/ethernet/huawei/hinic/hinic_port.c
> index 28ae6f1201a8..0a39c3dffa9a 100644
> --- a/drivers/net/ethernet/huawei/hinic/hinic_port.c
> +++ b/drivers/net/ethernet/huawei/hinic/hinic_port.c
> @@ -17,9 +17,6 @@
>   #include "hinic_port.h"
>   #include "hinic_dev.h"
>   
> -#define HINIC_MIN_MTU_SIZE              256
> -#define HINIC_MAX_JUMBO_FRAME_SIZE      15872
> -
>   enum mac_op {
>   	MAC_DEL,
>   	MAC_SET,
> @@ -147,24 +144,12 @@ int hinic_port_get_mac(struct hinic_dev *nic_dev, u8 *addr)
>    **/
>   int hinic_port_set_mtu(struct hinic_dev *nic_dev, int new_mtu)
>   {
> -	struct net_device *netdev = nic_dev->netdev;
>   	struct hinic_hwdev *hwdev = nic_dev->hwdev;
>   	struct hinic_port_mtu_cmd port_mtu_cmd;
>   	struct hinic_hwif *hwif = hwdev->hwif;
>   	u16 out_size = sizeof(port_mtu_cmd);
>   	struct pci_dev *pdev = hwif->pdev;
> -	int err, max_frame;
> -
> -	if (new_mtu < HINIC_MIN_MTU_SIZE) {
> -		netif_err(nic_dev, drv, netdev, "mtu < MIN MTU size");
> -		return -EINVAL;
> -	}
> -
> -	max_frame = new_mtu + ETH_HLEN + ETH_FCS_LEN;
> -	if (max_frame > HINIC_MAX_JUMBO_FRAME_SIZE) {
> -		netif_err(nic_dev, drv, netdev, "mtu > MAX MTU size");
> -		return -EINVAL;
> -	}
> +	int err;
>   
>   	port_mtu_cmd.func_idx = HINIC_HWIF_FUNC_IDX(hwif);
>   	port_mtu_cmd.mtu = new_mtu;

Hi Cai:
	You cannot change the maximum supported jumbo frame size.
Because as far as I know, this is not compatible with the older
firmware version. If you change the maximum MTU, the maximum length
of packets received by the port will be affected with older fw. So
donot change it.

Zhengchao Shao

  reply	other threads:[~2022-10-12  9:25 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-12  8:29 [PATCH] net: hinic: Update the range of MTU from 256 to 9600 Cai Huoqing
2022-10-12  9:25 ` shaozhengchao [this message]
2022-10-12 10:32   ` Cai Huoqing
2022-10-12 15:49 ` Jakub Kicinski
2022-10-13  6:14   ` Cai Huoqing

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=15f63fd8-0f0e-26bc-c74e-fc7666c6ff88@huawei.com \
    --to=shaozhengchao@huawei.com \
    --cc=cai.huoqing@linux.dev \
    --cc=caihuoqing@baidu.com \
    --cc=christophe.jaillet@wanadoo.fr \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=gustavoars@kernel.org \
    --cc=kuba@kernel.org \
    --cc=leonro@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mqaio@linux.alibaba.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).