From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: IPv6 Offload Capabilities Date: Wed, 14 Jan 2015 12:29:55 +0100 Message-ID: <1735915.0Agkfn8QEd@xps13> References: <5360787.ystvMoQ9V7@xps13> <20150106052537.GB17455@mhcomputing.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev-VfR2kkLFssw@public.gmane.org To: Matthew Hall Return-path: In-Reply-To: <20150106052537.GB17455-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org> 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" Hi Matthew, 2015-01-05 21:25, Matthew Hall: > > > 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. > > rte_hash_crc exists, rte_hash_crc_4byte exists, there is no rte_hash_ip_cksum > to use when checksum offloading doesn't work for some reason (in BSD it's > called in_cksum). The jhash and CRC API's don't look to be consistent / > compatible. An expandable API with some enum of hash algorithms and a standard > calling convention for accelerated / special algorithms (like ones which > assume 4-byte input) would make this more generic. [...] > But the larger architectural point was my proposed goal that all of the > various kinds of hashes (flow hashes, checksums / packet hashes, table lookup > hashes, etc.) could use a consistent pluggable API so we could easily move > back and forth between them and write clean consistent code any time a hash is > being used. Thank you for your detailed comments. Are you saying that you want to work on such hash API for DPDK? -- Thomas