It's simpler to make two calls than eight. Reported-by: Eelco Chaudron <echau...@redhat.com> Signed-off-by: Ben Pfaff <b...@ovn.org> --- lib/packets.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/lib/packets.c b/lib/packets.c index 748418b..13a063a 100644 --- a/lib/packets.c +++ b/lib/packets.c @@ -1459,16 +1459,8 @@ packet_csum_pseudoheader6(const struct ovs_16aligned_ip6_hdr *ip6) { uint32_t partial = 0; - partial = csum_add32(partial, get_16aligned_be32(&(ip6->ip6_src.be32[0]))); - partial = csum_add32(partial, get_16aligned_be32(&(ip6->ip6_src.be32[1]))); - partial = csum_add32(partial, get_16aligned_be32(&(ip6->ip6_src.be32[2]))); - partial = csum_add32(partial, get_16aligned_be32(&(ip6->ip6_src.be32[3]))); - - partial = csum_add32(partial, get_16aligned_be32(&(ip6->ip6_dst.be32[0]))); - partial = csum_add32(partial, get_16aligned_be32(&(ip6->ip6_dst.be32[1]))); - partial = csum_add32(partial, get_16aligned_be32(&(ip6->ip6_dst.be32[2]))); - partial = csum_add32(partial, get_16aligned_be32(&(ip6->ip6_dst.be32[3]))); - + partial = csum_continue(partial, &ip6->ip6_src, sizeof ip6->ip6_src); + partial = csum_continue(partial, &ip6->ip6_dst, sizeof ip6->ip6_dst); partial = csum_add16(partial, htons(ip6->ip6_nxt)); partial = csum_add16(partial, ip6->ip6_plen); -- 2.10.2 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev