[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181206165419.GI18674@lunn.ch>
Date: Thu, 6 Dec 2018 17:54:19 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Joakim Tjernlund <Joakim.Tjernlund@...inera.com>
Cc: "claudiu.manoil@....com" <claudiu.manoil@....com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: [PATCH] gianfar: Add gfar_change_carrier()
> I wish I had a proper DSA/Switchdev driver in place but I don't :(
> Adding one is not impossible but then a lot of our user space app needs fixing so all
> in all it it a fairly big project.
> Anyhow, these carrier additions should be fine I think?
I'm not too sure about that. You are potentially messing up the state
machine, and the MAC driver could be looking at phydev->link, which
says up, but the carrier is down.
https://www.kernel.org/doc/Documentation/networking/operstates.txt
Could you set the interface to dormant? That seems like a better fit
anyway:
IF_OPER_DORMANT (5):
Interface is L1 up, but waiting for an external event, f.e. for a
protocol to establish. (802.1X)
The interface does have L1 to the switch, but you are waiting for the
external interface to go up. You can set this from user space without
needing any kernel changes.
Andrew
Powered by blists - more mailing lists