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

Jesse Gross jesse at kernel.org
Thu Apr 28 15:40:30 UTC 2016


That sounds great, thanks for following up. In the meantime, do you
have any plans for transmit side checksum offloading?

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