diff options
author | Damjan Marion <damarion@cisco.com> | 2016-03-13 02:22:06 +0100 |
---|---|---|
committer | Damjan Marion <damarion@cisco.com> | 2016-04-22 17:29:47 +0200 |
commit | f1213b82771ce929c076339c24a777cfd59690e6 (patch) | |
tree | 3c74305e8848047d8ccd1228ee511d57cbf1b1a6 /vnet/vnet/classify/vnet_classify.c | |
parent | 2b836cf4d1e4e59ca34229a9fdf49d79216da20e (diff) |
Add clib_memcpy macro based on DPDK rte_memcpy implementation
Change-Id: I22cb443c4bd0bf298abb6f06e8e4ca65a44a2854
Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'vnet/vnet/classify/vnet_classify.c')
-rw-r--r-- | vnet/vnet/classify/vnet_classify.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/vnet/vnet/classify/vnet_classify.c b/vnet/vnet/classify/vnet_classify.c index 2a7770194e3..11d3714cc73 100644 --- a/vnet/vnet/classify/vnet_classify.c +++ b/vnet/vnet/classify/vnet_classify.c @@ -110,7 +110,7 @@ vnet_classify_new_table (vnet_classify_main_t *cm, memset(t, 0, sizeof (*t)); vec_validate_aligned (t->mask, match_n_vectors - 1, sizeof(u32x4)); - memcpy (t->mask, mask, match_n_vectors * sizeof (u32x4)); + clib_memcpy (t->mask, mask, match_n_vectors * sizeof (u32x4)); t->next_table_index = ~0; t->nbuckets = nbuckets; @@ -292,7 +292,7 @@ static inline void make_working_copy { #define _(size) \ case size: \ - memcpy (working_copy, v, \ + clib_memcpy (working_copy, v, \ sizeof (vnet_classify_entry_##size##_t) \ * (1<<b->log2_pages) \ * (t->entries_per_page)); \ @@ -348,7 +348,7 @@ split_and_rehash (vnet_classify_table_t * t, if (vnet_classify_entry_is_free (new_v)) { - memcpy (new_v, v, sizeof (vnet_classify_entry_t) + clib_memcpy (new_v, v, sizeof (vnet_classify_entry_t) + (t->match_n_vectors * sizeof (u32x4))); new_v->flags &= ~(VNET_CLASSIFY_ENTRY_FREE); goto doublebreak; @@ -405,7 +405,7 @@ int vnet_classify_add_del (vnet_classify_table_t * t, } v = vnet_classify_entry_alloc (t, 0 /* new_log2_pages */); - memcpy (v, add_v, sizeof (vnet_classify_entry_t) + + clib_memcpy (v, add_v, sizeof (vnet_classify_entry_t) + t->match_n_vectors * sizeof (u32x4)); v->flags &= ~(VNET_CLASSIFY_ENTRY_FREE); @@ -436,7 +436,7 @@ int vnet_classify_add_del (vnet_classify_table_t * t, if (!memcmp (v->key, add_v->key, t->match_n_vectors * sizeof (u32x4))) { - memcpy (v, add_v, sizeof (vnet_classify_entry_t) + + clib_memcpy (v, add_v, sizeof (vnet_classify_entry_t) + t->match_n_vectors * sizeof(u32x4)); v->flags &= ~(VNET_CLASSIFY_ENTRY_FREE); @@ -452,7 +452,7 @@ int vnet_classify_add_del (vnet_classify_table_t * t, if (vnet_classify_entry_is_free (v)) { - memcpy (v, add_v, sizeof (vnet_classify_entry_t) + + clib_memcpy (v, add_v, sizeof (vnet_classify_entry_t) + t->match_n_vectors * sizeof(u32x4)); v->flags &= ~(VNET_CLASSIFY_ENTRY_FREE); CLIB_MEMORY_BARRIER(); @@ -513,7 +513,7 @@ int vnet_classify_add_del (vnet_classify_table_t * t, if (vnet_classify_entry_is_free (new_v)) { - memcpy (new_v, add_v, sizeof (vnet_classify_entry_t) + + clib_memcpy (new_v, add_v, sizeof (vnet_classify_entry_t) + t->match_n_vectors * sizeof(u32x4)); new_v->flags &= ~(VNET_CLASSIFY_ENTRY_FREE); goto expand_ok; @@ -1464,10 +1464,10 @@ uword unformat_ip6_match (unformat_input_t * input, va_list * args) ip = (ip6_header_t *) match; if (src) - memcpy (&ip->src_address, &src_val, sizeof (ip->src_address)); + clib_memcpy (&ip->src_address, &src_val, sizeof (ip->src_address)); if (dst) - memcpy (&ip->dst_address, &dst_val, sizeof (ip->dst_address)); + clib_memcpy (&ip->dst_address, &dst_val, sizeof (ip->dst_address)); if (proto) ip->protocol = proto_val; @@ -1584,10 +1584,10 @@ uword unformat_l2_match (unformat_input_t * input, va_list * args) vec_validate_aligned (match, len-1, sizeof(u32x4)); if (dst) - memcpy (match, dst_val, 6); + clib_memcpy (match, dst_val, 6); if (src) - memcpy (match + 6, src_val, 6); + clib_memcpy (match + 6, src_val, 6); if (tag2) { @@ -1723,7 +1723,7 @@ int vnet_classify_add_del_session (vnet_classify_main_t * cm, e->flags = 0; /* Copy key data, honoring skip_n_vectors */ - memcpy (&e->key, match + t->skip_n_vectors * sizeof (u32x4), + clib_memcpy (&e->key, match + t->skip_n_vectors * sizeof (u32x4), t->match_n_vectors * sizeof (u32x4)); /* Clear don't-care bits; likely when dynamically creating sessions */ |