From: Donald Sharp Date: Thu, 4 Aug 2016 15:09:30 +0000 (-0400) Subject: pimd: Enable WrongVif and WRWHOLEVIF callbacks. X-Git-Tag: frr-3.0-branchpoint~64^2~10^2~314 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=872439346dcd717f38f259b830d6ff425e701e83;p=mirror%2Ffrr.git pimd: Enable WrongVif and WRWHOLEVIF callbacks. Turn on Wrong Vif and Whole packet wrong vif callbacks. Signed-off-by: Donald Sharp --- 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 */