netfilter: nf_tables: add hash expression
This patch adds a new hash expression, this provides jhash support but this can be extended to support for other hash functions. The modulus and seed already comes embedded into this new expression. Use case example: ... meta mark set hash ip saddr mod 10 Signed-off-by: Laura Garcia Liebana <nevola@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
0ed6389c48
commit
cb1b69b0b1
4 changed files with 163 additions and 0 deletions
|
|
@ -723,6 +723,26 @@ enum nft_meta_keys {
|
|||
NFT_META_PRANDOM,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nft_hash_attributes - nf_tables hash expression netlink attributes
|
||||
*
|
||||
* @NFTA_HASH_SREG: source register (NLA_U32)
|
||||
* @NFTA_HASH_DREG: destination register (NLA_U32)
|
||||
* @NFTA_HASH_LEN: source data length (NLA_U32)
|
||||
* @NFTA_HASH_MODULUS: modulus value (NLA_U32)
|
||||
* @NFTA_HASH_SEED: seed value (NLA_U32)
|
||||
*/
|
||||
enum nft_hash_attributes {
|
||||
NFTA_HASH_UNSPEC,
|
||||
NFTA_HASH_SREG,
|
||||
NFTA_HASH_DREG,
|
||||
NFTA_HASH_LEN,
|
||||
NFTA_HASH_MODULUS,
|
||||
NFTA_HASH_SEED,
|
||||
__NFTA_HASH_MAX,
|
||||
};
|
||||
#define NFTA_HASH_MAX (__NFTA_HASH_MAX - 1)
|
||||
|
||||
/**
|
||||
* enum nft_meta_attributes - nf_tables meta expression netlink attributes
|
||||
*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue