@@ -1376,7 +1376,7 @@ enum nft_fwd_attributes {
/**
* enum nft_objref_attributes - nf_tables stateful object expression netlink attributes
*
- * @NFTA_OBJREF_IMM_TYPE: object type for immediate reference (NLA_U32: nft_register)
+ * @NFTA_OBJREF_TYPE: object type for set reference (NLA_U32: nft_register)
* @NFTA_OBJREF_IMM_NAME: object name for immediate reference (NLA_STRING)
* @NFTA_OBJREF_SET_SREG: source register of the data to look for (NLA_U32: nft_registers)
* @NFTA_OBJREF_SET_NAME: name of the set where to look for (NLA_STRING)
@@ -1384,7 +1384,8 @@ enum nft_fwd_attributes {
*/
enum nft_objref_attributes {
NFTA_OBJREF_UNSPEC,
- NFTA_OBJREF_IMM_TYPE,
+ NFTA_OBJREF_TYPE,
+#define NFTA_OBJREF_IMM_TYPE NFTA_OBJREF_TYPE
NFTA_OBJREF_IMM_NAME,
NFTA_OBJREF_SET_SREG,
NFTA_OBJREF_SET_NAME,
@@ -31,10 +31,10 @@ static int nft_objref_init(const struct nft_ctx *ctx,
u32 objtype;
if (!tb[NFTA_OBJREF_IMM_NAME] ||
- !tb[NFTA_OBJREF_IMM_TYPE])
+ !tb[NFTA_OBJREF_TYPE])
return -EINVAL;
- objtype = ntohl(nla_get_be32(tb[NFTA_OBJREF_IMM_TYPE]));
+ objtype = ntohl(nla_get_be32(tb[NFTA_OBJREF_TYPE]));
obj = nft_obj_lookup(ctx->net, ctx->table,
tb[NFTA_OBJREF_IMM_NAME], objtype,
genmask);
@@ -52,7 +52,7 @@ static int nft_objref_dump(struct sk_buff *skb, const struct nft_expr *expr)
const struct nft_object *obj = nft_objref_priv(expr);
if (nla_put_string(skb, NFTA_OBJREF_IMM_NAME, obj->key.name) ||
- nla_put_be32(skb, NFTA_OBJREF_IMM_TYPE,
+ nla_put_be32(skb, NFTA_OBJREF_TYPE,
htonl(obj->ops->type->type)))
goto nla_put_failure;
@@ -212,7 +212,7 @@ nft_objref_select_ops(const struct nft_ctx *ctx,
tb[NFTA_OBJREF_SET_ID]))
return &nft_objref_map_ops;
else if (tb[NFTA_OBJREF_IMM_NAME] &&
- tb[NFTA_OBJREF_IMM_TYPE])
+ tb[NFTA_OBJREF_TYPE])
return &nft_objref_ops;
return ERR_PTR(-EOPNOTSUPP);
@@ -221,7 +221,7 @@ nft_objref_select_ops(const struct nft_ctx *ctx,
static const struct nla_policy nft_objref_policy[NFTA_OBJREF_MAX + 1] = {
[NFTA_OBJREF_IMM_NAME] = { .type = NLA_STRING,
.len = NFT_OBJ_MAXNAMELEN - 1 },
- [NFTA_OBJREF_IMM_TYPE] = { .type = NLA_U32 },
+ [NFTA_OBJREF_TYPE] = { .type = NLA_U32 },
[NFTA_OBJREF_SET_SREG] = { .type = NLA_U32 },
[NFTA_OBJREF_SET_NAME] = { .type = NLA_STRING,
.len = NFT_SET_MAXNAMELEN - 1 },
Prepare this netlink attribute to be used from maps too. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> --- include/uapi/linux/netfilter/nf_tables.h | 5 +++-- net/netfilter/nft_objref.c | 10 +++++----- 2 files changed, 8 insertions(+), 7 deletions(-)