summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2021-05-19 21:57:41 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2021-05-20 00:13:35 +0200
commit5008798157e2114f9fc47bff46e4e6f03c9c7a14 (patch)
tree5c8385d44a563e4cd87ec9bffa6c6c294d51c3cc /include
parent2acf8b2caea19d8abd46d475a908f8d6afb33aa0 (diff)
libnftables: location-based error reporting for chain type
Store the location of the chain type for better error reporting. Several users that compile custom kernels reported that error reporting is misleading when accidentally selecting CONFIG_NFT_NAT=n. After this patch, a better hint is provided: # nft 'add chain x y { type nat hook prerouting priority dstnat; }' Error: Could not process rule: No such file or directory add chain x y { type nat hook prerouting priority dstnat; } ^^^ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'include')
-rw-r--r--include/rule.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/rule.h b/include/rule.h
index fbd2c9a7..f469db55 100644
--- a/include/rule.h
+++ b/include/rule.h
@@ -213,6 +213,11 @@ struct hook_spec {
unsigned int num;
};
+struct chain_type_spec {
+ struct location loc;
+ const char *str;
+};
+
/**
* struct chain - nftables chain
*
@@ -242,7 +247,7 @@ struct chain {
struct prio_spec priority;
struct hook_spec hook;
struct expr *policy;
- const char *type;
+ struct chain_type_spec type;
const char **dev_array;
struct expr *dev_expr;
int dev_array_len;