On Sat, Aug 27, 2016 at 8:13 AM, 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' > > This is a RFC patch as the new checksum offload flags 'PKT_RX_L4_CKSUM_GOOD' > and 'PKT_RX_IP_CKSUM_GOOD' will be available only in DPDK 16.11 release. OVS > must compile with DPDK 16.11 release to use the checksum offloading feature. > > 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>
Thanks for all of the revisions! This one looks good to me. I'll look forward to seeing it again when the underlying DPDK support is available. If you want, you can include this on the patch when you send it out again later: Acked-by: Jesse Gross <je...@kernel.org> _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev