Regards
_Sugesh

> -----Original Message-----
> From: Pravin Shelar [mailto:pshe...@ovn.org]
> Sent: Sunday, January 1, 2017 4:53 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 30, 2016 at 1:58 AM, Chandran, Sugesh
> <sugesh.chand...@intel.com> wrote:
> >
> >
> > 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?
> >
> Yes.
> The ovs-vsctl is showing the value as user request. I am looking for current
> device setting via get-config.
[Sugesh] sure, will update the get config as well.
> 
> > ~/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

Reply via email to