udp: make udp encap pool cacheline aligned 75/11275/2
authorDamjan Marion <damarion@cisco.com>
Wed, 21 Mar 2018 21:27:46 +0000 (22:27 +0100)
committerChris Luke <chris_luke@comcast.com>
Wed, 21 Mar 2018 23:12:29 +0000 (23:12 +0000)
This fixes issue with unaligned vector access on gcc-7.
As udp_encap_t is declared as cacheline aligned, alloc also need to be.

Change-Id: Ic30876911baf2c22c135097490075fa7bcf0ca18
Signed-off-by: Damjan Marion <damarion@cisco.com>
src/vnet/udp/udp_encap.c

index 8005fa5..4b4d541 100644 (file)
@@ -81,7 +81,7 @@ udp_encap_add_and_lock (u32 id,
     {
       u8 pfx_len = 0;
 
-      pool_get (udp_encap_pool, ue);
+      pool_get_aligned (udp_encap_pool, ue, CLIB_CACHE_LINE_BYTES);
       uei = ue - udp_encap_pool;
 
       vlib_validate_combined_counter (&(udp_encap_counters), uei);