summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/chain.c1
-rw-r--r--src/set.c6
-rw-r--r--src/table.c1
3 files changed, 8 insertions, 0 deletions
diff --git a/src/chain.c b/src/chain.c
index b1b7bbb..6673b82 100644
--- a/src/chain.c
+++ b/src/chain.c
@@ -492,6 +492,7 @@ int nft_chain_nlmsg_parse(const struct nlmsghdr *nlh, struct nft_chain *c)
}
c->family = nfg->nfgen_family;
+ c->flags |= (1 << NFT_CHAIN_ATTR_FAMILY);
return ret;
}
diff --git a/src/set.c b/src/set.c
index 7550b39..6c59f28 100644
--- a/src/set.c
+++ b/src/set.c
@@ -169,6 +169,10 @@ void *nft_set_attr_get(struct nft_set *s, uint16_t attr)
if (s->flags & (1 << NFT_SET_ATTR_DATA_LEN))
return &s->data_len;
break;
+ case NFT_SET_ATTR_FAMILY:
+ if (s->flags & (1 << NFT_SET_ATTR_FAMILY))
+ return &s->family;
+ break;
default:
break;
}
@@ -297,6 +301,8 @@ int nft_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nft_set *s)
s->data_len = ntohl(mnl_attr_get_u32(tb[NFTA_SET_DATA_LEN]));
s->flags |= (1 << NFT_SET_ATTR_DATA_LEN);
}
+ s->family = nfg->nfgen_family;
+ s->flags |= (1 << NFT_SET_ATTR_FAMILY);
return ret;
}
diff --git a/src/table.c b/src/table.c
index c33f01c..4533e23 100644
--- a/src/table.c
+++ b/src/table.c
@@ -218,6 +218,7 @@ int nft_table_nlmsg_parse(const struct nlmsghdr *nlh, struct nft_table *t)
}
t->family = nfg->nfgen_family;
+ t->flags |= (1 << NFT_TABLE_ATTR_FAMILY);
return 0;
}