diff options
Diffstat (limited to 'conf/confbase.Y')
-rw-r--r-- | conf/confbase.Y | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/conf/confbase.Y b/conf/confbase.Y index c6143012..4626d440 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); |