From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH] Request for comments on ixgbe TSO support Date: Fri, 4 Oct 2013 11:23:02 -0700 Message-ID: <20131004112302.50693f04@nehalam.linuxnetplumber.net> References: <1380906413-3406-1-git-send-email-jigsaw@gmail.com> <20131004104030.206356dd@nehalam.linuxnetplumber.net> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: "dev-VfR2kkLFssw@public.gmane.org" To: jigsaw Return-path: In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" On Fri, 4 Oct 2013 20:54:31 +0300 jigsaw wrote: > Hi Stephen, > > > >>This will work for local generated packets but overlapping existing field won't work well for forwarding. > So adding a new mss field in mbuf could be the way out? or I > misunderstand something. > > >> What we want to be able to do is to take offload (jumbo) packets in with from virtio > Sorry I don't understand why TSO is connected to virtio. Could you > give more details here? > Are you suggesting this TSO patch overlaps your work, or it should be > based on your work? I am working on a better virtio driver. Already have lots more features working, and doing better offload support is planned. TSO is a subset of the more generic segment offload (GSO) on Linux. With virtio is possible to receive GSO packets as well as send them. This feature is negotiated between guest and host. The idea is that between guests they can exchange jumbo (64K) packets even with a smaller MTU. This helps in many ways. One example is only a single route lookup is needed. Another issue is that the current DPDK model of offload flags for checksum is problematic. It matches what is available in Intel hardware and is not easily generalizable to other devices. Current DPDK flag is checksum bad. I would like to change it to checksum known good. Then drivers which dont' do checksum would leave it 0, but if receive checksum is known good set it to 1. Basically 1 means known good, and 0 means unknown (or bad). Higher level software can then do sw checksum if necessary.