summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2018-11-17 18:10:15 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2018-11-19 14:05:49 +0100
commit9847abe6fbb91621f6494df8243ff96f04efdc4a (patch)
tree14bcce4cbca99bd87ea416e168a8a25042589faa
parentaa5d3c5b16e94036ac0dc6d44194db7b009ced53 (diff)
nft: add type field to builtin_table
Use enum nft_table_type to set the new type field in the structure that define tables. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--iptables/nft.c8
-rw-r--r--iptables/nft.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/iptables/nft.c b/iptables/nft.c
index 5e55ec13..db86f97c 100644
--- a/iptables/nft.c
+++ b/iptables/nft.c
@@ -379,6 +379,7 @@ static int batch_rule_add(struct nft_handle *h, enum obj_update_type type,
struct builtin_table xtables_ipv4[NFT_TABLE_MAX] = {
[NFT_TABLE_RAW] = {
.name = "raw",
+ .type = NFT_TABLE_RAW,
.chains = {
{
.name = "PREROUTING",
@@ -396,6 +397,7 @@ struct builtin_table xtables_ipv4[NFT_TABLE_MAX] = {
},
[NFT_TABLE_MANGLE] = {
.name = "mangle",
+ .type = NFT_TABLE_MANGLE,
.chains = {
{
.name = "PREROUTING",
@@ -431,6 +433,7 @@ struct builtin_table xtables_ipv4[NFT_TABLE_MAX] = {
},
[NFT_TABLE_FILTER] = {
.name = "filter",
+ .type = NFT_TABLE_FILTER,
.chains = {
{
.name = "INPUT",
@@ -454,6 +457,7 @@ struct builtin_table xtables_ipv4[NFT_TABLE_MAX] = {
},
[NFT_TABLE_SECURITY] = {
.name = "security",
+ .type = NFT_TABLE_SECURITY,
.chains = {
{
.name = "INPUT",
@@ -477,6 +481,7 @@ struct builtin_table xtables_ipv4[NFT_TABLE_MAX] = {
},
[NFT_TABLE_NAT] = {
.name = "nat",
+ .type = NFT_TABLE_NAT,
.chains = {
{
.name = "PREROUTING",
@@ -511,6 +516,7 @@ struct builtin_table xtables_ipv4[NFT_TABLE_MAX] = {
struct builtin_table xtables_arp[NFT_TABLE_MAX] = {
[NFT_TABLE_FILTER] = {
.name = "filter",
+ .type = NFT_TABLE_FILTER,
.chains = {
{
.name = "INPUT",
@@ -533,6 +539,7 @@ struct builtin_table xtables_arp[NFT_TABLE_MAX] = {
struct builtin_table xtables_bridge[NFT_TABLE_MAX] = {
[NFT_TABLE_FILTER] = {
.name = "filter",
+ .type = NFT_TABLE_FILTER,
.chains = {
{
.name = "INPUT",
@@ -556,6 +563,7 @@ struct builtin_table xtables_bridge[NFT_TABLE_MAX] = {
},
[NFT_TABLE_NAT] = {
.name = "nat",
+ .type = NFT_TABLE_NAT,
.chains = {
{
.name = "PREROUTING",
diff --git a/iptables/nft.h b/iptables/nft.h
index 980b38dc..e582a6af 100644
--- a/iptables/nft.h
+++ b/iptables/nft.h
@@ -23,6 +23,7 @@ struct builtin_chain {
struct builtin_table {
const char *name;
+ enum nft_table_type type;
struct builtin_chain chains[NF_INET_NUMHOOKS];
bool initialized;
struct nftnl_chain_list *chain_cache;