diff options
Diffstat (limited to 'pimd/pim_pim.c')
| -rw-r--r-- | pimd/pim_pim.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/pimd/pim_pim.c b/pimd/pim_pim.c index 5cc0d63e31..3980e4828d 100644 --- a/pimd/pim_pim.c +++ b/pimd/pim_pim.c @@ -331,8 +331,8 @@ static void pim_sock_read(struct thread *t) struct interface *ifp, *orig_ifp; struct pim_interface *pim_ifp; int fd; - struct sockaddr_in from; - struct sockaddr_in to; + struct sockaddr_storage from; + struct sockaddr_storage to; socklen_t fromlen = sizeof(from); socklen_t tolen = sizeof(to); uint8_t buf[PIM_PIM_BUFSIZE_READ]; @@ -428,7 +428,7 @@ static int pim_sock_open(struct interface *ifp) return -1; if (pim_socket_join(fd, qpim_all_pim_routers_addr, - pim_ifp->primary_address, ifp->ifindex)) { + pim_ifp->primary_address, ifp->ifindex, pim_ifp)) { close(fd); return -2; } @@ -467,6 +467,8 @@ void pim_ifstat_reset(struct interface *ifp) pim_ifp->pim_ifstat_bsm_cfg_miss = 0; pim_ifp->pim_ifstat_ucast_bsm_cfg_miss = 0; pim_ifp->pim_ifstat_bsm_invalid_sz = 0; + pim_ifp->igmp_ifstat_joins_sent = 0; + pim_ifp->igmp_ifstat_joins_failed = 0; } void pim_sock_reset(struct interface *ifp) |
