DOALL
{ DOALL(fr->fr_icmp = htons($2 << 8); fr->fr_icmpm = htons(0xff00););
DOALL(if (fr->fr_family == AF_INET) { \
{ DOALL(fr->fr_icmp |= htons($2); fr->fr_icmpm |= htons(0xff););
age: | IPFY_AGE YY_NUMBER { DOALL(fr->fr_age[0] = $2; \
{ DOALL(fr->fr_age[0] = $2; \
IPFY_STATE stateoptlist { DOALL(fr->fr_flags |= FR_KEEPSTATE;)}
IPFY_FRAGS fragoptlist { DOALL(fr->fr_flags |= FR_KEEPFRAG;) }
| IPFY_FRAG fragoptlist { DOALL(fr->fr_flags |= FR_KEEPFRAG;) }
IPFY_STRICT { DOALL(fr->fr_flags |= FR_FRSTRICT;) }
IPFY_LIMIT YY_NUMBER { DOALL(fr->fr_statemax = $2;) }
| IPFY_STRICT { DOALL(if (fr->fr_proto != IPPROTO_TCP) { \
| IPFY_LOOSE { DOALL(if (fr->fr_proto != IPPROTO_TCP) { \
| IPFY_NEWISN { DOALL(if (fr->fr_proto != IPPROTO_TCP) { \
| IPFY_NOICMPERR { DOALL(fr->fr_flags |= FR_NOICMPERR;) }
| IPFY_SYNC { DOALL(fr->fr_flags |= FR_STATESYNC;) }
| IPFY_AGE YY_NUMBER { DOALL(fr->fr_age[0] = $2; \
{ DOALL(fr->fr_age[0] = $2; \
{ DOALL(seticmphead(&fr, $2);)
{ DOALL(fr->fr_nostatelog = 1;) }
{ DOALL(fr->fr_rpc = 1;) }
{ DOALL(fr->fr_rpc = 1;) }
{ DOALL(fr->fr_srctrack.ht_max_nodes = $2;) }
{ DOALL(fr->fr_srctrack.ht_max_per_node = $2; \
{ DOALL(fr->fr_srctrack.ht_max_per_node = $2; \
opttype { DOALL(fr->fr_flx |= $1; fr->fr_mflx |= $1;) }
| notwith opttype { DOALL(fr->fr_mflx |= $2;) }
ipopts: optlist { DOALL(fr->fr_mip.fi_optmsk |= $1;
ipv6hdrlist { DOALL(fr->fr_mip.fi_optmsk |= $1;
{ DOALL(fr->fr_mip.fi_secmsk |= $2;
doi: IPFY_DOI YY_NUMBER { DOALL(fr->fr_doimask = 0xffffffff; \
| IPFY_DOI YY_HEX { DOALL(fr->fr_doimask = 0xffffffff; \
tos: | settos YY_NUMBER { DOALL(fr->fr_tos = $2; fr->fr_mtos = 0xff;) }
| settos YY_HEX { DOALL(fr->fr_tos = $2; fr->fr_mtos = 0xff;) }
YY_NUMBER { DOALL(fr->fr_tos = $1; fr->fr_mtos = 0xff;) }
{ DOALL(fr->fr_ttl = $2; fr->fr_mttl = 0xff;) }
group: | IPFY_GROUP groupname { DOALL(setgroup(&fr, $2); \
head: | IPFY_HEAD groupname { DOALL(setgrhead(&fr, $2););
nattag: IPFY_NAT '=' YY_STR { DOALL(strncpy(fr->fr_nattag.ipt_tag,\
| 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;) }
| IPFY_RULETTL YY_NUMBER { DOALL(fr->fr_die = $2;) }
| IPFY_COMMENT YY_STR { DOALL(fr->fr_comment = addname(&fr, \
YY_NUMBER { DOALL(fr->fr_proto = $1; \
DOALL(fr->fr_flx |= FI_TCPUDP; \
DOALL(fr->fr_proto = p; \
{ DOALL(fr->fr_tcpf = $2; fr->fr_tcpfm = FR_TCPFMAX;) }
{ DOALL(fr->fr_tcpf = $2; fr->fr_tcpfm = $4;) }
{ DOALL(fr->fr_tcpf = 0; fr->fr_tcpfm = $3;) }
{ DOALL(fr->fr_tcpf = $2; fr->fr_tcpfm = FR_TCPFMAX;) }
{ DOALL(fr->fr_tcpf = 0; fr->fr_tcpfm = $3;) }
{ DOALL(fr->fr_tcpf = $2; fr->fr_tcpfm = $4;) }
{ DOALL(fr->fr_tcpf = $2; fr->fr_tcpfm = $4;) }
{ DOALL(fr->fr_tcpf = $2; fr->fr_tcpfm = $4;) }
{ DOALL(fr->fr_flags |= FR_NOTSRCIP;) }
{ DOALL(fr->fr_scmp = $1.pc; fr->fr_sport = $1.p1;) }
{ DOALL(fr->fr_scmp = $1.pc; fr->fr_sport = $1.p1; \
{ DOALL(fr->fr_scmp = $1.pc; fr->fr_sport = $1.p1;) }
{ DOALL(fr->fr_scmp = $1.pc; fr->fr_sport = $1.p1; \
{ DOALL(fr->fr_flags |= FR_NOTDSTIP;) }
{ DOALL(fr->fr_dcmp = $1.pc; fr->fr_dport = $1.p1;) }
{ DOALL(fr->fr_dcmp = $1.pc; fr->fr_dport = $1.p1; \
{ DOALL(fr->fr_dcmp = $1.pc; fr->fr_dport = $1.p1;) }
{ DOALL(fr->fr_dcmp = $1.pc; fr->fr_dport = $1.p1; \