From: David Ahern <d...@cumulusnetworks.com> Date: Mon, 13 Mar 2017 16:49:10 -0700
> Alive tracking of nexthops can account for a link twice if the carrier > goes down followed by an admin down of the same link rendering multipath > routes useless. This is similar to 79099aab38c8 for UNREGISTER events and > DOWN events. > > Fix by tracking number of alive nexthops in mpls_ifdown similar to the > logic in mpls_ifup. Checking the flags per nexthop once after all events > have been processed is simpler than trying to maintian a running count > through all event combinations. > > Also, WRITE_ONCE is used instead of ACCESS_ONCE to set rt_nhn_alive > per a comment from checkpatch: > WARNING: Prefer WRITE_ONCE(<FOO>, <BAR>) over ACCESS_ONCE(<FOO>) = <BAR> > > Fixes: c89359a42e2a4 ("mpls: support for dead routes") > Signed-off-by: David Ahern <d...@cumulusnetworks.com> Applied.