[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2fc052de-2d08-5517-3ee2-094364c4284f@pensando.io>
Date: Thu, 18 Jul 2019 10:14:59 -0700
From: Shannon Nelson <snelson@...sando.io>
To: Andrew Lunn <andrew@...n.ch>
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH v3 net-next 13/19] ionic: Add initial ethtool support
On 7/17/19 8:31 PM, Andrew Lunn wrote:
> On Fri, Jul 12, 2019 at 10:32:38PM -0700, Shannon Nelson wrote:
>> On 7/8/19 7:30 PM, Andrew Lunn wrote:
>>>> +static int ionic_nway_reset(struct net_device *netdev)
>>>> +{
>>>> + struct lif *lif = netdev_priv(netdev);
>>>> + int err = 0;
>>>> +
>>>> + if (netif_running(netdev))
>>>> + err = ionic_reset_queues(lif);
>>> What does ionic_reset_queues() do? It sounds nothing like restarting
>>> auto negotiation?
>>>
>>> Andrew
>> Basically, it's a rip-it-all-down-and-start-over way of restarting the
>> connection, and is also useful for fixing queues that are misbehaving. It's
>> a little old-fashioned, taken from the ixgbe example, but is effective when
>> there isn't an actual "restart auto-negotiation" command in the firmware.
> O.K. More comments please.
After a little more discussion with the nic connection folks, they've
said to just flap the link to force a new auto-negotiation, so that's
what I'm adding - set state to off, then back on. And yes, another
comment here.
>
> Did you consider throwing the firmware away and just letting Linux
> control the hardware? It would make this all much more transparent and
> debuggable.
>
Yes, the tension between direct driver bit twiddling and smartnic
offloading continues.
sln
Powered by blists - more mailing lists