From: Donald Sharp Date: Wed, 10 May 2017 12:45:25 +0000 (-0400) Subject: pimd: Modify pim_mroute_socket_[enable|disable] to be vrf aware X-Git-Tag: frr-4.0-dev~468^2~149 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=6beed98735cb7efc3e4c59aabc13f094bdb8e5cb;p=mirror%2Ffrr.git pimd: Modify pim_mroute_socket_[enable|disable] to be vrf aware Signed-off-by: Donald Sharp --- diff --git a/pimd/pim_mroute.c b/pimd/pim_mroute.c index c92bad6c4d..70dc38c714 100644 --- a/pimd/pim_mroute.c +++ b/pimd/pim_mroute.c @@ -658,7 +658,7 @@ static void mroute_read_off() THREAD_OFF(qpim_mroute_socket_reader); } -int pim_mroute_socket_enable() +int pim_mroute_socket_enable(struct pim_instance *pim) { int fd; @@ -686,31 +686,31 @@ int pim_mroute_socket_enable() return -3; } - pimg->mroute_socket = fd; - pimg->mroute_socket_creation = pim_time_monotonic_sec(); + pim->mroute_socket = fd; + pim->mroute_socket_creation = pim_time_monotonic_sec(); mroute_read_on(); return 0; } -int pim_mroute_socket_disable() +int pim_mroute_socket_disable(struct pim_instance *pim) { - if (pim_mroute_set(pimg->mroute_socket, 0)) { + if (pim_mroute_set(pim->mroute_socket, 0)) { zlog_warn( "Could not disable mroute on socket fd=%d: errno=%d: %s", pimg->mroute_socket, errno, safe_strerror(errno)); return -2; } - if (close(pimg->mroute_socket)) { + if (close(pim->mroute_socket)) { zlog_warn("Failure closing mroute socket: fd=%d errno=%d: %s", pimg->mroute_socket, errno, safe_strerror(errno)); return -3; } mroute_read_off(); - pimg->mroute_socket = -1; + pim->mroute_socket = -1; return 0; } diff --git a/pimd/pim_mroute.h b/pimd/pim_mroute.h index eb6c40b676..2c0d1979d9 100644 --- a/pimd/pim_mroute.h +++ b/pimd/pim_mroute.h @@ -163,8 +163,8 @@ struct igmpmsg { Above: from */ -int pim_mroute_socket_enable(void); -int pim_mroute_socket_disable(void); +int pim_mroute_socket_enable(struct pim_instance *pim); +int pim_mroute_socket_disable(struct pim_instance *pim); int pim_mroute_add_vif(struct interface *ifp, struct in_addr ifaddr, unsigned char flags); diff --git a/pimd/pimd.c b/pimd/pimd.c index 0db82073af..0d086de077 100644 --- a/pimd/pimd.c +++ b/pimd/pimd.c @@ -269,7 +269,7 @@ void pim_init() } qpim_static_route_list->del = (void (*)(void *))pim_static_route_free; - pim_mroute_socket_enable(); + pim_mroute_socket_enable(pimg); /*