From: Donald Sharp Date: Thu, 18 May 2017 22:00:49 +0000 (-0400) Subject: pimd: Set c_oil->pim for static routes X-Git-Tag: frr-4.0-dev~468^2~127 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=72ec4672899d4042c9f7dc2203b2e1771c90ac89;p=mirror%2Ffrr.git pimd: Set c_oil->pim for static routes Signed-off-by: Donald Sharp --- diff --git a/pimd/pim_static.c b/pimd/pim_static.c index 7c9aca47a7..2d4e2feff5 100644 --- a/pimd/pim_static.c +++ b/pimd/pim_static.c @@ -77,6 +77,8 @@ static struct static_route *static_route_new(unsigned int iif, unsigned int oif, int pim_static_add(struct interface *iif, struct interface *oif, struct in_addr group, struct in_addr source) { + struct pim_instance *pim; + struct pim_interface *pim_ifp; struct listnode *node = NULL; struct static_route *s_route = NULL; struct static_route *original_s_route = NULL; @@ -101,6 +103,13 @@ int pim_static_add(struct interface *iif, struct interface *oif, return -4; } #endif + if (iif->vrf_id != oif->vrf_id) { + return -3; + } + + pim_ifp = iif->info; + pim = pim_ifp->pim; + s_route->c_oil.pim = pim; for (ALL_LIST_ELEMENTS_RO(qpim_static_route_list, node, s_route)) { if (s_route->group.s_addr == group.s_addr