diff mbox

[ovs-dev] packets: Simplify packet_csum_pseudoheader6().

Message ID 20161223170639.15811-1-blp@ovn.org
State Accepted
Headers show

Commit Message

Ben Pfaff Dec. 23, 2016, 5:06 p.m. UTC
It's simpler to make two calls than eight.

Reported-by: Eelco Chaudron <echaudro@redhat.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
---
 lib/packets.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

Comments

Andy Zhou Dec. 23, 2016, 9:46 p.m. UTC | #1
On Fri, Dec 23, 2016 at 9:06 AM, Ben Pfaff <blp@ovn.org> wrote:

> It's simpler to make two calls than eight.
>
> Reported-by: Eelco Chaudron <echaudro@redhat.com>
> Signed-off-by: Ben Pfaff <blp@ovn.org>


Acked-by: Andy Zhou <azhou@ovn.org>
Ben Pfaff Dec. 24, 2016, 12:09 a.m. UTC | #2
On Fri, Dec 23, 2016 at 01:46:53PM -0800, Andy Zhou wrote:
> On Fri, Dec 23, 2016 at 9:06 AM, Ben Pfaff <blp@ovn.org> wrote:
> 
> > It's simpler to make two calls than eight.
> >
> > Reported-by: Eelco Chaudron <echaudro@redhat.com>
> > Signed-off-by: Ben Pfaff <blp@ovn.org>
> 
> 
> Acked-by: Andy Zhou <azhou@ovn.org>

Thank you.  I applied this to master.
diff mbox

Patch

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);