netfilter: nft_numgen: enable hashing of one element
authorLaura Garcia Liebana <nevola@gmail.com>
Mon, 23 Apr 2018 10:48:07 +0000 (12:48 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Sun, 6 May 2018 21:31:54 +0000 (23:31 +0200)
commit75e72f05418afbeac0a707d2e0cc9451ceb47e43
treebc19fa84f2b1a9145bfdb2e70f4d835907d315cb
parentd734a2888922efa521f9eb8dfe6790ced8f62bb7
netfilter: nft_numgen: enable hashing of one element

The modulus in the hash function was limited to > 1 as initially
there was no sense to create a hashing of just one element.

Nevertheless, there are certain cases specially for load balancing
where this case needs to be addressed.

This patch fixes the following error.

Error: Could not process rule: Numerical result out of range
add rule ip nftlb lb01 dnat to jhash ip saddr mod 1 map { 0: 192.168.0.10 }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The solution comes to force the hash to 0 when the modulus is 1.

Signed-off-by: Laura Garcia Liebana <nevola@gmail.com>
net/netfilter/nft_hash.c