IGMP plugin
[vpp.git] / src / vnet / fib / fib_test.c
index 8f7bba0..61ba934 100644 (file)
@@ -40,6 +40,8 @@
 #include <vnet/fib/fib_node_list.h>
 #include <vnet/fib/fib_urpf_list.h>
 
+#include <vlib/unix/plugin.h>
+
 /*
  * Add debugs for passing tests
  */
@@ -827,7 +829,15 @@ fib_test_v4 (void)
      * table, and 4 path-lists in the v6 MFIB table
      */
 #define ENBR (5+5+2)
-#define PNBR (5+5+6)
+
+    u32 PNBR = 5+5+2+4;
+
+    /*
+     * if the IGMP plugin is loaded this adds two more entries to the v4 MFIB
+     */
+    if (vlib_get_plugin_symbol("igmp_plugin.so", "igmp_listen"))
+        PNBR += 2;
+
     FIB_TEST((0 == fib_path_list_db_size()),   "path list DB is empty");
     FIB_TEST((PNBR == fib_path_list_pool_size()), "path list pool size is %d",
             fib_path_list_pool_size());
@@ -4343,7 +4353,13 @@ fib_test_v6 (void)
      * All entries are special so no path-list sharing.
      */
 #define ENPS (5+4)
-#define PNPS (5+4+4)
+    u32 PNPS = (5+4+4);
+    /*
+     * if the IGMP plugin is loaded this adds two more entries to the v4 MFIB
+     */
+    if (vlib_get_plugin_symbol("igmp_plugin.so", "igmp_listen"))
+        PNPS += 2;
+
     FIB_TEST((0 == fib_path_list_db_size()),   "path list DB is empty");
     FIB_TEST((PNPS == fib_path_list_pool_size()), "path list pool size is %d",
             fib_path_list_pool_size());