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/ethernet/arp.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/ethernet/arp.c')
-rw-r--r-- | vnet/vnet/ethernet/arp.c | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/vnet/vnet/ethernet/arp.c b/vnet/vnet/ethernet/arp.c index a5b015c715a..220d0d2a0ba 100644 --- a/vnet/vnet/ethernet/arp.c +++ b/vnet/vnet/ethernet/arp.c @@ -278,7 +278,7 @@ ethernet_arp_sw_interface_up_down (vnet_main_t * vnm, ethernet_arp_ip4_over_ethernet_address_t delme; e = pool_elt_at_index (am->ip4_entry_pool, to_delete[i]); - memcpy (&delme.ethernet, e->ethernet_address, 6); + clib_memcpy (&delme.ethernet, e->ethernet_address, 6); delme.ip4.as_u32 = e->key.ip4_address.as_u32; vnet_arp_unset_ip4_over_ethernet (vnm, e->key.sw_if_index, @@ -347,7 +347,7 @@ vnet_arp_set_ip4_over_ethernet (vnet_main_t * vnm, args.fib_index = fib_index; args.is_static = is_static; args.is_remove = 0; - memcpy (&args.a, a, sizeof (*a)); + clib_memcpy (&args.a, a, sizeof (*a)); vl_api_rpc_call_main_thread (set_ip4_over_ethernet_rpc_callback, (u8 *) &args, sizeof (args)); @@ -452,7 +452,7 @@ vnet_arp_set_ip4_over_ethernet_internal (vnet_main_t * vnm, } /* Update time stamp and ethernet address. */ - memcpy (e->ethernet_address, a->ethernet, sizeof (e->ethernet_address)); + clib_memcpy (e->ethernet_address, a->ethernet, sizeof (e->ethernet_address)); e->cpu_time_last_updated = clib_cpu_time_now (); if (is_static) e->flags |= ETHERNET_ARP_IP4_ENTRY_FLAG_STATIC; @@ -696,7 +696,7 @@ static void unset_random_arp_entry (void) e = pool_elt_at_index (am->ip4_entry_pool, index); - memcpy (&delme.ethernet, e->ethernet_address, 6); + clib_memcpy (&delme.ethernet, e->ethernet_address, 6); delme.ip4.as_u32 = e->key.ip4_address.as_u32; vnet_arp_unset_ip4_over_ethernet (vnm, e->key.sw_if_index, @@ -724,7 +724,7 @@ static void arp_unnumbered (vlib_buffer_t * p0, ethernet_arp_header_t * arp0; /* Save the dst mac address */ - memcpy(dst_mac_address, eth0->dst_address, sizeof (dst_mac_address)); + clib_memcpy(dst_mac_address, eth0->dst_address, sizeof (dst_mac_address)); /* Figure out which sw_if_index supplied the address */ unnum_src_sw_if_index = ifa0->sw_if_index; @@ -753,7 +753,7 @@ static void arp_unnumbered (vlib_buffer_t * p0, b0 = vlib_get_buffer (vm, buffers[i]); /* xerox (partially built) ARP pkt */ - memcpy (b0->data, p0->data, p0->current_length + p0->current_data); + clib_memcpy (b0->data, p0->data, p0->current_length + p0->current_data); b0->current_data = p0->current_data; b0->current_length = p0->current_length; vnet_buffer(b0)->sw_if_index[VLIB_RX] = @@ -776,7 +776,7 @@ static void arp_unnumbered (vlib_buffer_t * p0, vnet_buffer(b0)->sw_if_index[VLIB_TX] = hi->sw_if_index; /* Fix ARP pkt src address */ - memcpy (arp0->ip4_over_ethernet[0].ethernet, hi->hw_address, 6); + clib_memcpy (arp0->ip4_over_ethernet[0].ethernet, hi->hw_address, 6); /* Build L2 encaps for this swif */ header_size = sizeof (ethernet_header_t); @@ -817,8 +817,8 @@ static void arp_unnumbered (vlib_buffer_t * p0, } /* Restore the original dst address, set src address */ - memcpy (eth0->dst_address, dst_mac_address, sizeof (eth0->dst_address)); - memcpy (eth0->src_address, hi->hw_address, sizeof (eth0->src_address)); + clib_memcpy (eth0->dst_address, dst_mac_address, sizeof (eth0->dst_address)); + clib_memcpy (eth0->src_address, hi->hw_address, sizeof (eth0->src_address)); /* Transmit replicas */ if (i > 0) @@ -986,14 +986,14 @@ arp_input (vlib_main_t * vm, arp0->ip4_over_ethernet[1] = arp0->ip4_over_ethernet[0]; - memcpy (arp0->ip4_over_ethernet[0].ethernet, hw_if0->hw_address, 6); + clib_memcpy (arp0->ip4_over_ethernet[0].ethernet, hw_if0->hw_address, 6); clib_mem_unaligned (&arp0->ip4_over_ethernet[0].ip4.data_u32, u32) = if_addr0->data_u32; /* Hardware must be ethernet-like. */ ASSERT (vec_len (hw_if0->hw_address) == 6); - memcpy (eth0->dst_address, eth0->src_address, 6); - memcpy (eth0->src_address, hw_if0->hw_address, 6); + clib_memcpy (eth0->dst_address, eth0->src_address, 6); + clib_memcpy (eth0->src_address, hw_if0->hw_address, 6); /* Figure out how much to rewind current data from adjacency. */ if (ifa0) @@ -1390,7 +1390,7 @@ vnet_arp_unset_ip4_over_ethernet (vnet_main_t * vnm, args.sw_if_index = sw_if_index; args.fib_index = fib_index; args.is_remove = 1; - memcpy (&args.a, a, sizeof (*a)); + clib_memcpy (&args.a, a, sizeof (*a)); vl_api_rpc_call_main_thread (set_ip4_over_ethernet_rpc_callback, (u8 *) &args, sizeof (args)); @@ -1600,7 +1600,7 @@ vnet_arp_glean_add(u32 fib_index, void * next_hop_arg) e->flags = ETHERNET_ARP_IP4_ENTRY_FLAG_GLEAN; memset(&args, 0, sizeof(args)); - memcpy(&add_adj, adj, sizeof(add_adj)); + clib_memcpy(&add_adj, adj, sizeof(add_adj)); add_adj.arp.next_hop.ip4.as_u32 = next_hop->as_u32; /* install neighbor /32 route */ args.table_index_or_table_id = fib_index; args.flags = IP4_ROUTE_FLAG_FIB_INDEX | IP4_ROUTE_FLAG_ADD| IP4_ROUTE_FLAG_NEIGHBOR; @@ -1828,7 +1828,7 @@ arp_term_l2bd (vlib_main_t * vm, { u8 *t0 = vlib_add_trace ( vm, node, p0, sizeof(ethernet_arp_input_trace_t)); - memcpy (t0, l3h0, sizeof(ethernet_arp_input_trace_t)); + clib_memcpy (t0, l3h0, sizeof(ethernet_arp_input_trace_t)); } if (PREDICT_FALSE ( @@ -1907,9 +1907,9 @@ arp_term_l2bd (vlib_main_t * vm, arp0->opcode = clib_host_to_net_u16 (ETHERNET_ARP_OPCODE_reply); arp0->ip4_over_ethernet[1] = arp0->ip4_over_ethernet[0]; arp0->ip4_over_ethernet[0].ip4.as_u32 = ip0; - memcpy (arp0->ip4_over_ethernet[0].ethernet, macp0, 6); - memcpy (eth0->dst_address, eth0->src_address, 6); - memcpy (eth0->src_address, macp0, 6); + clib_memcpy (arp0->ip4_over_ethernet[0].ethernet, macp0, 6); + clib_memcpy (eth0->dst_address, eth0->src_address, 6); + clib_memcpy (eth0->src_address, macp0, 6); n_replies_sent += 1; // For BVI, need to use l2-fwd node to send ARP reply as |