vec_free (h->key_tmps);
hash_free (h->hash);
- memset (h, 0, sizeof (h[0]));
+ clib_memset (h, 0, sizeof (h[0]));
h->n_key_bytes = n_key_bytes;
-#if 0
- if (h->n_key_bytes > 0)
- {
- vec_validate (h->key_tmp, h->n_key_bytes - 1);
- _vec_len (h->key_tmp) = 0;
- }
-#endif
+ vec_validate (h->key_tmps, os_get_nthreads () - 1);
ASSERT (n_key_bytes < ARRAY_LEN (t));
h->hash = hash_create2 ( /* elts */ 0,
u8 *key_tmp;
int my_cpu = os_get_thread_index ();
- vec_validate (h->key_tmps, my_cpu);
key_tmp = h->key_tmps[my_cpu];
vec_reset_length (key_tmp);
sk = (void *) (h->key_vector_or_heap + i);
sk->heap_handle = handle;
sk->vec.len = n_key_bytes;
- clib_memcpy (sk->vec.vector_data, key, n_key_bytes);
+ clib_memcpy_fast (sk->vec.vector_data, key, n_key_bytes);
/* Advance key past vector header. */
i += sizeof (sk[0]);
}
n_key_bytes = h->n_key_bytes;
- clib_memcpy (k, key, n_key_bytes);
+ clib_memcpy_fast (k, key, n_key_bytes);
}
ikey = i;