+ /*
+ * Don't resend the information
+ * on the network from which it was received.
+ */
+ if (ifp && rt->rt_ifp == ifp)
+ continue;
+ if (rt->rt_state & RTS_EXTERNAL)
+ continue;
+ /*
+ * Limit the spread of subnet information
+ * to those who are interested.
+ */
+ if (doinghost == 0 && rt->rt_state & RTS_SUBNET) {
+ if (ifp && (ifp->int_flags & IFF_SUBNET) == 0)
+ continue;
+ if (rt->rt_dst.sa_family != dst->sa_family)
+ continue;
+ if ((*sendsubnet)(rt, dst) == 0)
+ continue;
+ }