]> git.puffer.fish Git - mirror/frr.git/commitdiff
[link-detect] Static interface routes should behave properly with link-detect.
authorAndrew J. Schorr <ajschorr@alumni.princeton.edu>
Tue, 8 Jan 2008 20:12:46 +0000 (20:12 +0000)
committerAndrew J. Schorr <ajschorr@alumni.princeton.edu>
Tue, 8 Jan 2008 20:12:46 +0000 (20:12 +0000)
2008-01-08 Michael Larson <mike@vyatta.com>

* zebra_rib.c: (nexthop_active_check) Replace if_is_up with
  if_is_operative to solve problems with static interface
  routes not behaving properly with link-detect.

zebra/ChangeLog
zebra/zebra_rib.c

index 3ce7b9ea691526ceb083f08cee59894d51aef8e4..3457c785ae4f49f8198c65b5ceaa2f097348de1e 100644 (file)
@@ -1,3 +1,9 @@
+2008-01-08 Michael Larson <mike@vyatta.com>
+
+       * zebra_rib.c: (nexthop_active_check) Replace if_is_up with
+         if_is_operative to solve problems with static interface
+         routes not behaving properly with link-detect.
+
 2007-11-12 Denis Ovsienko
 
        * connected.c: (connected_up_ipv4, connected_down_ipv4,
index 37b84a660edfb7c48a0467e3d6a654a66e196fb6..e27c63bf0611e977a499640b565b433bc007cbf9 100644 (file)
@@ -795,7 +795,7 @@ nexthop_active_check (struct route_node *rn, struct rib *rib,
     {
     case NEXTHOP_TYPE_IFINDEX:
       ifp = if_lookup_by_index (nexthop->ifindex);
-      if (ifp && if_is_up (ifp))
+      if (ifp && if_is_operative(ifp))
        SET_FLAG (nexthop->flags, NEXTHOP_FLAG_ACTIVE);
       else
        UNSET_FLAG (nexthop->flags, NEXTHOP_FLAG_ACTIVE);
@@ -804,7 +804,7 @@ nexthop_active_check (struct route_node *rn, struct rib *rib,
       family = AFI_IP6;
     case NEXTHOP_TYPE_IFNAME:
       ifp = if_lookup_by_name (nexthop->ifname);
-      if (ifp && if_is_up (ifp))
+      if (ifp && if_is_operative(ifp))
        {
          if (set)
            nexthop->ifindex = ifp->ifindex;
@@ -838,7 +838,7 @@ nexthop_active_check (struct route_node *rn, struct rib *rib,
       if (IN6_IS_ADDR_LINKLOCAL (&nexthop->gate.ipv6))
        {
          ifp = if_lookup_by_index (nexthop->ifindex);
-         if (ifp && if_is_up (ifp))
+         if (ifp && if_is_operative(ifp))
            SET_FLAG (nexthop->flags, NEXTHOP_FLAG_ACTIVE);
          else
            UNSET_FLAG (nexthop->flags, NEXTHOP_FLAG_ACTIVE);