YY_NUMBER
| YY_NUMBER { if ((use_inet6 == 0) && ($1 <= 32))
| YY_NUMBER { $$.in4.s_addr = $1; }
%token <num> YY_NUMBER YY_HEX
age: | IPFY_AGE YY_NUMBER { DOALL(fr->fr_age[0] = $2; \
| IPFY_AGE YY_NUMBER '/' YY_NUMBER
IPFY_LIMIT YY_NUMBER { DOALL(fr->fr_statemax = $2;) }
| YY_NUMBER { if ($1 > 65535) /* Unsigned */
YY_NUMBER { $$ = $1; }
YY_NUMBER { $$ = $1; }
| YY_STR ':' YY_NUMBER
YY_NUMBER '.' YY_NUMBER
ipv4_16 '.' YY_NUMBER
ipv4: ipv4_24 '.' YY_NUMBER
'@' YY_NUMBER { fr->fr_hits = (U_QUAD_T)$2 + 1; }
| YY_NUMBER { fr->fr_collect = $1; }
| IPFY_SKIP YY_NUMBER { fr->fr_flags |= FR_SKIP;
func: YY_STR '/' YY_NUMBER { fr->fr_func = nametokva($1,
tos: | settos YY_NUMBER { DOALL(fr->fr_tos = $2; fr->fr_mtos = 0xff;) }
YY_NUMBER { DOALL(fr->fr_tos = $1; fr->fr_mtos = 0xff;) }
| toslist lmore YY_NUMBER
ttl: | setttl YY_NUMBER
YY_NUMBER { DOREM(fr->fr_ttl = $1; fr->fr_mttl = 0xff;) }
| ttllist lmore YY_NUMBER
| IPFY_GROUP YY_NUMBER { DOALL(sprintf(fr->fr_group, "%d", \
| IPFY_HEAD YY_NUMBER { DOALL(sprintf(fr->fr_grhead, "%d", \
| IPFY_NAT '=' YY_NUMBER { DOALL(sprintf(fr->fr_nattag.ipt_tag,\
logtag: IPFY_LOG '=' YY_NUMBER { DOALL(fr->fr_logtag = $3;) }
pps: | IPFY_PPS YY_NUMBER { DOALL(fr->fr_pps = $2;) }
YY_NUMBER { DOREM(fr->fr_proto = $1; \
| startflags YY_NUMBER
| startflags '/' YY_NUMBER
| startflags YY_NUMBER '/' YY_NUMBER
| startflags flagset '/' YY_NUMBER
| startflags YY_NUMBER '/' flagset
addr: pool '/' YY_NUMBER { pooled = 1;
| hash '/' YY_NUMBER { hashed = 1;
dstip: IPM_DSTIP '=' ipv4 '/' YY_NUMBER { $$ = new_opt(IPM_DSTIP);
IPM_DSTPORT '=' YY_NUMBER { $$ = new_opt(IPM_DSTPORT);
| IPM_EVERY YY_NUMBER IPM_SECONDS { $$ = new_opt(IPM_SECOND);
| IPM_EVERY YY_NUMBER IPM_PACKETS { $$ = new_opt(IPM_PACKET);
group: IPM_GROUP '=' YY_NUMBER { $$ = new_opt(IPM_GROUP);
logtag: IPM_LOGTAG '=' YY_NUMBER { $$ = new_opt(IPM_LOGTAG);
IPM_PROTOCOL '=' YY_NUMBER { $$ = new_opt(IPM_PROTOCOL);
rule: IPM_RULE '=' YY_NUMBER { $$ = new_opt(IPM_RULE);
$$->o_num = YY_NUMBER; }
srcip: IPM_SRCIP '=' ipv4 '/' YY_NUMBER { $$ = new_opt(IPM_SRCIP);
IPM_SRCPORT '=' YY_NUMBER { $$ = new_opt(IPM_SRCPORT);
ipv4: YY_NUMBER '.' YY_NUMBER '.' YY_NUMBER '.' YY_NUMBER
%token <num> YY_NUMBER YY_HEX
| hostname '/' YY_NUMBER { if ($1.v == 0)
YY_NUMBER { if ($1 > 65535) /* Unsigned */
ports: | IPNY_PORTS YY_NUMBER { nat->in_pmin = $2; }
| IPNY_ICMPIDMAP YY_STR YY_NUMBER ':' YY_NUMBER
| hostname '/' YY_NUMBER { $$.a = $1.a;
age: | IPNY_AGE YY_NUMBER { nat->in_age[0] = $2;
| IPNY_AGE YY_NUMBER '/' YY_NUMBER { nat->in_age[0] = $2;
| IPNY_MSSCLAMP YY_NUMBER { nat->in_mssclamp = $2; }
proto: YY_NUMBER { $$ = $1; }
| YY_NUMBER { bzero(&$$.a, sizeof($$.a));
| YY_NUMBER YY_IPV6 { $$.a = $2;
ipv4: YY_NUMBER '.' YY_NUMBER '.' YY_NUMBER '.' YY_NUMBER
%token <num> YY_NUMBER YY_HEX
number: IPT_NUM '=' YY_NUMBER { snprintf(poolname, FR_GROUPLEN, "%u", $3);
| IPT_GROUP '=' YY_NUMBER { char tmp[FR_GROUPLEN+1];
| YY_NUMBER { $$.in4.s_addr = htonl($1); }
mask: YY_NUMBER { if (set_ipv6_addr)
size: IPT_SIZE '=' YY_NUMBER { ipht.iph_size = $3; }
seed: IPT_SEED '=' YY_NUMBER { ipht.iph_seed = $3; }
ipv4: YY_NUMBER '.' YY_NUMBER '.' YY_NUMBER '.' YY_NUMBER
%token <num> YY_NUMBER YY_HEX
rval = YY_NUMBER;
case YY_NUMBER :
yytokentype == YY_NUMBER) {