vlib: pass node runtime to vlib_buffer_enqueue_to_thread() 14/32314/3
authorDamjan Marion <damarion@cisco.com>
Fri, 14 May 2021 12:50:01 +0000 (14:50 +0200)
committerFlorin Coras <florin.coras@gmail.com>
Fri, 14 May 2021 15:56:44 +0000 (15:56 +0000)
Mechanical change for patch following this one...

Type: improvement
Change-Id: Iee12f3a8851f35569e6c039494a94fc36e83d20f
Signed-off-by: Damjan Marion <damarion@cisco.com>
18 files changed:
docs/gettingstarted/developers/vlib.md
src/plugins/nat/nat44-ed/nat44_ed_handoff.c
src/plugins/nat/nat44-ei/nat44_ei_ha.c
src/plugins/nat/nat44-ei/nat44_ei_hairpinning.h
src/plugins/nat/nat44-ei/nat44_ei_handoff.c
src/plugins/nat/nat64/nat64_in2out.c
src/plugins/nat/nat64/nat64_out2in.c
src/plugins/wireguard/wireguard_handoff.c
src/vlib/buffer_funcs.c
src/vlib/buffer_funcs.h
src/vlib/buffer_node.h
src/vnet/handoff.c
src/vnet/ip/reass/ip4_full_reass.c
src/vnet/ip/reass/ip4_sv_reass.c
src/vnet/ip/reass/ip6_full_reass.c
src/vnet/ip/reass/ip6_sv_reass.c
src/vnet/ipsec/ipsec_handoff.c
src/vnet/policer/police_inlines.h

index 59206e5..3a35978 100644 (file)
@@ -668,7 +668,7 @@ a typical graph-node dispatch function:
 
        /* Enqueue buffers to threads */
        n_enq =
