summaryrefslogtreecommitdiff
path: root/conf/confbase.Y
diff options
context:
space:
mode:
Diffstat (limited to 'conf/confbase.Y')
-rw-r--r--conf/confbase.Y7
1 files changed, 7 insertions, 0 deletions
diff --git a/conf/confbase.Y b/conf/confbase.Y
index 499a770e..14893f47 100644
--- a/conf/confbase.Y
+++ b/conf/confbase.Y
@@ -50,6 +50,7 @@ CF_DECLS
struct f_path_mask *h;
struct password_item *p;
struct rt_show_data *ra;
+ struct iface *iface;
void *g;
bird_clock_t time;
struct prefix px;
@@ -65,6 +66,7 @@ CF_DECLS
%token <a> IPA
%token <s> SYM
%token <t> TEXT
+%type <iface> ipa_scope
%type <i> expr bool pxlen
%type <time> datetime
@@ -140,6 +142,11 @@ ipa:
}
;
+ipa_scope:
+ /* empty */ { $$ = NULL; }
+ | '%' SYM { $$ = if_get_by_name($2->name); }
+ ;
+
prefix:
ipa pxlen {
if (!ip_is_prefix($1, $2)) cf_error("Invalid prefix");