Difference between revisions of "Portal:DeveloperDocs/set internals"

From nftables wiki
Jump to navigation Jump to search
(Just a stub of nft_set_type for now.)
 
(Added nft_set_types[] order. (Still just a stub.))
Line 3: Line 3:
|-
|-
! nft_set_type
! nft_set_type
! nft_set_types[] order
! NFT_SET_INTERVAL
! NFT_SET_INTERVAL
! NFT_SET_MAP
! NFT_SET_MAP
Line 12: Line 13:
|-
|-
! {{rh}} | nft_set_hash_fast_type
! {{rh}} | nft_set_hash_fast_type
| 0
| {{no}}
| {{no}}
| {{yes}}
| {{yes}}
Line 21: Line 23:
|-
|-
! {{rh}} | nft_set_hash_type
! {{rh}} | nft_set_hash_type
| 1
| {{no}}
| {{no}}
| {{yes}}
| {{yes}}
Line 30: Line 33:
|-
|-
! {{rh}} | nft_set_rhash_type
! {{rh}} | nft_set_rhash_type
| 2
| {{no}}
| {{no}}
| {{yes}}
| {{yes}}
Line 39: Line 43:
|-
|-
! {{rh}} | nft_set_bitmap_type
! {{rh}} | nft_set_bitmap_type
| 3
| {{no}}
| {{no}}
| {{no}}
| {{no}}
Line 48: Line 53:
|-
|-
! {{rh}} | nft_set_rbtree_type
! {{rh}} | nft_set_rbtree_type
| 4
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
Line 57: Line 63:
|-
|-
! {{rh}} | nft_set_pipapo_avx2_type
! {{rh}} | nft_set_pipapo_avx2_type
| 5
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
Line 66: Line 73:
|-
|-
! {{rh}} | nft_set_pipapo_type
! {{rh}} | nft_set_pipapo_type
| 6
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
Line 74: Line 82:


|}
|}
If two nft_set_types have the same estimated lookup time and same estimated space requirement, the type that appears first in nft_set_types[] is chosen.

Revision as of 23:51, 3 March 2021

nft_set_type nft_set_types[] order NFT_SET_INTERVAL NFT_SET_MAP NFT_SET_TIMEOUT NFT_SET_OBJECT NFT_SET_EVAL Notes
nft_set_hash_fast_type 0 No Yes No Yes No
nft_set_hash_type 1 No Yes No Yes No
nft_set_rhash_type 2 No Yes Yes Yes Yes
nft_set_bitmap_type 3 No No No No No
nft_set_rbtree_type 4 Yes Yes Yes Yes No
nft_set_pipapo_avx2_type 5 Yes Yes Yes Yes No
nft_set_pipapo_type 6 Yes Yes Yes Yes No

If two nft_set_types have the same estimated lookup time and same estimated space requirement, the type that appears first in nft_set_types[] is chosen.