Provided by: dpdk-doc_24.11.2-2_all bug

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.

DPDK                                             Version 24.11.2                                  rte_jhash.h(3)