Thread (24 messages) 24 messages, 3 authors, 2022-01-07

Re: [PATCH net-next v4 3/8] net/funeth: probing and netdev ops

From: Andrew Lunn <andrew@lunn.ch>
Date: 2022-01-05 16:12:14

quoted
quoted
+     if ((notif->link_state | notif->missed_events) & FUN_PORT_FLAG_MAC_DOWN)
+             netif_carrier_off(netdev);
+     if (notif->link_state & FUN_PORT_FLAG_NH_DOWN)
+             netif_dormant_on(netdev);
+     if (notif->link_state & FUN_PORT_FLAG_NH_UP)
+             netif_dormant_off(netdev);
What does this do?
FW may get exclusive access to the ports in some cases and during those times
host traffic isn't serviced. Changing a port to dormant is its way of
telling the host
the port is unavailable though it has link up.
Quoting RFC2863

3.1.12.  New states for IfOperStatus

   Three new states have been added to ifOperStatus: 'dormant',
   'notPresent', and 'lowerLayerDown'.

   The dormant state indicates that the relevant interface is not
   actually in a condition to pass packets (i.e., it is not 'up') but is
   in a "pending" state, waiting for some external event.  For "on-
   demand" interfaces, this new state identifies the situation where the
   interface is waiting for events to place it in the up state.
   Examples of such events might be:

   (1)   having packets to transmit before establishing a connection to
         a remote system;

   (2)   having a remote system establish a connection to the interface
         (e.g. dialing up to a slip-server).

I can see this being valid if your FW is doing 802.1X. But i'm not
sure it is valid for other use cases. What exactly is your firmware
doing which stops it from handling frames?

	Andrew
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help