Regards _Sugesh
> -----Original Message----- > From: Jesse Gross [mailto:je...@kernel.org] > Sent: Wednesday, August 24, 2016 9:46 PM > To: Chandran, Sugesh <sugesh.chand...@intel.com> > Cc: ovs dev <dev@openvswitch.org> > Subject: Re: [PATCH] netdev-dpdk: Enable Rx checksum offloading feature > on DPDK physical ports. > > On Wed, Aug 24, 2016 at 7:54 AM, Sugesh Chandran > <sugesh.chand...@intel.com> wrote: > > diff --git a/lib/netdev-native-tnl.c b/lib/netdev-native-tnl.c index > > ce2582f..31a12d6 100644 > > --- a/lib/netdev-native-tnl.c > > +++ b/lib/netdev-native-tnl.c > > @@ -179,20 +181,26 @@ udp_extract_tnl_md(struct dp_packet *packet, > struct flow_tnl *tnl, > > } > > > > if (udp->udp_csum) { > > - uint32_t csum; > > - if (netdev_tnl_is_header_ipv6(dp_packet_data(packet))) { > > - csum = packet_csum_pseudoheader6(dp_packet_l3(packet)); > > - } else { > > - csum = packet_csum_pseudoheader(dp_packet_l3(packet)); > > - } > > - > > - csum = csum_continue(csum, udp, dp_packet_size(packet) - > > - ((const unsigned char *)udp - > > - (const unsigned char > > *)dp_packet_l2(packet))); > > - if (csum_finish(csum)) { > > - return NULL; > > + if(OVS_UNLIKELY(!dp_packet_l4_checksum_valid(packet))) { > > + uint32_t csum; > > + if (netdev_tnl_is_header_ipv6(dp_packet_data(packet))) { > > + csum = packet_csum_pseudoheader6(dp_packet_l3(packet)); > > + } else { > > + csum = packet_csum_pseudoheader(dp_packet_l3(packet)); > > + } > > + > > + csum = csum_continue(csum, udp, dp_packet_size(packet) - > > + ((const unsigned char *)udp - > > + (const unsigned char > > *)dp_packet_l2(packet))); > > + if (csum_finish(csum)) { > > + return NULL; > > + } > > } > > tnl->flags |= FLOW_TNL_F_CSUM; > > + > > + /* Reset the checksum offload flags if present, to avoid wrong > > + * interpretation in the further packet processing when > recirculated.*/ > > + reset_dp_packet_checksum_ol_flags(packet); > > } > > Sorry to keep going back and forth on this but what I was trying to say > previously was that this call should go somewhere common shared by all > tunnels. For example, there is currently support for GRE tunnels in OVS but > the IP checksum flag wouldn't get cleared with the call being in > udp_extract_tnl_md(). [Sugesh] Hi Jesse, Not a problem. Thank you for clarifying. As you said, it make more sense to reset flags in the netdev_pop_tunnel. I will send out the patch with this minor change. > > I think that we can move reset_dp_packet_checksum_ol_flags() to > netdev_pop_header() and then we'll be all set. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev