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