]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Use the ifindex to create vif device
authorDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 17 Jun 2016 13:19:38 +0000 (09:19 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 17 Jun 2016 13:19:38 +0000 (09:19 -0400)
It is possible to create multiple interfaces
with the same ip address.  Looking up the
dev to use based upon the ip address will
eventually fail when you keep getting
the same dev device.

Future-Work: I'll need to add a translation
to vif index to actual device to use because
ifindex's are not guaranteed to be under 256.

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

index 00051719ac5758ba930bb5c9c85ad9e9a9a06b8e..cdce64ca5a8383e4542721803a1104d6ad803933 100644 (file)
@@ -462,10 +462,10 @@ int pim_mroute_add_vif(int vif_index, struct in_addr ifaddr, unsigned char flags
 
   memset(&vc, 0, sizeof(vc));
   vc.vifc_vifi = vif_index;
+  vc.vifc_lcl_ifindex = vif_index;
   vc.vifc_flags = flags;
   vc.vifc_threshold = PIM_MROUTE_MIN_TTL;
   vc.vifc_rate_limit = 0;
-  memcpy(&vc.vifc_lcl_addr, &ifaddr, sizeof(vc.vifc_lcl_addr));
 
 #ifdef PIM_DVMRP_TUNNEL  
   if (vc.vifc_flags & VIFF_TUNNEL) {