diff options
Diffstat (limited to 'babeld/babel_interface.h')
-rw-r--r-- | babeld/babel_interface.h | 5 |
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)); } |