summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf/confbase.Y7
1 files changed, 6 insertions, 1 deletions
diff --git a/conf/confbase.Y b/conf/confbase.Y
index c614301..4626d44 100644
--- a/conf/confbase.Y
+++ b/conf/confbase.Y
@@ -53,7 +53,7 @@ CF_DECLS
%type <i> expr bool pxlen
%type <time> datetime
-%type <px> prefix
+%type <px> prefix prefix_or_ipa
%nonassoc '=' '<' '>' '~' '.' GEQ LEQ NEQ
%left '+' '-'
@@ -118,6 +118,11 @@ prefix:
}
;
+prefix_or_ipa:
+ prefix
+ | IPA { $$.addr = $1; $$.len = BITS_PER_IP_ADDRESS; }
+ ;
+
pxlen:
'/' NUM {
if ($2 < 0 || $2 > BITS_PER_IP_ADDRESS) cf_error("Invalid prefix length %d", $2);