git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/ice: add flow IPv6 TC support
[dpdk.git]
/
lib
/
librte_hash
/
rte_jhash.h
diff --git
a/lib/librte_hash/rte_jhash.h
b/lib/librte_hash/rte_jhash.h
index
0bc443a
..
42c4568
100644
(file)
--- a/
lib/librte_hash/rte_jhash.h
+++ b/
lib/librte_hash/rte_jhash.h
@@
-46,7
+46,9
@@
extern "C" {
#include <stdint.h>
#include <string.h>
#include <stdint.h>
#include <string.h>
+#include <limits.h>
+#include <rte_config.h>
#include <rte_log.h>
#include <rte_byteorder.h>
#include <rte_log.h>
#include <rte_byteorder.h>
@@
-119,10
+121,10
@@
__rte_jhash_2hashes(const void *key, uint32_t length, uint32_t *pc,
* If check_align is not set, first case will be used
*/
#if defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686) || defined(RTE_ARCH_X86_X32)
* If check_align is not set, first case will be used
*/
#if defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686) || defined(RTE_ARCH_X86_X32)
- const uint32_t *k = key;
+ const uint32_t *k =
(const uint32_t *)
key;
const uint32_t s = 0;
#else
const uint32_t s = 0;
#else
- const uint32_t *k = (uint32_t *)(uintptr_t)key & (uintptr_t)~3);
+ const uint32_t *k = (uint32_t *)(
(
uintptr_t)key & (uintptr_t)~3);
const uint32_t s = ((uintptr_t)key & 3) * CHAR_BIT;
#endif
if (!check_align || s == 0) {
const uint32_t s = ((uintptr_t)key & 3) * CHAR_BIT;
#endif
if (!check_align || s == 0) {
@@
-266,10
+268,10
@@
rte_jhash_2hashes(const void *key, uint32_t length, uint32_t *pc, uint32_t *pb)
}
/**
}
/**
- * Same as rte_jhash
2
, but takes two seeds and return two uint32_ts.
+ * 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
* 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
2
.
+ * the same as the return value from rte_jhash
_32b
.
*
* @param k
* Key to calculate hash of.
*
* @param k
* Key to calculate hash of.
@@
-289,7
+291,10
@@
rte_jhash_32b_2hashes(const uint32_t *k, uint32_t length, uint32_t *pc, uint32_t
/**
* The most generic version, hashes an arbitrary sequence
* of bytes. No alignment or length assumptions are made about
/**
* The most generic version, hashes an arbitrary sequence
* of bytes. No alignment or length assumptions are made about
- * the input key.
+ * 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.
*
* @param key
* Key to calculate hash of.
*
* @param key
* Key to calculate hash of.
@@
-333,17
+338,6
@@
rte_jhash_32b(const uint32_t *k, uint32_t length, uint32_t initval)
return initval;
}
return initval;
}
-static inline uint32_t
-__attribute__ ((deprecated))
-rte_jhash2(const uint32_t *k, uint32_t length, uint32_t initval)
-{
- uint32_t initval2 = 0;
-
- rte_jhash_32b_2hashes(k, length, &initval, &initval2);
-
- return initval;
-}
-
static inline uint32_t
__rte_jhash_3words(uint32_t a, uint32_t b, uint32_t c, uint32_t initval)
{
static inline uint32_t
__rte_jhash_3words(uint32_t a, uint32_t b, uint32_t c, uint32_t initval)
{
@@
-361,11
+355,11
@@
__rte_jhash_3words(uint32_t a, uint32_t b, uint32_t c, uint32_t initval)
* 3 words.
*
* @param a
* 3 words.
*
* @param a
- * First word to calcuate hash of.
+ * First word to calcu
l
ate hash of.
* @param b
* @param b
- * Second word to calcuate hash of.
+ * Second word to calcu
l
ate hash of.
* @param c
* @param c
- * Third word to calcuate hash of.
+ * Third word to calcu
l
ate hash of.
* @param initval
* Initialising value of hash.
* @return
* @param initval
* Initialising value of hash.
* @return
@@
-382,9
+376,9
@@
rte_jhash_3words(uint32_t a, uint32_t b, uint32_t c, uint32_t initval)
* 2 words.
*
* @param a
* 2 words.
*
* @param a
- * First word to calcuate hash of.
+ * First word to calcu
l
ate hash of.
* @param b
* @param b
- * Second word to calcuate hash of.
+ * Second word to calcu
l
ate hash of.
* @param initval
* Initialising value of hash.
* @return
* @param initval
* Initialising value of hash.
* @return
@@
-401,7
+395,7
@@
rte_jhash_2words(uint32_t a, uint32_t b, uint32_t initval)
* 1 word.
*
* @param a
* 1 word.
*
* @param a
- * Word to calcuate hash of.
+ * Word to calcu
l
ate hash of.
* @param initval
* Initialising value of hash.
* @return
* @param initval
* Initialising value of hash.
* @return