-        vlib_buffer_enqueue_to_thread (vm, hmp->frame_queue_index,
+        vlib_buffer_enqueue_to_thread (vm, node, hmp->frame_queue_index,
                                        from, thread_indices, frame->n_vectors,
                                        1 /* drop on congestion */);
        /* Typical counters,
index 597a08c..52d52b4 100644 (file)
@@ -270,8 +270,8 @@ nat44_worker_handoff_fn_inline (vlib_main_t * vm,
        }
     }
 
-  n_enq = vlib_buffer_enqueue_to_thread (vm, fq_index, from, thread_indices,
-                                        frame->n_vectors, 1);
+  n_enq = vlib_buffer_enqueue_to_thread (vm, node, fq_index, from,
+                                        thread_indices, frame->n_vectors, 1);
 
   if (n_enq < frame->n_vectors)
     {
index 91eea98..39bce25 100644 (file)
@@ -1265,9 +1265,8 @@ nat_ha_handoff_node_fn (vlib_main_t * vm, vlib_node_runtime_t * node,
       b += 1;
     }
 
-  n_enq =
-    vlib_buffer_enqueue_to_thread (vm, ha->fq_index, from, thread_indices,
-                                  frame->n_vectors, 1);
+  n_enq = vlib_buffer_enqueue_to_thread (vm, node, ha->fq_index, from,
+                                        thread_indices, frame->n_vectors, 1);
 
   if (n_enq < frame->n_vectors)
     vlib_node_increment_counter (vm, node->node_index,
index bdd2d21..908e6b2 100644 (file)
@@ -71,8 +71,8 @@ nat44_ei_hairpinning_handoff_fn_inline (vlib_main_t *vm,
       ti += 1;
       b += 1;
     }
-  n_enq = vlib_buffer_enqueue_to_thread (vm, fq_index, from, thread_indices,
-                                        frame->n_vectors, 1);
+  n_enq = vlib_buffer_enqueue_to_thread (vm, node, fq_index, from,
+                                        thread_indices, frame->n_vectors, 1);
 
   if (n_enq < frame->n_vectors)
     vlib_node_increment_counter (
index 6b172dc..567f539 100644 (file)
@@ -265,8 +265,8 @@ nat44_ei_worker_handoff_fn_inline (vlib_main_t *vm, vlib_node_runtime_t *node,
        }
     }
 
-  n_enq = vlib_buffer_enqueue_to_thread (vm, fq_index, from, thread_indices,
-                                        frame->n_vectors, 1);
+  n_enq = vlib_buffer_enqueue_to_thread (vm, node, fq_index, from,
+                                        thread_indices, frame->n_vectors, 1);
 
   if (n_enq < frame->n_vectors)
     {
index 5d98277..52d3c7f 100644 (file)
@@ -1367,9 +1367,8 @@ VLIB_NODE_FN (nat64_in2out_handoff_node) (vlib_main_t * vm,
       b += 1;
     }
 
-  n_enq =
-    vlib_buffer_enqueue_to_thread (vm, fq_index, from, thread_indices,
-                                  frame->n_vectors, 1);
+  n_enq = vlib_buffer_enqueue_to_thread (vm, node, fq_index, from,
+                                        thread_indices, frame->n_vectors, 1);
 
   if (n_enq < frame->n_vectors)
     vlib_node_increment_counter (vm, node->node_index,
index 5c5554b..7cc2d3d 100644 (file)
@@ -752,9 +752,8 @@ VLIB_NODE_FN (nat64_out2in_handoff_node) (vlib_main_t * vm,
       b += 1;
     }
 
-  n_enq =
-    vlib_buffer_enqueue_to_thread (vm, fq_index, from, thread_indices,
-                                  frame->n_vectors, 1);
+  n_enq = vlib_buffer_enqueue_to_thread (vm, node, fq_index, from,
+                                        thread_indices, frame->n_vectors, 1);
 
   if (n_enq < frame->n_vectors)
     vlib_node_increment_counter (vm, node->node_index,
index 3957af9..d3e37b3 100644 (file)
@@ -118,7 +118,7 @@ wg_handoff (vlib_main_t * vm,
       b += 1;
     }
 
-  n_enq = vlib_buffer_enqueue_to_thread (vm, fq_index, from,
+  n_enq = vlib_buffer_enqueue_to_thread (vm, node, fq_index, from,
                                         thread_indices, frame->n_vectors, 1);
 
   if (n_enq < frame->n_vectors)
index 9ed1bac..83ff296 100644 (file)
@@ -163,8 +163,9 @@ CLIB_MARCH_FN_REGISTRATION (vlib_buffer_enqueue_to_single_next_fn);
 
 u32 __clib_section (".vlib_buffer_enqueue_to_thread_fn")
 CLIB_MULTIARCH_FN (vlib_buffer_enqueue_to_thread_fn)
-(vlib_main_t *vm, u32 frame_queue_index, u32 *buffer_indices,
- u16 *thread_indices, u32 n_packets, int drop_on_congestion)
+(vlib_main_t *vm, vlib_node_runtime_t *node, u32 frame_queue_index,
+ u32 *buffer_indices, u16 *thread_indices, u32 n_packets,
+ int drop_on_congestion)
 {
   vlib_thread_main_t *tm = vlib_get_thread_main ();
   vlib_frame_queue_main_t *fqm;
index d579e1b..8b8a391 100644 (file)
@@ -60,8 +60,9 @@ typedef void (vlib_buffer_enqueue_to_single_next_fn_t) (
   u32 count);
 
 typedef u32 (vlib_buffer_enqueue_to_thread_fn_t) (
-  vlib_main_t *vm, u32 frame_queue_index, u32 *buffer_indices,
-  u16 *thread_indices, u32 n_packets, int drop_on_congestion);
+  vlib_main_t *vm, vlib_node_runtime_t *node, u32 frame_queue_index,
+  u32 *buffer_indices, u16 *thread_indices, u32 n_packets,
+  int drop_on_congestion);
 
 typedef u32 (vlib_frame_queue_dequeue_fn_t) (vlib_main_t *vm,
                                             vlib_frame_queue_main_t *fqm);
index d2bd32f..9fece67 100644 (file)
@@ -355,13 +355,14 @@ vlib_buffer_enqueue_to_single_next (vlib_main_t * vm,
 }
 
 static_always_inline u32
-vlib_buffer_enqueue_to_thread (vlib_main_t * vm, u32 frame_queue_index,
-                              u32 * buffer_indices, u16 * thread_indices,
-                              u32 n_packets, int drop_on_congestion)
+vlib_buffer_enqueue_to_thread (vlib_main_t *vm, vlib_node_runtime_t *node,
+                              u32 frame_queue_index, u32 *buffer_indices,
+                              u16 *thread_indices, u32 n_packets,
+                              int drop_on_congestion)
 {
   vlib_buffer_enqueue_to_thread_fn_t *fn;
   fn = vlib_buffer_func_main.buffer_enqueue_to_thread_fn;
-  return (fn) (vm, frame_queue_index, buffer_indices, thread_indices,
+  return (fn) (vm, node, frame_queue_index, buffer_indices, thread_indices,
               n_packets, drop_on_congestion);
 }
 
index cbdc528..f64d5ad 100644 (file)
@@ -149,7 +149,7 @@ VLIB_NODE_FN (worker_handoff_node) (vlib_main_t * vm,
       b += 1;
     }
 
-  n_enq = vlib_buffer_enqueue_to_thread (vm, hm->frame_queue_index, from,
+  n_enq = vlib_buffer_enqueue_to_thread (vm, node, hm->frame_queue_index, from,
                                         thread_indices, frame->n_vectors, 1);
 
   if (n_enq < frame->n_vectors)
index 2bfbc38..fda73a4 100644 (file)
@@ -1840,9 +1840,8 @@ ip4_full_reass_handoff_node_inline (vlib_main_t * vm,
       ti += 1;
       b += 1;
     }
-  n_enq =
-    vlib_buffer_enqueue_to_thread (vm, fq_index, from, thread_indices,
-                                  frame->n_vectors, 1);
+  n_enq = vlib_buffer_enqueue_to_thread (vm, node, fq_index, from,
+                                        thread_indices, frame->n_vectors, 1);
 
   if (n_enq < frame->n_vectors)
     vlib_node_increment_counter (vm, node->node_index,
index 28ebc4d..43390ea 100644 (file)
@@ -1440,9 +1440,8 @@ ip4_sv_reass_handoff_node_inline (vlib_main_t * vm,
       ti += 1;
       b += 1;
     }
-  n_enq =
-    vlib_buffer_enqueue_to_thread (vm, fq_index, from, thread_indices,
-                                  frame->n_vectors, 1);
+  n_enq = vlib_buffer_enqueue_to_thread (vm, node, fq_index, from,
+                                        thread_indices, frame->n_vectors, 1);
 
   if (n_enq < frame->n_vectors)
     vlib_node_increment_counter (vm, node->node_index,
index 8403bc5..6750568 100644 (file)
@@ -1795,9 +1795,8 @@ ip6_full_reassembly_handoff_inline (vlib_main_t * vm,
       ti += 1;
       b += 1;
     }
-  n_enq =
-    vlib_buffer_enqueue_to_thread (vm, fq_index, from, thread_indices,
-                                  frame->n_vectors, 1);
+  n_enq = vlib_buffer_enqueue_to_thread (vm, node, fq_index, from,
+                                        thread_indices, frame->n_vectors, 1);
 
   if (n_enq < frame->n_vectors)
     vlib_node_increment_counter (vm, node->node_index,
index e09173d..d5218a4 100644 (file)
@@ -1265,9 +1265,8 @@ ip6_sv_reassembly_handoff_inline (vlib_main_t * vm,
       ti += 1;
       b += 1;
     }
-  n_enq =
-    vlib_buffer_enqueue_to_thread (vm, fq_index, from, thread_indices,
-                                  frame->n_vectors, 1);
+  n_enq = vlib_buffer_enqueue_to_thread (vm, node, fq_index, from,
+                                        thread_indices, frame->n_vectors, 1);
 
   if (n_enq < frame->n_vectors)
     vlib_node_increment_counter (vm, node->node_index,
index 9092f81..e8daa1a 100644 (file)
@@ -132,7 +132,7 @@ ipsec_handoff (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame,
       b += 1;
     }
 
-  n_enq = vlib_buffer_enqueue_to_thread (vm, fq_index, from,
+  n_enq = vlib_buffer_enqueue_to_thread (vm, node, fq_index, from,
                                         thread_indices, frame->n_vectors, 1);
 
   if (n_enq < frame->n_vectors)
index 59afb56..6b0c0ec 100644 (file)
@@ -169,8 +169,8 @@ policer_handoff (vlib_main_t *vm, vlib_node_runtime_t *node,
       b++;
     }
 
-  n_enq = vlib_buffer_enqueue_to_thread (vm, fq_index, from, thread_indices,
-                                        frame->n_vectors, 1);
+  n_enq = vlib_buffer_enqueue_to_thread (vm, node, fq_index, from,
+                                        thread_indices, frame->n_vectors, 1);
 
   if (n_enq < frame->n_vectors)
     vlib_node_increment_counter (vm, node->node_index,