summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pimd/pim_pim.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/pimd/pim_pim.c b/pimd/pim_pim.c
index cd8a2903..66fc59be 100644
--- a/pimd/pim_pim.c
+++ b/pimd/pim_pim.c
@@ -206,6 +206,20 @@ int pim_pim_packet(struct interface *ifp, uint8_t *buf, size_t len)
pim_version, pim_type, pim_msg_len, checksum);
}
+ if (pim_type == PIM_MSG_TYPE_REGISTER ||
+ pim_type == PIM_MSG_TYPE_REG_STOP ||
+ pim_type == PIM_MSG_TYPE_BOOTSTRAP ||
+ pim_type == PIM_MSG_TYPE_GRAFT ||
+ pim_type == PIM_MSG_TYPE_GRAFT_ACK ||
+ pim_type == PIM_MSG_TYPE_CANDIDATE)
+ {
+ if (PIM_DEBUG_PIM_PACKETS) {
+ zlog_debug("Recv PIM packet type %d which is not currently understood",
+ pim_type);
+ }
+ return -1;
+ }
+
if (pim_type == PIM_MSG_TYPE_HELLO) {
int result = pim_hello_recv(ifp,
ip_hdr->ip_src,