[ovs-dev] [PATCH v2] tunneling: Improving tunneling performance using DPDK Rx checksum offloading feature.

Chandran, Sugesh sugesh.chandran at intel.com
Wed May 4 15:58:35 UTC 2016



Regards
_Sugesh

> -----Original Message-----
> From: Jesse Gross [mailto:jesse at kernel.org]
> Sent: Thursday, April 28, 2016 4:41 PM
> To: Chandran, Sugesh <sugesh.chandran at intel.com>
> Cc: pravin shelar <pshelar at ovn.org>; ovs dev <dev at openvswitch.org>
> Subject: Re: [ovs-dev] [PATCH v2] tunneling: Improving tunneling
> performance using DPDK Rx checksum offloading feature.
> 
> That sounds great, thanks for following up. In the meantime, do you have
> any plans for transmit side checksum offloading?
[Sugesh] The vectorization on Tx side is getting disabled when DPDK Tx checksum offload is enabled. This causes performance drop in OVS. 
However We don’t find any such impact when enabling Rx checksum offloading(though this disables Rx vectorization).

> 
> On Thu, Apr 28, 2016 at 2:07 AM, Chandran, Sugesh
> <sugesh.chandran at intel.com> wrote:
> > The Rx checksum valid flags will be available in DPDK mostly by 16.11
> release.
> > We may have to wait until then to proceed with this patch.
> >
> > Regards
> > _Sugesh
> >
> >> -----Original Message-----
> >> From: Chandran, Sugesh
> >> Sent: Monday, April 18, 2016 10:12 AM
> >> To: Jesse Gross <jesse at kernel.org>
> >> Cc: pravin shelar <pshelar at ovn.org>; ovs dev <dev at openvswitch.org>
> >> Subject: RE: [ovs-dev] [PATCH v2] tunneling: Improving tunneling
> >> performance using DPDK Rx checksum offloading feature.
> >>
> >>
> >>
> >> Regards
> >> _Sugesh
> >>
> >> > -----Original Message-----
> >> > From: Jesse Gross [mailto:jesse at kernel.org]
> >> > Sent: Friday, April 15, 2016 5:04 PM
> >> > To: Chandran, Sugesh <sugesh.chandran at intel.com>
> >> > Cc: pravin shelar <pshelar at ovn.org>; ovs dev <dev at openvswitch.org>
> >> > Subject: Re: [ovs-dev] [PATCH v2] tunneling: Improving tunneling
> >> > performance using DPDK Rx checksum offloading feature.
> >> >
> >> > On Fri, Apr 15, 2016 at 3:04 AM, Chandran, Sugesh
> >> > <sugesh.chandran at intel.com> wrote:
> >> > >> -----Original Message-----
> >> > >> From: pravin shelar [mailto:pshelar at ovn.org]
> >> > >> Sent: Thursday, April 14, 2016 5:59 PM
> >> > >> To: Chandran, Sugesh <sugesh.chandran at intel.com>
> >> > >> Cc: ovs dev <dev at openvswitch.org>
> >> > >> Subject: Re: [ovs-dev] [PATCH v2] tunneling: Improving tunneling
> >> > >> performance using DPDK Rx checksum offloading feature.
> >> > >> On Wed, Apr 13, 2016 at 7:42 AM, Sugesh Chandran
> >> > >> <sugesh.chandran at intel.com> wrote:
> >> > >> > +static inline bool
> >> > >> > +is_checksum_valid(struct dp_packet *packet) { #ifdef
> DPDK_NETDEV
> >> > >> > +    if (packet->mbuf.ol_flags & (PKT_RX_IP_CKSUM_BAD |
> >> > >> > +                                 PKT_RX_L4_CKSUM_BAD)) {
> >> > >> > +        return 0;
> >> > >> > +    }
> >> > >> > +    packet->md.ol_flags = NETDEV_RX_CHECKSUM_OFFLOAD;
> >> > >> There is no need to define redundant flags for same information
> >> > >> in dp_packet. We can just access packet->mbuf members to check
> >> > >> the checksum flag.
> >> > > [Sugesh] mbuf doesn’t have a flag for checksum. However  the
> >> > > checksum Invalid flags in mbuf get set when a packet received
> >> > > with invalid checksum on a checksum offloaded port. So a packet
> >> > > with a valid checksum cannot say if the checksum is already
> >> > > validated in the NIC/not. We need this information in the packet
> >> > > to bypass checksum
> >> > validation in tunneling code.
> >> >
> >> > What do you think the chances are of fixing this in DPDK? The
> >> > current design doesn't make a lot of sense to me, so it would be
> >> > better to address it at the source rather than papering over it in OVS.
> >> [Sugesh] I feel DPDK may not have to fix this behavior due to the
> >> fact that
> >> 1) The checksum offloading can be enabled only on supported DPDK
> ports.
> >> The port Initialization reports error otherwise.
> >> 2) Any packet received on checksum offload port, always validated by
> >> NIC when its enabled.
> >> 3) DPDK reports error on packets having invalid checksum. Why should
> >> DPDK reports a packet is validated/valid also , provided its implicit
> >> as its received on the offloaded port.
> >>
> >> Anyway I will discuss this with DPDK folks and keep you posted.
> >>
> >>
> >


More information about the dev mailing list