#ifndef _NFT_CACHE_H_ #define _NFT_CACHE_H_ enum cache_level_bits { NFT_CACHE_TABLE_BIT = (1 << 0), NFT_CACHE_CHAIN_BIT = (1 << 1), NFT_CACHE_SET_BIT = (1 << 2), NFT_CACHE_FLOWTABLE_BIT = (1 << 3), NFT_CACHE_OBJECT_BIT = (1 << 4), NFT_CACHE_SETELEM_BIT = (1 << 5), NFT_CACHE_RULE_BIT = (1 << 6), __NFT_CACHE_MAX_BIT = (1 << 7), }; enum cache_level_flags { NFT_CACHE_EMPTY = 0, NFT_CACHE_TABLE = NFT_CACHE_TABLE_BIT, NFT_CACHE_CHAIN = NFT_CACHE_TABLE_BIT | NFT_CACHE_CHAIN_BIT, NFT_CACHE_SET = NFT_CACHE_TABLE_BIT | NFT_CACHE_SET_BIT, NFT_CACHE_FLOWTABLE = NFT_CACHE_TABLE_BIT | NFT_CACHE_FLOWTABLE_BIT, NFT_CACHE_OBJECT = NFT_CACHE_TABLE_BIT | NFT_CACHE_OBJECT_BIT, NFT_CACHE_SETELEM = NFT_CACHE_TABLE_BIT | NFT_CACHE_SET_BIT | NFT_CACHE_SETELEM_BIT, NFT_CACHE_RULE = NFT_CACHE_TABLE_BIT | NFT_CACHE_CHAIN_BIT | NFT_CACHE_RULE_BIT, NFT_CACHE_FULL = __NFT_CACHE_MAX_BIT - 1, NFT_CACHE_UPDATE = (1 << 30), NFT_CACHE_FLUSHED = (1 << 31), }; #endif /* _NFT_CACHE_H_ */