From 2e3b2e474ed5ba04744b167132a84f9954485af4 Mon Sep 17 00:00:00 2001 From: paul Date: Fri, 13 Dec 2002 21:03:13 +0000 Subject: zebra link state detection support --- lib/if.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'lib/if.c') diff --git a/lib/if.c b/lib/if.c index 0934e40d..ce3595d3 100644 --- a/lib/if.c +++ b/lib/if.c @@ -270,6 +270,22 @@ if_is_up (struct interface *ifp) return ifp->flags & IFF_UP; } +/* Is interface running? */ +int +if_is_running (struct interface *ifp) +{ + return ifp->flags & IFF_RUNNING; +} + +/* Is the interface operative, eg. either UP & RUNNING + or UP & !ZEBRA_INTERFACE_LINK_DETECTION */ +int +if_is_operative (struct interface *ifp) +{ + return ((ifp->flags & IFF_UP) && + (ifp->flags & IFF_RUNNING || !CHECK_FLAG(ifp->status, ZEBRA_INTERFACE_LINKDETECTION))); +} + /* Is this loopback interface ? */ int if_is_loopback (struct interface *ifp) -- cgit v1.2.3