* @NFT_META_BRI_IIFNAME: packet input bridge interface name
* @NFT_META_BRI_OIFNAME: packet output bridge interface name
* @NFT_META_PKTTYPE: packet type (skb->pkt_type), special handling for loopback
+ * @NFT_META_CPU: cpu id through smp_processor_id()
*/
enum nft_meta_keys {
NFT_META_LEN,
NFT_META_BRI_IIFNAME,
NFT_META_BRI_OIFNAME,
NFT_META_PKTTYPE,
+ NFT_META_CPU,
};
/**
#include "expr_ops.h"
#ifndef NFT_META_MAX
-#define NFT_META_MAX (NFT_META_PKTTYPE + 1)
+#define NFT_META_MAX (NFT_META_CPU + 1)
#endif
struct nft_expr_meta {
[NFT_META_SECMARK] = "secmark",
[NFT_META_BRI_IIFNAME] = "bri_iifname",
[NFT_META_BRI_OIFNAME] = "bri_oifname",
- [NFT_META_PKTTYPE] = "pkttype"
+ [NFT_META_PKTTYPE] = "pkttype",
+ [NFT_META_CPU] = "cpu",
};
static const char *meta_key2str(uint8_t key)