path: root/include/hash.h
diff options
authorLaura Garcia Liebana <>2017-02-28 18:42:50 +0100
committerPablo Neira Ayuso <>2017-03-06 18:25:05 +0100
commit3a86406729782ee2671ec7161c76529c2e4a44e4 (patch)
tree931f8f89b8ab46e248830aaf4d99570d32beb6a6 /include/hash.h
parent24091fb6d084890ce167364ac78fed8ceb94ae85 (diff)
src: hash: support of symmetric hash
This patch provides symmetric hash support according to source ip address and port, and destination ip address and port. The new attribute NFTA_HASH_TYPE has been included to support different types of hashing functions. Currently supported NFT_HASH_JENKINS through jhash and NFT_HASH_SYM through symhash. The main difference between both types are: - jhash requires an expression with sreg, symhash doesn't. - symhash supports modulus and offset, but not seed. Examples: nft add rule ip nat prerouting ct mark set jhash ip saddr mod 2 nft add rule ip nat prerouting ct mark set symhash mod 2 Signed-off-by: Laura Garcia Liebana <> Signed-off-by: Pablo Neira Ayuso <>
Diffstat (limited to 'include/hash.h')
1 files changed, 1 insertions, 1 deletions
diff --git a/include/hash.h b/include/hash.h
index 8bf53e2e..7f9c6f13 100644
--- a/include/hash.h
+++ b/include/hash.h
@@ -3,6 +3,6 @@
extern struct expr *hash_expr_alloc(const struct location *loc,
uint32_t modulus, uint32_t seed,
- uint32_t offset);
+ uint32_t offset, enum nft_hash_types type);
#endif /* NFTABLES_HASH_H */