Remove redundant checks for nhop validity.
Currently NH_IS_VALID() simly aliases to RT_LINK_IS_UP(), so we're checking the same thing twice. In the near future the implementation of this check will be simpler, as there are plans to introduce control-plane interface status monitoring similar to ipfw interface tracker.
This commit is contained in:
parent
cd3acfe7f3
commit
174fb9dbb1
@ -407,8 +407,7 @@ ip_output(struct mbuf *m, struct mbuf *opt, struct route *ro, int flags,
|
||||
* Also check whether routing cache needs invalidation.
|
||||
*/
|
||||
if (ro != NULL && ro->ro_nh != NULL &&
|
||||
((!NH_IS_VALID(ro->ro_nh)) || !RT_LINK_IS_UP(ro->ro_nh->nh_ifp) ||
|
||||
dst->sin_family != AF_INET ||
|
||||
((!NH_IS_VALID(ro->ro_nh)) || dst->sin_family != AF_INET ||
|
||||
dst->sin_addr.s_addr != ip->ip_dst.s_addr))
|
||||
RO_INVALIDATE_CACHE(ro);
|
||||
ia = NULL;
|
||||
@ -480,8 +479,7 @@ ip_output(struct mbuf *m, struct mbuf *opt, struct route *ro, int flags,
|
||||
ro->ro_nh = fib4_lookup(fibnum, dst->sin_addr, 0,
|
||||
NHR_REF, flowid);
|
||||
|
||||
if (ro->ro_nh == NULL || (!NH_IS_VALID(ro->ro_nh)) ||
|
||||
!RT_LINK_IS_UP(ro->ro_nh->nh_ifp)) {
|
||||
if (ro->ro_nh == NULL || (!NH_IS_VALID(ro->ro_nh))) {
|
||||
#if defined(IPSEC) || defined(IPSEC_SUPPORT)
|
||||
/*
|
||||
* There is no route for this packet, but it is
|
||||
|
Loading…
Reference in New Issue
Block a user