diff options
-rw-r--r-- | vnet/vnet/l2/l2_fib.c | 1 | ||||
-rw-r--r-- | vnet/vnet/l2/l2_fib.h | 2 | ||||
-rw-r--r-- | vppinfra/vppinfra/mheap_bootstrap.h | 2 |
3 files changed, 3 insertions, 2 deletions
diff --git a/vnet/vnet/l2/l2_fib.c b/vnet/vnet/l2/l2_fib.c index 198ffd281bb..050eba563cc 100644 --- a/vnet/vnet/l2/l2_fib.c +++ b/vnet/vnet/l2/l2_fib.c @@ -554,6 +554,7 @@ clib_error_t *l2fib_init (vlib_main_t *vm) L2FIB_NUM_BUCKETS, L2FIB_MEMORY_SIZE); // verify the key constructor is good, since it is endian-sensitive + memset (test_mac, 0, sizeof(test_mac)); test_mac[0] = 0x11; test_key.raw = 0; test_key.raw = l2fib_make_key ((u8 *)&test_mac, 0x1234); diff --git a/vnet/vnet/l2/l2_fib.h b/vnet/vnet/l2/l2_fib.h index 1dcc0200f60..5498abf29b0 100644 --- a/vnet/vnet/l2/l2_fib.h +++ b/vnet/vnet/l2/l2_fib.h @@ -95,7 +95,7 @@ u64 l2fib_make_key (u8 * mac_address, u16 bd_index) { // Create the in-register key as H:L:A:B:C:D:E:F // In memory the key is H:L:A:B:C:D:E:F temp = *((u64 *)(mac_address)) >> 16; - temp = temp | (bd_index << 48); + temp = temp | (((u64)bd_index) << 48); #endif return temp; diff --git a/vppinfra/vppinfra/mheap_bootstrap.h b/vppinfra/vppinfra/mheap_bootstrap.h index 989f941ef1a..8a2c991bdea 100644 --- a/vppinfra/vppinfra/mheap_bootstrap.h +++ b/vppinfra/vppinfra/mheap_bootstrap.h @@ -144,7 +144,7 @@ typedef struct { /* Without vector instructions don't bother with small object cache. */ #ifdef CLIB_HAVE_VEC128 -#define MHEAP_HAVE_SMALL_OBJECT_CACHE 0 +#define MHEAP_HAVE_SMALL_OBJECT_CACHE 1 #else #define MHEAP_HAVE_SMALL_OBJECT_CACHE 0 #endif |