summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-05-10 08:45:25 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-07-24 13:51:34 -0400
commit6beed98735cb7efc3e4c59aabc13f094bdb8e5cb (patch)
tree4fc58219b804e398e4949f67500b54fcf0f2624e
parentfe232c19489b0ff9003aaa5c37f475d060a1e222 (diff)
pimd: Modify pim_mroute_socket_[enable|disable] to be vrf aware
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
-rw-r--r--pimd/pim_mroute.c14
-rw-r--r--pimd/pim_mroute.h4
-rw-r--r--pimd/pimd.c2
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 <linux/mroute.h>
*/
-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);
/*