[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <bff2d1ee-6bd6-1682-be49-f10ee3b20f9f@aquantia.com>
Date: Fri, 22 Sep 2017 10:24:30 +0300
From: Igor Russkikh <igor.russkikh@...antia.com>
To: Andrew Lunn <andrew@...n.ch>
Cc: "David S . Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
David Arcari <darcari@...hat.com>,
Pavel Belous <Pavel.Belous@...antia.com>,
Nadezhda Krupnina <Nadezhda.Krupnina@...antia.com>,
Simon Edelhaus <simon.edelhaus@...antia.com>
Subject: Re: [PATCH net 1/4] net:ethernet:aquantia: Setup max_mtu in ndev to
enable jumbo frames
>> self->ndev->mtu = aq_nic_cfg->mtu - ETH_HLEN;
>> + self->ndev->min_mtu = ETH_MIN_MTU;
> This is not required. It will default to ETH_MIN_MTU.
Thanks Andrew, true.
>> + self->ndev->max_mtu = self->aq_hw_caps.mtu - ETH_FCS_LEN - ETH_HLEN;
>>
>> return 0;
>> }
>> @@ -695,7 +696,7 @@ int aq_nic_set_mtu(struct aq_nic_s *self, int new_mtu)
>> {
>> int err = 0;
>>
>> - if (new_mtu > self->aq_hw_caps.mtu) {
>> + if (new_mtu + ETH_FCS_LEN > self->aq_hw_caps.mtu) {
> If you have set max_mtu correctly, this cannot happen. But it seems
> odd you don't have ETH_HLEN here, where as when setting max_mtu you
> do.
I agree, thats an extra check. Will remove that.
Regarding ETH_HLEN - the baseline code invokes this function with (new_mtu + ETH_HLEN) - thats why this check does not add it. In general, that extra level of storage (aq_nic_cfg.mtu field) is almost useless, I'll cleanup this under a separate patchset.
--
BR,
Igor
Powered by blists - more mailing lists