mirror of
https://git.netfilter.org/nftables
synced 2026-01-26 02:27:52 +00:00
tunnel: add missing tunnel object list support
Tunnel object listing support was missing. Now it is possible to list
tunnels. Example:
sudo nft list tunnel netdev x y
table netdev x {
tunnel y {
id 10
ip saddr 192.168.2.10
ip daddr 192.168.2.11
sport 10
dport 20
ttl 10
erspan {
version 1
index 2
}
}
}
Fixes: a937a5dc02db ("src: add tunnel statement and expression support")
Signed-off-by: Fernando Fernandez Mancera <fmancera@suse.de>
Signed-off-by: Florian Westphal <fw@strlen.de>
This commit is contained in:
parent
f2813fb53b
commit
6cee2d0e7b
@ -296,6 +296,10 @@ static unsigned int evaluate_cache_list(struct nft_ctx *nft, struct cmd *cmd,
|
||||
case CMD_OBJ_SYNPROXYS:
|
||||
obj_filter_setup(cmd, &flags, filter, NFT_OBJECT_SYNPROXY);
|
||||
break;
|
||||
case CMD_OBJ_TUNNEL:
|
||||
case CMD_OBJ_TUNNELS:
|
||||
obj_filter_setup(cmd, &flags, filter, NFT_OBJECT_TUNNEL);
|
||||
break;
|
||||
case CMD_OBJ_RULESET:
|
||||
default:
|
||||
flags |= NFT_CACHE_FULL;
|
||||
|
||||
@ -6279,6 +6279,8 @@ static int cmd_evaluate_list(struct eval_ctx *ctx, struct cmd *cmd)
|
||||
return cmd_evaluate_list_obj(ctx, cmd, NFT_OBJECT_CT_EXPECT);
|
||||
case CMD_OBJ_SYNPROXY:
|
||||
return cmd_evaluate_list_obj(ctx, cmd, NFT_OBJECT_SYNPROXY);
|
||||
case CMD_OBJ_TUNNEL:
|
||||
return cmd_evaluate_list_obj(ctx, cmd, NFT_OBJECT_TUNNEL);
|
||||
case CMD_OBJ_COUNTERS:
|
||||
case CMD_OBJ_QUOTAS:
|
||||
case CMD_OBJ_CT_HELPERS:
|
||||
@ -6289,6 +6291,7 @@ static int cmd_evaluate_list(struct eval_ctx *ctx, struct cmd *cmd)
|
||||
case CMD_OBJ_SYNPROXYS:
|
||||
case CMD_OBJ_CT_TIMEOUTS:
|
||||
case CMD_OBJ_CT_EXPECTATIONS:
|
||||
case CMD_OBJ_TUNNELS:
|
||||
if (cmd->handle.table.name == NULL)
|
||||
return 0;
|
||||
if (!table_cache_find(&ctx->nft->cache.table_cache,
|
||||
|
||||
@ -1737,6 +1737,14 @@ list_cmd : TABLE table_spec
|
||||
{
|
||||
$$ = cmd_alloc(CMD_LIST, CMD_OBJ_HOOKS, &$2, &@$, NULL);
|
||||
}
|
||||
| TUNNELS list_cmd_spec_any
|
||||
{
|
||||
$$ = cmd_alloc(CMD_LIST, CMD_OBJ_TUNNELS, &$2, &@$, NULL);
|
||||
}
|
||||
| TUNNEL obj_spec close_scope_tunnel
|
||||
{
|
||||
$$ = cmd_alloc(CMD_LIST, CMD_OBJ_TUNNEL, &$2, &@$, NULL);
|
||||
}
|
||||
;
|
||||
|
||||
basehook_device_name : DEVICE STRING
|
||||
|
||||
@ -404,7 +404,6 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr})
|
||||
"maps" { return MAPS; }
|
||||
"secmarks" { return SECMARKS; }
|
||||
"synproxys" { return SYNPROXYS; }
|
||||
"tunnel" { return TUNNEL; }
|
||||
"tunnels" { return TUNNELS; }
|
||||
"hooks" { return HOOKS; }
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user