From 66446b9888e7507929f1665fda0308b86fe7e70b Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Mon, 23 Jul 2018 12:20:09 -0400 Subject: Update pipeline.h: use vlib_get_buffers It's not clear that fine-graind pipelining will ever produce optimal performance. That having been written, it's an easier coding model for folks interesting in decent results without having to manually implement 2 or 4 way fine-grained parallelism. Change-Id: Ida877292832eaf759ffbb6d2e16012f8fbd427e5 Signed-off-by: Dave Barach --- src/vnet/l2tp/decap.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'src/vnet/l2tp/decap.c') diff --git a/src/vnet/l2tp/decap.c b/src/vnet/l2tp/decap.c index 304862b5ee6..334f1feca4a 100644 --- a/src/vnet/l2tp/decap.c +++ b/src/vnet/l2tp/decap.c @@ -56,18 +56,16 @@ typedef enum #define NSTAGES 3 static inline void -stage0 (vlib_main_t * vm, vlib_node_runtime_t * node, u32 buffer_index) +stage0 (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_buffer_t * b) { - vlib_buffer_t *b = vlib_get_buffer (vm, buffer_index); vlib_prefetch_buffer_header (b, STORE); /* l2tpv3 header is a long way away, need 2 cache lines */ CLIB_PREFETCH (b->data, 2 * CLIB_CACHE_LINE_BYTES, STORE); } static inline void -stage1 (vlib_main_t * vm, vlib_node_runtime_t * node, u32 bi) +stage1 (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_buffer_t * b) { - vlib_buffer_t *b = vlib_get_buffer (vm, bi); l2t_main_t *lm = &l2t_main; ip6_header_t *ip6 = vlib_buffer_get_current (b); u32 session_index; @@ -116,9 +114,8 @@ stage1 (vlib_main_t * vm, vlib_node_runtime_t * node, u32 bi) } static inline u32 -last_stage (vlib_main_t * vm, vlib_node_runtime_t * node, u32 bi) +last_stage (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_buffer_t * b) { - vlib_buffer_t *b = vlib_get_buffer (vm, bi); l2t_main_t *lm = &l2t_main; ip6_header_t *ip6 = vlib_buffer_get_current (b); vlib_node_t *n = vlib_get_node (vm, node->node_index); -- cgit 1.2.3-korg