RTNH_F_LINKDOWN
fib_nh->fib_nh_flags & RTNH_F_LINKDOWN) {
#define RTNH_COMPARE_MASK (RTNH_F_DEAD | RTNH_F_LINKDOWN | \
fib_sync_up(dev, RTNH_F_LINKDOWN);
nh->fib_nh_flags |= RTNH_F_LINKDOWN;
nh->fib_nh_flags |= RTNH_F_LINKDOWN;
nh->fib_nh_flags |= RTNH_F_LINKDOWN;
if (cfg->fc_flags & (RTNH_F_DEAD | RTNH_F_LINKDOWN)) {
if (nexthop_nh->fib_nh_flags & RTNH_F_LINKDOWN)
fi->fib_flags |= RTNH_F_LINKDOWN;
if (nhc->nhc_flags & RTNH_F_LINKDOWN) {
*flags |= RTNH_F_LINKDOWN;
if (ignore_link_down && nh->fib_nh_flags & RTNH_F_LINKDOWN)
if ((ignore_link_down && nh->fib_nh_flags & RTNH_F_LINKDOWN) ||
nexthop_nh->fib_nh_flags |= RTNH_F_LINKDOWN;
fi->fib_flags |= RTNH_F_LINKDOWN;
nh_flags |= RTNH_F_LINKDOWN;
if (rtnh->rtnh_flags & (RTNH_F_DEAD | RTNH_F_LINKDOWN)) {
nh->fib_nh_flags & RTNH_F_LINKDOWN)
nexthop_nh->fib_nh_flags & RTNH_F_LINKDOWN) {
nhc->nhc_flags & RTNH_F_LINKDOWN &&
rt6_sync_up(dev, RTNH_F_LINKDOWN);
fib6_nh->fib_nh_flags |= RTNH_F_LINKDOWN;
(rt->fib6_nh->fib_nh_flags & RTNH_F_LINKDOWN &&
arg.nh_flags |= RTNH_F_LINKDOWN;
RTNH_F_LINKDOWN);
rt->fib6_nh->fib_nh_flags |= RTNH_F_LINKDOWN;
nh->fib_nh_flags & RTNH_F_LINKDOWN &&
nh_flags |= RTNH_F_LINKDOWN;
if (!(nh_flags & (RTNH_F_DEAD | RTNH_F_LINKDOWN)))
mpls_ifup(dev, RTNH_F_DEAD | RTNH_F_LINKDOWN);
mpls_ifup(dev, RTNH_F_DEAD | RTNH_F_LINKDOWN);
if (nh->nh_flags & RTNH_F_LINKDOWN)
rtm->rtm_flags |= RTNH_F_LINKDOWN;
if (nh->nh_flags & RTNH_F_LINKDOWN) {
rtnh->rtnh_flags |= RTNH_F_LINKDOWN;
rtm->rtm_flags |= RTNH_F_LINKDOWN;
if (nh_flags & (RTNH_F_DEAD | RTNH_F_LINKDOWN))
nh->nh_flags |= RTNH_F_LINKDOWN;
if (nh->nh_flags & (RTNH_F_DEAD | RTNH_F_LINKDOWN))
if (nh->nh_flags & (RTNH_F_DEAD | RTNH_F_LINKDOWN))
#define RTNH_COMPARE_MASK (RTNH_F_DEAD | RTNH_F_LINKDOWN | \