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;
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:
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,
{
$$ = 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
"maps" { return MAPS; }
"secmarks" { return SECMARKS; }
"synproxys" { return SYNPROXYS; }
- "tunnel" { return TUNNEL; }
"tunnels" { return TUNNELS; }
"hooks" { return HOOKS; }
}