From 6beed98735cb7efc3e4c59aabc13f094bdb8e5cb Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Wed, 10 May 2017 08:45:25 -0400 Subject: [PATCH] pimd: Modify pim_mroute_socket_[enable|disable] to be vrf aware Signed-off-by: Donald Sharp --- pimd/pim_mroute.c | 14 +++++++------- pimd/pim_mroute.h | 4 ++-- pimd/pimd.c | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) 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); /* -- 2.39.5