]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Create the pimreg device name correctly
authorDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 19 May 2017 13:14:06 +0000 (09:14 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Mon, 24 Jul 2017 17:51:34 +0000 (13:51 -0400)
The pimreg device name should be based upon the
tableid we create( as that this is what the kernel does )

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_iface.c

index 70d013e5e7ff831c072fcf256e44f912aebb3a6b..5f9526845f80707331a8eb1f171928f0419d5605 100644 (file)
@@ -1561,10 +1561,17 @@ void pim_if_update_assert_tracking_desired(struct interface *ifp)
  */
 void pim_if_create_pimreg(struct pim_instance *pim)
 {
+       char pimreg_name[100];
 
        if (!pim->regiface) {
-               pim->regiface =
-                       if_create("pimreg", strlen("pimreg"), pim->vrf_id);
+               if (pim->vrf_id == VRF_DEFAULT)
+                       strcpy(pimreg_name, "pimreg");
+               else
+                       sprintf(pimreg_name, "pimreg%d",
+                               pim->vrf->data.l.table_id);
+
+               pim->regiface = if_create(pimreg_name, strlen(pimreg_name),
+                                         pim->vrf_id);
                pim->regiface->ifindex = PIM_OIF_PIM_REGISTER_VIF;
 
                pim_if_new(pim->regiface, 0, 0);