Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
rte_jhash.h(3)			     DPDK			rte_jhash.h(3)

NAME
       rte_jhash.h

SYNOPSIS
       #include	<stdint.h>
       #include	<string.h>
       #include	<limits.h>
       #include	<rte_config.h>
       #include	<rte_log.h>
       #include	<rte_byteorder.h>

   Macros
       #define RTE_JHASH_GOLDEN_RATIO	0xdeadbeef

   Functions
       static void rte_jhash_2hashes (const void *key, uint32_t	length,
	   uint32_t *pc, uint32_t *pb)
       static void rte_jhash_32b_2hashes (const	uint32_t *k, uint32_t length,
	   uint32_t *pc, uint32_t *pb)
       static uint32_t rte_jhash (const	void *key, uint32_t length, uint32_t
	   initval)
       static uint32_t rte_jhash_32b (const uint32_t *k, uint32_t length,
	   uint32_t initval)
       static uint32_t rte_jhash_3words	(uint32_t a, uint32_t b, uint32_t c,
	   uint32_t initval)
       static uint32_t rte_jhash_2words	(uint32_t a, uint32_t b, uint32_t
	   initval)
       static uint32_t rte_jhash_1word (uint32_t a, uint32_t initval)

Detailed Description
       jhash functions.

       Definition in file rte_jhash.h.

Macro Definition Documentation
   #define RTE_JHASH_GOLDEN_RATIO   0xdeadbeef
       The golden ratio: an arbitrary value.

       Definition at line 68 of	file rte_jhash.h.

Function Documentation
   static void rte_jhash_2hashes (const	void * key, uint32_t length, uint32_t
       * pc, uint32_t *	pb) [inline],  [static]
       Same as rte_jhash, but takes two	seeds and return two uint32_ts.	pc and
       pb must be non-null, and	*pc and	*pb must both be initialized with
       seeds. If you pass in (*pb)=0, the output (*pc) will be the same	as the
       return value from rte_jhash.

       Parameters
	   key Key to calculate	hash of.
	   length Length of key	in bytes.
	   pc IN: seed OUT: primary hash value.
	   pb IN: second seed OUT: secondary hash value.

       Definition at line 236 of file rte_jhash.h.

   static void rte_jhash_32b_2hashes (const uint32_t * k, uint32_t length,
       uint32_t	* pc, uint32_t * pb) [inline],	[static]
       Same as rte_jhash_32b, but takes	two seeds and return two uint32_ts. pc
       and pb must be non-null,	and *pc	and *pb	must both be initialized with
       seeds. If you pass in (*pb)=0, the output (*pc) will be the same	as the
       return value from rte_jhash_32b.

       Parameters
	   k Key to calculate hash of.
	   length Length of key	in units of 4 bytes.
	   pc IN: seed OUT: primary hash value.
	   pb IN: second seed OUT: secondary hash value.

       Definition at line 257 of file rte_jhash.h.

   static uint32_t rte_jhash (const void * key,	uint32_t length, uint32_t
       initval)	[inline],  [static]
       The most	generic	version, hashes	an arbitrary sequence of bytes.	No
       alignment or length assumptions are made	about the input	key. For keys
       not aligned to four byte	boundaries or a	multiple of four bytes in
       length, the memory region just after may	be read	(but not used in the
       computation). This may cross a page boundary.

       Parameters
	   key Key to calculate	hash of.
	   length Length of key	in bytes.
	   initval Initialising	value of hash.

       Returns
	   Calculated hash value.

       Definition at line 280 of file rte_jhash.h.

   static uint32_t rte_jhash_32b (const	uint32_t * k, uint32_t length,
       uint32_t	initval) [inline],  [static]
       A special optimized version that	handles	1 or more of uint32_ts.	The
       length parameter	here is	the number of uint32_ts	in the key.

       Parameters
	   k Key to calculate hash of.
	   length Length of key	in units of 4 bytes.
	   initval Initialising	value of hash.

       Returns
	   Calculated hash value.

       Definition at line 303 of file rte_jhash.h.

   static uint32_t rte_jhash_3words (uint32_t a, uint32_t b, uint32_t c,
       uint32_t	initval) [inline],  [static]
       A special ultra-optimized versions that knows it	is hashing exactly 3
       words.

       Parameters
	   a First word	to calculate hash of.
	   b Second word to calculate hash of.
	   c Third word	to calculate hash of.
	   initval Initialising	value of hash.

       Returns
	   Calculated hash value.

       Definition at line 340 of file rte_jhash.h.

   static uint32_t rte_jhash_2words (uint32_t a, uint32_t b, uint32_t initval)
       [inline],  [static]
       A special ultra-optimized versions that knows it	is hashing exactly 2
       words.

       Parameters
	   a First word	to calculate hash of.
	   b Second word to calculate hash of.
	   initval Initialising	value of hash.

       Returns
	   Calculated hash value.

       Definition at line 359 of file rte_jhash.h.

   static uint32_t rte_jhash_1word (uint32_t a,	uint32_t initval) [inline],
       [static]
       A special ultra-optimized versions that knows it	is hashing exactly 1
       word.

       Parameters
	   a Word to calculate hash of.
	   initval Initialising	value of hash.

       Returns
	   Calculated hash value.

       Definition at line 376 of file rte_jhash.h.

Author
       Generated automatically by Doxygen for DPDK from	the source code.

Version	25.11.0			Thu Jun	11 2026			rte_jhash.h(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rte_jhash&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help