ip: Router ID included in flow hash
[vpp.git] / src / vlib / node.c
index 387b774..25e249b 100644 (file)
@@ -223,14 +223,14 @@ vlib_node_add_next_with_slot (vlib_main_t * vm,
     uword sib_node_index, sib_slot;
     vlib_node_t *sib_node;
     /* *INDENT-OFF* */
-    clib_bitmap_foreach (sib_node_index, node->sibling_bitmap, ({
+    clib_bitmap_foreach (sib_node_index, node->sibling_bitmap)  {
       sib_node = vec_elt (nm->nodes, sib_node_index);
       if (sib_node != node)
        {
          sib_slot = vlib_node_add_next_with_slot (vm, sib_node_index, next_node_index, slot);
          ASSERT (sib_slot == slot);
        }
-    }));
+    }
     /* *INDENT-ON* */
   }
 
@@ -447,6 +447,9 @@ register_node (vlib_main_t * vm, vlib_node_registration_t * r)
       {
        vec_add2_aligned (nm->nodes_by_type[n->type], rt, 1,
                          /* align */ CLIB_CACHE_LINE_BYTES);
+       if (n->type == VLIB_NODE_TYPE_INPUT)
+         clib_interrupt_resize (&nm->interrupts,
+                                vec_len (nm->nodes_by_type[n->type]));
        n->runtime_index = rt - nm->nodes_by_type[n->type];
       }
 
@@ -475,6 +478,8 @@ register_node (vlib_main_t * vm, vlib_node_registration_t * r)
     if (vec_len (n->runtime_data) > 0)
       clib_memcpy (rt->runtime_data, n->runtime_data,
                   vec_len (n->runtime_data));
+    else
+      clib_memset (rt->runtime_data, 0, VLIB_NODE_RUNTIME_DATA_SIZE);
 
     vec_free (n->runtime_data);
   }
@@ -627,7 +632,7 @@ vlib_node_main_init (vlib_main_t * vm)
          }
 
         /* *INDENT-OFF* */
-       clib_bitmap_foreach (si, sib->sibling_bitmap, ({
+       clib_bitmap_foreach (si, sib->sibling_bitmap)  {
              vlib_node_t * m = vec_elt (nm->nodes, si);
 
              /* Connect all of sibling's siblings to us. */
@@ -635,7 +640,7 @@ vlib_node_main_init (vlib_main_t * vm)
 
              /* Connect us to all of sibling's siblings. */
              n->sibling_bitmap = clib_bitmap_ori (n->sibling_bitmap, si);
-           }));
+           }
         /* *INDENT-ON* */
 
        /* Connect sibling to us. */