summaryrefslogtreecommitdiff
path: root/pimd/pim_mroute.c
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_mroute.c')
-rw-r--r--pimd/pim_mroute.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/pimd/pim_mroute.c b/pimd/pim_mroute.c
index c13f2cbba4..aeb49f770c 100644
--- a/pimd/pim_mroute.c
+++ b/pimd/pim_mroute.c
@@ -97,6 +97,7 @@ pim_mroute_msg_nocache (int fd, struct interface *ifp, const struct igmpmsg *msg
struct pim_ifchannel *ch;
struct pim_upstream *up;
struct pim_rpf *rpg;
+ struct prefix sg;
rpg = RP(msg->im_dst);
/*
@@ -127,6 +128,8 @@ pim_mroute_msg_nocache (int fd, struct interface *ifp, const struct igmpmsg *msg
__PRETTY_FUNCTION__, grp_str, src_str);
}
+ sg.u.sg.src = msg->im_src;
+ sg.u.sg.grp = msg->im_dst;
up = pim_upstream_add(msg->im_src, msg->im_dst, ifp);
if (!up) {
if (PIM_DEBUG_PIM_TRACE) {
@@ -139,8 +142,7 @@ pim_mroute_msg_nocache (int fd, struct interface *ifp, const struct igmpmsg *msg
pim_upstream_keep_alive_timer_start (up, PIM_KEEPALIVE_PERIOD);
- up->channel_oil = pim_channel_oil_add(msg->im_dst,
- msg->im_src,
+ up->channel_oil = pim_channel_oil_add(&sg,
pim_ifp->mroute_vif_index);
if (!up->channel_oil) {
if (PIM_DEBUG_PIM_TRACE) {