From 872439346dcd717f38f259b830d6ff425e701e83 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Thu, 4 Aug 2016 11:09:30 -0400 Subject: [PATCH] pimd: Enable WrongVif and WRWHOLEVIF callbacks. Turn on Wrong Vif and Whole packet wrong vif callbacks. Signed-off-by: Donald Sharp --- pimd/pim_mroute.c | 14 ++++++++++++++ pimd/pim_mroute.h | 4 ++++ 2 files changed, 18 insertions(+) diff --git a/pimd/pim_mroute.c b/pimd/pim_mroute.c index aa2d021eed..31ca10b6b6 100644 --- a/pimd/pim_mroute.c +++ b/pimd/pim_mroute.c @@ -56,6 +56,20 @@ static int pim_mroute_set(int fd, int enable) return -1; } + if (enable) + { + int upcalls = IGMPMSG_WRVIFWHOLE; + opt = MRT_PIM; + + err = setsockopt (fd, IPPROTO_IP, opt, &upcalls, sizeof (upcalls)); + if (err) + { + zlog_warn ("Failure to register for VIFWHOLE and WRONGVIF upcalls %d %s", + errno, safe_strerror (errno)); + return -1; + } + } + return 0; } diff --git a/pimd/pim_mroute.h b/pimd/pim_mroute.h index a09c604486..4ae089f16b 100644 --- a/pimd/pim_mroute.h +++ b/pimd/pim_mroute.h @@ -158,6 +158,10 @@ struct igmpmsg #endif #endif +#ifndef IGMPMSG_WRVIFWHOLE +#define IGMPMSG_WRVIFWHOLE 4 +#endif + /* Above: from */ -- 2.39.5