diff options
author | Junfeng Wang <Drenfong.Wang@intel.com> | 2021-03-09 16:44:57 +0800 |
---|---|---|
committer | John Lo <lojultra2020@outlook.com> | 2021-03-19 21:34:16 +0000 |
commit | 290526e3c72888ac05928ed0a6dddee02f7df650 (patch) | |
tree | 5117191488c7107d6404abaaca97d76022e7e759 /src/plugins/gtpu | |
parent | 162b70d50aaf5daa744417818c01cae573580f6f (diff) |
vxlan: add tunnel cache to graph node
Type: improvement
Signed-off-by: Drenfong Wong <drenfong.wang@intel.com>
Change-Id: Ia81aaa86fe071cbbed028cc85c5f3fa0f1940a0f
Diffstat (limited to 'src/plugins/gtpu')
-rw-r--r-- | src/plugins/gtpu/gtpu.h | 5 | ||||
-rw-r--r-- | src/plugins/gtpu/gtpu_decap.c | 16 |
2 files changed, 11 insertions, 10 deletions
diff --git a/src/plugins/gtpu/gtpu.h b/src/plugins/gtpu/gtpu.h index 8f3b654bcc8..59e340148fb 100644 --- a/src/plugins/gtpu/gtpu.h +++ b/src/plugins/gtpu/gtpu.h @@ -236,6 +236,11 @@ typedef struct vlib_main_t *vlib_main; vnet_main_t *vnet_main; u32 flow_id_start; + /* cache for last 8 gtpu tunnel */ +#ifdef CLIB_HAVE_VEC512 + vtep4_cache_t vtep4_u512; +#endif + } gtpu_main_t; extern gtpu_main_t gtpu_main; diff --git a/src/plugins/gtpu/gtpu_decap.c b/src/plugins/gtpu/gtpu_decap.c index 974ae8a8190..5657c08031b 100644 --- a/src/plugins/gtpu/gtpu_decap.c +++ b/src/plugins/gtpu/gtpu_decap.c @@ -804,10 +804,6 @@ ip_gtpu_bypass_inline (vlib_main_t * vm, vtep6_key_t last_vtep6; /* last IPv6 address / fib index matching a local VTEP address */ vlib_buffer_t *bufs[VLIB_FRAME_SIZE], **b = bufs; -#ifdef CLIB_HAVE_VEC512 - vtep4_cache_t vtep4_u512; - clib_memset (&vtep4_u512, 0, sizeof (vtep4_u512)); -#endif from = vlib_frame_vector_args (frame); n_left_from = frame->n_vectors; @@ -901,8 +897,8 @@ ip_gtpu_bypass_inline (vlib_main_t * vm, if (is_ip4) { #ifdef CLIB_HAVE_VEC512 - if (!vtep4_check_vector - (>m->vtep_table, b0, ip40, &last_vtep4, &vtep4_u512)) + if (!vtep4_check_vector (>m->vtep_table, b0, ip40, &last_vtep4, + >m->vtep4_u512)) #else if (!vtep4_check (>m->vtep_table, b0, ip40, &last_vtep4)) #endif @@ -980,8 +976,8 @@ ip_gtpu_bypass_inline (vlib_main_t * vm, if (is_ip4) { #ifdef CLIB_HAVE_VEC512 - if (!vtep4_check_vector - (>m->vtep_table, b1, ip41, &last_vtep4, &vtep4_u512)) + if (!vtep4_check_vector (>m->vtep_table, b1, ip41, &last_vtep4, + >m->vtep4_u512)) #else if (!vtep4_check (>m->vtep_table, b1, ip41, &last_vtep4)) #endif @@ -1096,8 +1092,8 @@ ip_gtpu_bypass_inline (vlib_main_t * vm, if (is_ip4) { #ifdef CLIB_HAVE_VEC512 - if (!vtep4_check_vector - (>m->vtep_table, b0, ip40, &last_vtep4, &vtep4_u512)) + if (!vtep4_check_vector (>m->vtep_table, b0, ip40, &last_vtep4, + >m->vtep4_u512)) #else if (!vtep4_check (>m->vtep_table, b0, ip40, &last_vtep4)) #endif |