summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAna Rey <anarey@gmail.com>2014-08-24 14:26:32 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2014-08-24 14:44:38 +0200
commitbb545e2c7275e6f06e044fce85cd34fc569e6b17 (patch)
treea5d36682c8bba1df4991822ec093f2b89487e0c0
parent2c3955a067f79c6c10f404c7a97c940af269724f (diff)
expr: meta: Add cpu support for meta expresion
Signed-off-by: Ana Rey <anarey@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--include/linux/netfilter/nf_tables.h2
-rw-r--r--src/expr/meta.c5
2 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/netfilter/nf_tables.h b/include/linux/netfilter/nf_tables.h
index 98144cd..c9b6f00 100644
--- a/include/linux/netfilter/nf_tables.h
+++ b/include/linux/netfilter/nf_tables.h
@@ -572,6 +572,7 @@ enum nft_exthdr_attributes {
* @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,
@@ -594,6 +595,7 @@ enum nft_meta_keys {
NFT_META_BRI_IIFNAME,
NFT_META_BRI_OIFNAME,
NFT_META_PKTTYPE,
+ NFT_META_CPU,
};
/**
diff --git a/src/expr/meta.c b/src/expr/meta.c
index 35ca177..9e884d6 100644
--- a/src/expr/meta.c
+++ b/src/expr/meta.c
@@ -23,7 +23,7 @@
#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 {
@@ -153,7 +153,8 @@ static const char *meta_key2str_array[NFT_META_MAX] = {
[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)