X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fip4_to_ip6.h;h=b1905e4154b1eee923478565964a9e87d998a88f;hb=dc20371f83ed81462c0b24eb750b76f7819df64a;hp=f2ed13dc381726e9b8f43ddde1b60a7144a98f93;hpb=c8e294b0108c0888b824395b814e2ee1dab6cdb6;p=vpp.git diff --git a/src/vnet/ip/ip4_to_ip6.h b/src/vnet/ip/ip4_to_ip6.h index f2ed13dc381..b1905e4154b 100644 --- a/src/vnet/ip/ip4_to_ip6.h +++ b/src/vnet/ip/ip4_to_ip6.h @@ -260,8 +260,8 @@ icmp_to_icmp6 (vlib_buffer_t * p, ip4_to_ip6_set_fn_t fn, void *ctx, -2 * (sizeof (*ip6) - sizeof (*ip4)) - sizeof (*inner_frag)); ip6 = vlib_buffer_get_current (p); - clib_memcpy (u8_ptr_add (ip6, sizeof (*ip6) - sizeof (*ip4)), ip4, - 20 + 8); + memmove (u8_ptr_add (ip6, sizeof (*ip6) - sizeof (*ip4)), ip4, + 20 + 8); ip4 = (ip4_header_t *) u8_ptr_add (ip6, sizeof (*ip6) - sizeof (*ip4)); icmp = (icmp46_header_t *) (ip4 + 1); @@ -286,8 +286,8 @@ icmp_to_icmp6 (vlib_buffer_t * p, ip4_to_ip6_set_fn_t fn, void *ctx, { vlib_buffer_advance (p, -2 * (sizeof (*ip6) - sizeof (*ip4))); ip6 = vlib_buffer_get_current (p); - clib_memcpy (u8_ptr_add (ip6, sizeof (*ip6) - sizeof (*ip4)), ip4, - 20 + 8); + memmove (u8_ptr_add (ip6, sizeof (*ip6) - sizeof (*ip4)), ip4, + 20 + 8); ip4 = (ip4_header_t *) u8_ptr_add (ip6, sizeof (*ip6) - sizeof (*ip4)); icmp = (icmp46_header_t *) u8_ptr_add (ip4, sizeof (*ip4)); @@ -518,7 +518,7 @@ ip4_to_ip6_tcp_udp (vlib_buffer_t * p, ip4_to_ip6_set_fn_t fn, void *ctx) //UDP checksum is optional over IPv4 but mandatory for IPv6 //We do not check udp->length sanity but use our safe computed value instead - if (PREDICT_FALSE (!checksum)) + if (PREDICT_FALSE (!*checksum)) { u16 udp_len = clib_host_to_net_u16 (ip4->length) - sizeof (*ip4); csum = ip_incremental_checksum (0, udp, udp_len);