Re: [PATCHv2] ipv6: ip6mr: Recalc UDP checksum before forwarding

From: David Miller
Date: Fri Dec 15 2017 - 13:27:38 EST


From: Brendan McGrath <redmcg@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 14 Dec 2017 22:37:03 +1100

> Currently, when forwarding a multicast packet originating from a
> Virtual Interface on a Multicast Router to one of its Physical
> Interfaces, ip_summed is set to a value of CHECKSUM_UNNECESSARY and
> the UDP checksum is not calculated.
>
> The checksum value of the forwarded packet is left as is and
> therefore rejected by the receiving machine(s).
>
> This patch ensures the checksum is recalculated before forwarding.
>
> Signed-off-by: Brendan McGrath <redmcg@xxxxxxxxxxxxxxxxxxx>

I still don't like this, UDP can't be the only protocol that goes
over multicast and might therefore have this problem.

Actually, I'm still also having trouble figuring out how this happens
in the first place.

Please draw a specific detailed network diagram, show the exact
configuration of each interface and exactly what driver runs that
interface, and show where the packet comes from, who creates it, and
where these checksum settings are done that lead to this problem.

Like Eric, I'm very suspicious and I think that there is some problem
with whoever builds or modifies this packet, and the code you are
touching has no business "fixing it up"

Thank you.