[ovs-dev] [ovs-discuss] Checksum incorrect when rewriting icmpv6 packet

Neal Shrader icosahedral at gmail.com
Mon Aug 18 19:12:50 UTC 2014

Thank you Jesse!  I'll ask our SREs for a place I can test this safely.

Just to try, I attempted to apply it against the 1.10 branch, and was met
with the following on compilation:

./lib/packets.c: In function ‘packet_update_csum128’:
../lib/packets.c:577:43: error: ‘l4_size’ undeclared (first use in this
../lib/packets.c:577:43: note: each undeclared identifier is reported only
once for each function it appears in
../lib/packets.c:578:16: warning: implicit declaration of function
‘ofpbuf_l4’ [-Wimplicit-function-declaration]
../lib/packets.c:578:34: warning: initialization makes pointer from integer
without a cast [enabled by default]

Master built correctly.  I'll follow up when I can get confirmation it
works as expected.  Thanks again.

On Fri, Aug 15, 2014 at 2:20 PM, Jesse Gross <jesse at nicira.com> wrote:

> On Fri, Aug 15, 2014 at 9:44 AM, Ben Pfaff <blp at nicira.com> wrote:
> > [adding Jesse and ovs-dev]
> >
> > On Thu, Aug 14, 2014 at 11:03:52AM -0400, Neal Shrader wrote:
> >> I came across an issue today what I was attempting to modify the source
> >> ipv6 address of a router advertisement generated from a local server.
> The
> >> flow in question looks like:
> >>
> >> ovs-ofctl add-flow public
> >>
> 'priority=2040,icmp6,in_port=LOCAL,ipv6_dst=ff02::1,table=1,idle_timeout=0,actions=set_field:fe80::1->ipv6_src,strip_vlan,flood'
> >>
> >> When I generate an RA, I see that it has an incorrect checksum, and
> >> therefore is rejected by the destination host:
> >
> > I see that commit af9d14a856268d is on master but not on branch-1.10:
> No, I don't think this is the problem. It's just that we don't
> implement checksum updates for ICMPv6.
> Neil, I sent out a patch. Can you please test it? (It's against
> master, realistically we won't do any more releases against 1.10
> although it's possible that it will still apply.)

More information about the dev mailing list