diff --git a/babeld/message.c b/babeld/message.c index 15d772eb46d8..bdbd2a682971 100644 --- a/babeld/message.c +++ b/babeld/message.c @@ -411,6 +411,7 @@ parse_packet(const unsigned char *from, struct interface *ifp, unsigned int timestamp = 0; #define BABEL_UNICAST_HELLO 0x8000 +#define BABEL_MULTICAST_HELLO 0x0000 DO_NTOHS(flags, message + 2); /* @@ -425,6 +426,13 @@ parse_packet(const unsigned char *from, struct interface *ifp, goto done; } + if (!CHECK_FLAG(flags, BABEL_MULTICAST_HELLO)) { + debugf(BABEL_DEBUG_COMMON, + "Received Hello from %s on %s with Unknown Flags %d", + format_address(from), ifp->name, flags); + goto done; + } + DO_NTOHS(seqno, message + 4); DO_NTOHS(interval, message + 6); debugf(BABEL_DEBUG_COMMON,