]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Use MULTIPATH_NUM for maxpaths
authorDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 14 Sep 2016 15:24:06 +0000 (11:24 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 22 Dec 2016 01:26:09 +0000 (20:26 -0500)
When looking up nexthops for a address, just
use the MULTIPATH_NUM as the number allowed
to receive instead of an arbitrary limit of 20 paths.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_pim.h
pimd/pim_rpf.c
pimd/pim_zebra.c
pimd/pim_zlookup.c

index fad572a1257271164e3415368f3448b2f101b29e..abb3e50c0036a175384164ec77661c8aa0935ce2 100644 (file)
@@ -29,8 +29,6 @@
 #define PIM_PIM_BUFSIZE_READ  (20000)
 #define PIM_PIM_BUFSIZE_WRITE (20000)
 
-#define PIM_NEXTHOP_IFINDEX_TAB_SIZE (20)
-
 #define PIM_DEFAULT_HELLO_PERIOD                 (30)   /* seconds, RFC 4601: 4.11 */
 #define PIM_DEFAULT_TRIGGERED_HELLO_DELAY        (5)    /* seconds, RFC 4601: 4.11 */
 #define PIM_DEFAULT_DR_PRIORITY                  (1)    /* RFC 4601: 4.3.1 */
index 6b4dd111e778ddf23142d640e0a423cb96c04d5b..2e93162694d1f5f15e91f683e6204b70eefb4cf0 100644 (file)
@@ -39,15 +39,15 @@ static struct in_addr pim_rpf_find_rpf_addr(struct pim_upstream *up);
 
 int pim_nexthop_lookup(struct pim_nexthop *nexthop, struct in_addr addr)
 {
-  struct pim_zlookup_nexthop nexthop_tab[PIM_NEXTHOP_IFINDEX_TAB_SIZE];
+  struct pim_zlookup_nexthop nexthop_tab[MULTIPATH_NUM];
   int num_ifindex;
   struct interface *ifp;
   int first_ifindex;
 
-  memset (nexthop_tab, 0, sizeof (struct pim_zlookup_nexthop) * PIM_NEXTHOP_IFINDEX_TAB_SIZE);
+  memset (nexthop_tab, 0, sizeof (struct pim_zlookup_nexthop) * MULTIPATH_NUM);
 
   num_ifindex = zclient_lookup_nexthop(nexthop_tab,
-                                      PIM_NEXTHOP_IFINDEX_TAB_SIZE,
+                                      MULTIPATH_NUM,
                                       addr, PIM_NEXTHOP_LOOKUP_MAX);
   if (num_ifindex < 1) {
     char addr_str[100];
index cfdc447fc3b1f50e1b7b025d0d1a3a6be39685d3..addccef82bee2aaaa885b5796ac6f915e1f2e3e1 100644 (file)
@@ -792,13 +792,13 @@ void igmp_anysource_forward_stop(struct igmp_group *group)
 
 static int fib_lookup_if_vif_index(struct in_addr addr)
 {
-  struct pim_zlookup_nexthop nexthop_tab[PIM_NEXTHOP_IFINDEX_TAB_SIZE];
+  struct pim_zlookup_nexthop nexthop_tab[MULTIPATH_NUM];
   int num_ifindex;
   int vif_index;
   ifindex_t first_ifindex;
 
   num_ifindex = zclient_lookup_nexthop(nexthop_tab,
-                                      PIM_NEXTHOP_IFINDEX_TAB_SIZE, addr,
+                                      MULTIPATH_NUM, addr,
                                       PIM_NEXTHOP_LOOKUP_MAX);
   if (num_ifindex < 1) {
     char addr_str[100];
index 8d7315946600727f4c8f27a2c635122e28b20784..f6490980609e4329aa455c2367d7f6f0fbf5e07f 100644 (file)
@@ -356,7 +356,7 @@ zclient_lookup_nexthop (struct pim_zlookup_nexthop nexthop_tab[],
     struct prefix nexthop_addr;
 
     num_ifindex = zclient_lookup_nexthop_once(nexthop_tab,
-                                             PIM_NEXTHOP_IFINDEX_TAB_SIZE, addr);
+                                             tab_size, addr);
     if (num_ifindex < 1) {
       if (PIM_DEBUG_ZEBRA) {
        char addr_str[100];