Re: [ovs-dev] [PATCH net 1/1] openvswitch: Fix setting ipv6 fields causing hw csum failure

2022-02-12 Thread Paul Blakey via dev
On Thu, 10 Feb 2022, Jakub Kicinski wrote: > On Thu, 10 Feb 2022 10:53:24 +0200 Paul Blakey wrote: > > > The calls seem a little heavy for single byte replacements. > > > Can you instead add a helper based on csum_replace4() maybe? > > > > > > BTW doesn't pedit have the same problem? > > > >

Re: [ovs-dev] [PATCH net 1/1] openvswitch: Fix setting ipv6 fields causing hw csum failure

2022-02-10 Thread Jakub Kicinski
On Thu, 10 Feb 2022 10:53:24 +0200 Paul Blakey wrote: > > The calls seem a little heavy for single byte replacements. > > Can you instead add a helper based on csum_replace4() maybe? > > > > BTW doesn't pedit have the same problem? > > I don't think they are heavier then csum_replace4,

Re: [ovs-dev] [PATCH net 1/1] openvswitch: Fix setting ipv6 fields causing hw csum failure

2022-02-10 Thread Paul Blakey via dev
On Wed, 9 Feb 2022, Jakub Kicinski wrote: > On Mon, 7 Feb 2022 16:41:01 +0200 Paul Blakey wrote: > > Ipv6 ttl, label and tos fields are modified without first > > pulling/pushing the ipv6 header, which would have updated > > the hw csum (if available). This might cause csum validation > > when

Re: [ovs-dev] [PATCH net 1/1] openvswitch: Fix setting ipv6 fields causing hw csum failure

2022-02-08 Thread Jakub Kicinski
On Mon, 7 Feb 2022 16:41:01 +0200 Paul Blakey wrote: > Ipv6 ttl, label and tos fields are modified without first > pulling/pushing the ipv6 header, which would have updated > the hw csum (if available). This might cause csum validation > when sending the packet to the stack, as can be seen in >

[ovs-dev] [PATCH net 1/1] openvswitch: Fix setting ipv6 fields causing hw csum failure

2022-02-07 Thread Paul Blakey via dev
Ipv6 ttl, label and tos fields are modified without first pulling/pushing the ipv6 header, which would have updated the hw csum (if available). This might cause csum validation when sending the packet to the stack, as can be seen in the trace below. Fix this by calling postpush/postpull checksum