Now that (rt_ifa->ifa_ifp == rt_ifp) we can simplify the check below.
Ok?
Index: net/route.c
===================================================================
RCS file: /cvs/src/sys/net/route.c,v
retrieving revision 1.253
diff -u -p -r1.253 route.c
--- net/route.c 16 Oct 2015 12:36:02 -0000 1.253
+++ net/route.c 21 Oct 2015 08:12:53 -0000
@@ -1666,8 +1666,7 @@ rt_if_linkstate_change(struct rtentry *r
{
struct ifnet *ifp = arg;
- if ((rt->rt_ifp != ifp) &&
- (rt->rt_ifa == NULL || rt->rt_ifa->ifa_ifp != ifp))
+ if (rt->rt_ifp != ifp)
return (0);
/* Local routes are always usable. */