summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2015-10-01 12:40:52 -0400
committerDonald Sharp <sharpd@cumulusnetwroks.com>2016-05-25 20:38:33 -0400
commit566b83cf727bb45ccf6fb440b370d5767b1f2766 (patch)
treebcec0cfd0ccb4a6211e6306d5d399ed667f64457
parentb5790b703d534c5df2fc8c9a90a14be185e6e5db (diff)
pimd: Notice when we receive a packet type we can't handle yet
There are PIM packet types that have not been implemented yet. Notice when we get one of those and safely do nothing. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
-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 cd8a29031f..66fc59be58 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,