Re: [PATCH v2] netfilter: fix bad checksum on IPv6 when NAT is performed

2015-10-08 Thread Tom Herbert
On Thu, Oct 8, 2015 at 2:26 PM, Maxime Bizon wrote: > > On Thu, 2015-10-08 at 14:09 -0700, Tom Herbert wrote: > >> I think inet_proto_csum_replace16 should be called here. > > inet_proto_csum_replace16() wants a non NULL checksum pointer to update, > and there is no such thing here. > > I could pa

Re: [PATCH v2] netfilter: fix bad checksum on IPv6 when NAT is performed

2015-10-08 Thread Maxime Bizon
On Thu, 2015-10-08 at 14:09 -0700, Tom Herbert wrote: > I think inet_proto_csum_replace16 should be called here. inet_proto_csum_replace16() wants a non NULL checksum pointer to update, and there is no such thing here. I could pass a dummy value, but inet_proto_csum_replace16() will do twice mo

Re: [PATCH v2] netfilter: fix bad checksum on IPv6 when NAT is performed

2015-10-08 Thread Tom Herbert
On Thu, Oct 8, 2015 at 1:26 PM, Maxime Bizon wrote: > > With this setup: > > * non IPv6 checksumming capable network hardware > * GRO off > * IPv6 SNAT > > I get this when I receive an UDPv6 reply: ": hw csum failure" > > Call trace: > > * nf_ip6_checksum() calls __skb_checksum_complete() > * nf_n

[PATCH v2] netfilter: fix bad checksum on IPv6 when NAT is performed

2015-10-08 Thread Maxime Bizon
With this setup: * non IPv6 checksumming capable network hardware * GRO off * IPv6 SNAT I get this when I receive an UDPv6 reply: ": hw csum failure" Call trace: * nf_ip6_checksum() calls __skb_checksum_complete() * nf_nat_ipv6_csum_update() & nf_nat_ipv6_manip_pkt() * __udp6_lib_rcv() => udp6