All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
To: Matthew Hall <mhall-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>,
	Gal Sagie <gal.sagie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: dev-VfR2kkLFssw@public.gmane.org
Subject: Re: IPv6 Offload Capabilities
Date: Mon, 05 Jan 2015 09:36:54 +0100	[thread overview]
Message-ID: <5360787.ystvMoQ9V7@xps13> (raw)
In-Reply-To: <C6595EEB-8329-49F9-9745-52887AE9F848-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>

Hi Gal and Matthew,

2015-01-05 00:09, Matthew Hall:
> On Jan 4, 2015, at 11:56 PM, Gal Sagie <gal.sagie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> > I noticed that in version 1.8, there are no flags to indicate IPv6 check
> > sum offloading
> > (only DEV_TX_OFFLOAD_IPV4_CKSUM)
> > which means TSO offloading is also not supported for IPv6.
> 
> I need that feature too. Right now I disabled the IP checksum offloading
> because I was making some greenfield code which does both protocol versions
> cleanly, so it's not nice or polite to use real strange asymmetric logic in
> there.

Which checksum are you talking about? IPv6 checsum doesn't exist.

> Then I went looking and DPDK doesn't offer an accelerated user-space routine
> for it. Which seems like it could work out quite poorly for people trying to
> use ARM and PPC where the offloads might not be present. I had to steal an
> unaccelerated one from *BSD just to get things running until I could figure
> out a better way, which worked right for IPv6 and ICMP datagrams so
> everything can use 100% the same clean code.

What are you talking about?

> I think a bit more thought is needed around the various crypto / checksum /
> hash features in DPDK in general for the future versions.
> 
> 1) The hash table and LPM table have real strict limits about what kinds of
> keys and values can be used. I have much bigger keys than the usual classic
> packet keys (which I also need to support) and these won't work in the
> DPDK's tables. It's a real bummer because I could use these for implementing
> high speed logging and management protocols where I need to access some
> funky keys and values at a very high perf rate, not just extremely small
> ones at line-rate perf rate, as they've got now. It'd also be good if they
> could work on bigger stuff like L4-L7 security indicators (IPs work,
> domains, URLs, emails, MD5's, SHA256's, etc. don't normally fit in DPDK's
> extremely locked down tables).

Can we have the same performance with extended tables?
Maybe you just want to implement your own tables.

> 2) The checksum operations are kind of a hodgepodge and don't always have a
> consistent vision to them... some things like the 16-bit-based IP checksum
> appear to be missing any routine, including any accelerated one when the
> offload doesn't work (like for ICMPv4, ICMPv6, and any IPv6 datagrams, or
> other weird crap like IPv6 pseudo headers, even contemplating those gives me
> a headache, but at least my greenfield code for it works now).

Please detail which function is missing for which usage.

> 3) There isn't a real flexible choice of hash functions for the things which
> use hashes... for example, something which offered bidirectional programming
> of the Flow Director hash algo by stock / default (as seen in a paper one of
> the Intel guys posted recently) would be super awesome.

Again, a reference to the paper would help.

-- 
Thomas

  parent reply	other threads:[~2015-01-05  8:36 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-05  7:56 IPv6 Offload Capabilities Gal Sagie
     [not found] ` <CAG9LJa6qY=LeiN+sPQGx7ok-RWwf9uXm_Vz4-2NLTW8XvGoU5w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-05  8:09   ` Matthew Hall
     [not found]     ` <C6595EEB-8329-49F9-9745-52887AE9F848-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>
2015-01-05  8:36       ` Thomas Monjalon [this message]
2015-01-06  5:25         ` Matthew Hall
     [not found]           ` <20150106052537.GB17455-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>
2015-01-06  5:30             ` Matthew Hall
2015-01-14 11:29             ` Thomas Monjalon
2015-01-05  8:33   ` Olivier MATZ

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5360787.ystvMoQ9V7@xps13 \
    --to=thomas.monjalon-pdr9zngts4eavxtiumwx3w@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    --cc=gal.sagie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=mhall-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.