Re: [PATCH] net-sysfs: allow changing sysfs carrier when interface is down

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2022-06-02 at 10:56 -0700, Stephen Hemminger wrote:
> On Thu, 2 Jun 2022 17:15:13 +0000
> Joakim Tjernlund <Joakim.Tjernlund@xxxxxxxxxxxx> wrote:
> 
> > On Thu, 2022-06-02 at 09:57 -0700, Jakub Kicinski wrote:
> > > On Thu, 2 Jun 2022 16:26:18 +0000 Joakim Tjernlund wrote:  
> > > > On Thu, 2022-06-02 at 08:56 -0700, Stephen Hemminger wrote:  
> > > > > > Sure, our HW has config/state changes that makes it impossible for net driver
> > > > > > to touch and registers or TX pkgs(can result in System Error exception in worst case.  
> > > 
> > > What is "our HW", what kernel driver does it use and why can't the
> > > kernel driver take care of making sure the device is not accessed
> > > when it'd crash the system?  
> > 
> > It is a custom asic with some homegrown controller. The full config path is too complex for kernel too
> > know and depends on user input. The cashing/TX TMO part was not part of the design plans and
> > I have been down this route with the HW designers without success.
> 
> Changing upstream code to support out of tree code?
> The risk of breaking current users for something that no one else uses
> is a bad idea.

There are in tree users too, see fixed_phy_change_carrier(), I am not asking for adding
a new feature, just making an existing one more usable.

> 
> > >   
> > > > Maybe so but it seems to me that this limitation was put in place without much thought.  
> > > 
> > > Don't make unnecessary disparaging statements about someone else's work.
> > > Whoever that person was.  
> > 
> > That was not meant the way you read it, sorry for being unclear.
> > The commit from 2012 simply says:
> > net: allow to change carrier via sysfs
> >     
> >     Make carrier writable
> > 
> 
> Setting carrier from userspace was added to support VPN's etc;
> in general it was not meant as hardware workaround.
> 
> Often using operstate is better with complex hardware did you look at that?

You mean?
ls -l /sys/class/net/sgmii/operstate  
-r--r--r--    1 root     root          4096 Mar  9 12:46 /sys/class/net/sgmii/operstate

I did, but operstate here is not writeable.
Did you perhaps mean some other operstate ?

 Jocke





[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux