zebra link state detection support
diff --git a/ripd/rip_interface.c b/ripd/rip_interface.c
index 06d4416..bdfca57 100644
--- a/ripd/rip_interface.c
+++ b/ripd/rip_interface.c
@@ -248,7 +248,7 @@
     return;
 
   /* If interface is down, don't send RIP packet. */
-  if (! if_is_up (ifp))
+  if (! if_is_operative (ifp))
     return;
 
   /* Fetch RIP interface information. */
@@ -311,7 +311,7 @@
 {
   listnode cnode;
 
-  if (if_is_up (ifp) && if_is_multicast (ifp))
+  if (if_is_operative (ifp) && if_is_multicast (ifp))
     {
       if (IS_RIP_DEBUG_EVENT)
 	zlog_info ("multicast join at %s", ifp->name);
@@ -705,7 +705,7 @@
 	      {
 		/* All redistributed routes but static and system */
 		if ((rinfo->ifindex == ifp->ifindex) &&
-		    (rinfo->type != ZEBRA_ROUTE_STATIC) &&
+		    /* (rinfo->type != ZEBRA_ROUTE_STATIC) && */
 		    (rinfo->type != ZEBRA_ROUTE_SYSTEM))
 		  rip_redistribute_delete (rinfo->type,rinfo->sub_type,
 					   (struct prefix_ipv4 *)&rp->p,
@@ -1008,7 +1008,7 @@
   if (if_is_loopback (ifp))
     return;
 
-  if (! if_is_up (ifp))
+  if (! if_is_operative (ifp))
     return;
 
   ri = ifp->info;
diff --git a/ripd/ripd.c b/ripd/ripd.c
index 3c55479..c63bf10 100644
--- a/ripd/ripd.c
+++ b/ripd/ripd.c
@@ -2231,7 +2231,7 @@
       if (if_is_loopback (ifp))
 	continue;
 
-      if (! if_is_up (ifp))
+      if (! if_is_operative (ifp))
 	continue;
 
       /* Fetch RIP interface information. */