summaryrefslogtreecommitdiff
path: root/babeld/babel_interface.h
diff options
context:
space:
mode:
Diffstat (limited to 'babeld/babel_interface.h')
-rw-r--r--babeld/babel_interface.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/babeld/babel_interface.h b/babeld/babel_interface.h
index 7a6efb93..d9fb9a4a 100644
--- a/babeld/babel_interface.h
+++ b/babeld/babel_interface.h
@@ -90,12 +90,15 @@ static inline babel_interface_nfo* babel_get_if_nfo(struct interface *ifp)
#define BABEL_IF_SPLIT_HORIZON (1 << 2)
#define BABEL_IF_LQ (1 << 3)
#define BABEL_IF_IS_ENABLE (1 << 4)
+#define BABEL_IF_IS_UP (1 << 5)
static inline int
if_up(struct interface *ifp)
{
- return (if_is_up(ifp) &&
+ return (if_is_operative(ifp) &&
ifp->connected != NULL &&
+ babel_get_if_nfo(ifp) != NULL &&
+ (babel_get_if_nfo(ifp)->flags & BABEL_IF_IS_UP) &&
(babel_get_if_nfo(ifp)->flags & BABEL_IF_IS_ENABLE));
}