netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* how PHY driver is notified that cable is unplugged? (possibly related to IFF_RUNNING flag)
@ 2018-08-01 12:58 rpjday
  2018-08-01 17:31 ` Florian Fainelli
  0 siblings, 1 reply; 3+ messages in thread
From: rpjday @ 2018-08-01 12:58 UTC (permalink / raw)
  To: netdev


   (warning that i have a few questions that are probably trivial  
until i get up to speed
with networking code.)

   a colleague asked for advice about the following -- apparently a  
new PHY driver works
properly when being brought up with "ifconfig <ifname> up", part of  
that process
apparently setting the IFF_RUNNING net_device flags bit. so far, so good.

   now, when the cable is physically unplugged, the claim is that  
there is no obvious
status change for that port, accompanied by the suggestion that it is  
that IFF_RUNNING
flag bit that is not being unset.

   asking a more general question, where can i read up on the proper  
protocol for
a driver being notified of, and properly handling, physical  
disconnection on that
port? and, of course, the cable being plugged back in.

   thanks in advance for any pointers.

rday

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: how PHY driver is notified that cable is unplugged? (possibly related to IFF_RUNNING flag)
  2018-08-01 12:58 how PHY driver is notified that cable is unplugged? (possibly related to IFF_RUNNING flag) rpjday
@ 2018-08-01 17:31 ` Florian Fainelli
  2018-08-01 21:45   ` Robert P. J. Day
  0 siblings, 1 reply; 3+ messages in thread
From: Florian Fainelli @ 2018-08-01 17:31 UTC (permalink / raw)
  To: rpjday, netdev, andrew

On 08/01/2018 05:58 AM, rpjday@crashcourse.ca wrote:
> 
>   (warning that i have a few questions that are probably trivial until i
> get up to speed
> with networking code.)
> 
>   a colleague asked for advice about the following -- apparently a new
> PHY driver works
> properly when being brought up with "ifconfig <ifname> up", part of that
> process
> apparently setting the IFF_RUNNING net_device flags bit. so far, so good.
> 
>   now, when the cable is physically unplugged, the claim is that there
> is no obvious
> status change for that port, accompanied by the suggestion that it is
> that IFF_RUNNING
> flag bit that is not being unset.
> 
>   asking a more general question, where can i read up on the proper
> protocol for
> a driver being notified of, and properly handling, physical
> disconnection on that
> port? and, of course, the cable being plugged back in.

The basic mechanism used by the PHY library is to read the standard
Basic Mode Status Register and check the Link status bit to determine
what the state of the link is set. This event can be triggered either
through polling, or the use of an interrupt that the PHY is generating.

Once the link state is determined, because the PHY device is "connected"
to a network device, the PHY library can call netif_carrier_{on,off}
against the network device attached to the PHY and that propagates
through the networking stack and sets the appropriate bits, including
IFF_RUNNING.

Hope this helps.
-- 
Florian

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: how PHY driver is notified that cable is unplugged? (possibly related to IFF_RUNNING flag)
  2018-08-01 17:31 ` Florian Fainelli
@ 2018-08-01 21:45   ` Robert P. J. Day
  0 siblings, 0 replies; 3+ messages in thread
From: Robert P. J. Day @ 2018-08-01 21:45 UTC (permalink / raw)
  To: Florian Fainelli; +Cc: netdev, andrew

[-- Attachment #1: Type: text/plain, Size: 1679 bytes --]

On Wed, 1 Aug 2018, Florian Fainelli wrote:

> On 08/01/2018 05:58 AM, rpjday@crashcourse.ca wrote:
> >
> >   (warning that i have a few questions that are probably trivial
> > until i get up to speed with networking code.)
> >
> >   a colleague asked for advice about the following -- apparently a
> > new PHY driver works properly when being brought up with "ifconfig
> > <ifname> up", part of that process apparently setting the
> > IFF_RUNNING net_device flags bit. so far, so good.
> >
> >   now, when the cable is physically unplugged, the claim is that
> > there is no obvious status change for that port, accompanied by
> > the suggestion that it is that IFF_RUNNING flag bit that is not
> > being unset.
> >
> >   asking a more general question, where can i read up on the
> > proper protocol for a driver being notified of, and properly
> > handling, physical disconnection on that port? and, of course, the
> > cable being plugged back in.
>
> The basic mechanism used by the PHY library is to read the standard
> Basic Mode Status Register and check the Link status bit to
> determine what the state of the link is set. This event can be
> triggered either through polling, or the use of an interrupt that
> the PHY is generating.
>
> Once the link state is determined, because the PHY device is
> "connected" to a network device, the PHY library can call
> netif_carrier_{on,off} against the network device attached to the
> PHY and that propagates through the networking stack and sets the
> appropriate bits, including IFF_RUNNING.

  yup, that agrees with the code i was perusing, thanks for
clarifying. more questions coming shortly, hopefully tougher.

rday

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-08-01 23:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-01 12:58 how PHY driver is notified that cable is unplugged? (possibly related to IFF_RUNNING flag) rpjday
2018-08-01 17:31 ` Florian Fainelli
2018-08-01 21:45   ` Robert P. J. Day

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).