Regards _Sugesh
> -----Original Message----- > From: Pravin Shelar [mailto:pshe...@ovn.org] > Sent: Saturday, December 24, 2016 1:13 PM > To: Chandran, Sugesh <sugesh.chand...@intel.com> > Cc: ovs dev <d...@openvswitch.org>; Jesse Gross <je...@kernel.org>; Ben > Pfaff <b...@ovn.org> > Subject: Re: [PATCH v8] netdev-dpdk: Enable Rx checksum offloading > feature on DPDK physical ports. > > On Fri, Dec 23, 2016 at 8:16 PM, Sugesh Chandran > <sugesh.chand...@intel.com> wrote: > > Add Rx checksum offloading feature support on DPDK physical ports. By > > default, the Rx checksum offloading is enabled if NIC supports. > > However, the checksum offloading can be turned OFF either while adding > > a new DPDK physical port to OVS or at runtime. > > > > The rx checksum offloading can be turned off by setting the parameter > > to 'false'. For eg: To disable the rx checksum offloading when adding > > a port, > > > > 'ovs-vsctl add-port br0 dpdk0 -- \ > > set Interface dpdk0 type=dpdk options:rx-checksum-offload=false' > > > > OR (to disable at run time after port is being added to OVS) > > > > 'ovs-vsctl set Interface dpdk0 options:rx-checksum-offload=false' > > > > Similarly to turn ON rx checksum offloading at run time, > > 'ovs-vsctl set Interface dpdk0 options:rx-checksum-offload=true' > > > > The Tx checksum offloading support is not implemented due to the > > following reasons. > > > > 1) Checksum offloading and vectorization are mutually exclusive in > > DPDK poll mode driver. Vector packet processing is turned OFF when > > checksum offloading is enabled which causes significant performance drop > at Tx side. > > > > 2) Normally, OVS generates checksum for tunnel packets in software at > > the 'tunnel push' operation, where the tunnel headers are created. > > However enabling Tx checksum offloading involves, > > > > *) Mark every packets for tx checksum offloading at 'tunnel_push' and > > recirculate. > > *) At the time of xmit, validate the same flag and instruct the NIC to > > do the checksum calculation. In case NIC doesnt support Tx checksum > > offloading, the checksum calculation has to be done in software before > > sending out the packets. > > > > No significant performance improvement noticed with Tx checksum > > offloading due to the e overhead of additional validations + non vector > packet processing. > > In some test scenarios, it introduces performance drop too. > > > > Rx checksum offloading still offers 8-9% of improvement on VxLAN > > tunneling decapsulation even though the SSE vector Rx function is > > disabled in DPDK poll mode driver. > > > > Signed-off-by: Sugesh Chandran <sugesh.chand...@intel.com> > > Acked-by: Jesse Gross <je...@kernel.org> > > > > --- > > v8 > > - Update error log to clearly mention when the checksum offload is > unsupported. > > - Rebase to OVS latest master. > > As commented in earlier review, can you update get-config to reflect the > status of offload for the device? [Sugesh] The checksum offload is displayed as part of 'ovs-vsctl show' when configured. Do you think it still needs another get-config? ~/repo/ovs-apr16$ sudo ./utilities/ovs-vsctl show d26b6bac-a397-4dc3-a514-c4e86e07ad69 Bridge "br0" Port "br0" Interface "br0" type: internal Port "dpdk1" Interface "dpdk1" type: dpdk Port "dpdk0" Interface "dpdk0" type: dpdk options: {rx-checksum-offload="false"} ~/repo/ovs-apr16$ > > Thanks, > Pravin. _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev