On Sun, Jun 09, 2019 at 01:27:22PM +0000, Nitin Katiyar wrote:
> 
> 
> > -----Original Message-----
> > From: Ben Pfaff [mailto:[email protected]]
> > Sent: Friday, June 07, 2019 11:03 PM
> > To: Nitin Katiyar <[email protected]>
> > Cc: [email protected]; Manohar Krishnappa Chidambaraswamy
> > <[email protected]>
> > Subject: Re: [ovs-dev] [PATCH v2 2/2] Don't send or receive LACP PDUs when
> > carrier state of slave is down
> > 
> > On Thu, Jun 06, 2019 at 06:34:21AM +0000, Nitin Katiyar wrote:
> > >
> > >
> > > > -----Original Message-----
> > > > From: Ben Pfaff [mailto:[email protected]]
> > > > Sent: Wednesday, June 05, 2019 12:03 AM
> > > > To: Nitin Katiyar <[email protected]>
> > > > Cc: [email protected]; Manohar Krishnappa Chidambaraswamy
> > > > <[email protected]>
> > > > Subject: Re: [ovs-dev] [PATCH v2 2/2] Don't send or receive LACP
> > > > PDUs when carrier state of slave is down
> > > >
> > > > On Sun, Jun 02, 2019 at 04:14:34PM +0000, Nitin Katiyar wrote:
> > > > > Problem:
> > > > > ========
> > > > > On certain Fortville NICs it has been observed that PHY UP
> > > > > detection can get delayed (sometimes up to 4-5 secs). When the
> > > > > driver fails to fetch PHY status as UP even though its actually
> > > > > UP, LACP packets can get exchanged and LACP slave brought UP. In
> > > > > such a case, the remote end would start sending traffic on that
> > > > > slave, but OVS drops it, as the bond-slave is not yet enabled due to 
> > > > > PHY
> > DOWN.
> > > > >
> > > > > Fix:
> > > > > ====
> > > > > The main intention here is delay LACP negotiation until carrier
> > > > > (PHY) status is read as UP.
> > > > >
> > > > > 1. When carrier state is DOWN, do not send any LACP PDUs and
> > > > >   drop any received LACP PDUs.
> > > > >
> > > > > 2. When LACP PDU is received, trigger re-checking
> > > > >   of carrier-state (in port_run()) by incrementing the connectivity
> > > > >   sequence number to find out the true carrier state as fast as
> > > > >   possible.
> > > >
> > > > I had to read this patch and the above description a few times.
> > > > Maybe I understand it now.  Please let me try to re-state it and let
> > > > me know if I've got it right.
> > > >
> > > > Fortville NICs (or perhaps their drivers) do not consistently send
> > > > an immediate notification when the PHY comes up.  However, packets can
> > still be received.
> > > > Until now, OVS drops traffic until the notification that the PHY is up 
> > > > arrives.
> > > > This patch changes OVS to respond to receiving a LACP packet on a
> > > > device, for which it has not yet been notified that carrier is up,
> > > > by immediately polling carrier state.  This polling can bypass the
> > > > Fortville delayed notification and allow OVS to bring up the bond slave
> > faster.
> > > It is other way. Until now, OVS (and connected switch) may see LACP in
> > negotiated state but OVS may have link/carrier state as DOWN due to
> > NIC/driver issue.
> > > In this case, NIC/driver didn't update the link UP state for few seconds
> > although link had come up and started carrying traffic. This brought up the
> > LACP slave and remote end started traffic on this slave. OVS dropped the
> > packets as slave status was down.
> > > To avoid this situation we propose this patch for not sending/receiving 
> > > LACP
> > PDUs till link is reported UP. In short, we delay LACP negotiation till 
> > carrier
> > status is UP. Additionally, if PMD is receiving LACP PDU when carrier state 
> > is
> > down it triggers checking of state by changing connectivity sequence number.
> > 
> > OK, let me try again.  Is the following correct?
> > 
> > --8<--------------------------cut here-------------------------->8--
> > 
> > Fortville NICs (or their drivers) can get into an inconsistent state, in 
> > which the
> > NIC can actually transmit and receive packets even though they report "PHY
> > down".  In such a state, OVS can exchange and process LACP messages and
> > enable a bond slave.  However, further packet exchange over the slave fails
> > because OVS sees that the PHY is down.
> > 
> > This commit fixes the problem by making OVS ignore received LACP PDUs and
> > suppress transmitting LACP PDUs when carrier is down.  In addition, when a
> > LACP PDU is received with carrier down, this commit triggers rechecking the
> > carrier status (by incrementing the connectivity sequence
> > number) to ensure that it is updated as quickly as possible.
> This is correct Ben. I will update the patch description.

Thanks for your patience!
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to