X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fcsum.c;h=a9334fec8528ead7b5156352537a928d9b55ab77;hb=28c5588e8e1a8d091c5d2275232c35f2968a97fa;hp=fb32a530dfce8d9935b78cb24906dfc7df2ce2c8;hpb=bc7a5acdff087b7e7a162da42ae608a83f3cf902;p=sliver-openvswitch.git diff --git a/lib/csum.c b/lib/csum.c index fb32a530d..a9334fec8 100644 --- a/lib/csum.c +++ b/lib/csum.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009, 2010, 2011 Nicira, Inc. + * Copyright (c) 2008, 2009, 2010, 2011, 2013 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -116,14 +116,15 @@ recalc_csum32(ovs_be16 old_csum, ovs_be32 old_u32, ovs_be32 new_u32) * contained 'old_csum' and in which a field that contained 'old_u32[4]' was * changed to contain 'new_u32[4]'. */ ovs_be16 -recalc_csum128(ovs_be16 old_csum, ovs_be32 old_u32[4], +recalc_csum128(ovs_be16 old_csum, ovs_16aligned_be32 old_u32[4], const ovs_be32 new_u32[4]) { ovs_be16 new_csum = old_csum; int i; for (i = 0; i < 4; ++i) { - new_csum = recalc_csum32(new_csum, old_u32[i], new_u32[i]); + new_csum = recalc_csum32(new_csum, + get_16aligned_be32(&old_u32[i]), new_u32[i]); } return new_csum; }