DOREM
{ DOREM(fr->fr_icmp = htons($1 << 8); fr->fr_icmpm = htons(0xff00);) }
{ DOREM(fr->fr_icmp = htons($3 << 8); fr->fr_icmpm = htons(0xff00);) }
{ DOREM(fr->fr_icmp |= htons($1); fr->fr_icmpm |= htons(0xff);) }
{ DOREM(fr->fr_icmp |= htons($3); fr->fr_icmpm |= htons(0xff);) }
| YY_HEX { DOREM(fr->fr_tos = $1; fr->fr_mtos = 0xff;) }
{ DOREM(fr->fr_tos = $3; fr->fr_mtos = 0xff;) }
{ DOREM(fr->fr_tos = $3; fr->fr_mtos = 0xff;) }
YY_NUMBER { DOREM(fr->fr_ttl = $1; fr->fr_mttl = 0xff;) }
{ DOREM(fr->fr_ttl = $3; fr->fr_mttl = 0xff;) }
YY_NUMBER { DOREM(fr->fr_proto = $1; \
DOREM(fr->fr_flx |= FI_TCPUDP; \
DOREM(fr->fr_proto = p; \
DOREM(fr->fr_flx |= FI_TCPUDP; \
addr { DOREM(bcopy(&($1.a), &fr->fr_ip.fi_src, sizeof($1.a)); \
addr { DOREM(bcopy(&($1.a), &fr->fr_ip.fi_src, sizeof($1.a)); \
{ DOREM(bcopy(&($3.a), &fr->fr_ip.fi_src, sizeof($3.a)); \
portnum { DOREM(fr->fr_scmp = FR_EQUAL; fr->fr_sport = $1;) }
{ DOREM(fr->fr_scmp = FR_EQUAL; fr->fr_sport = $3;) }
addr { DOREM(bcopy(&($1.a), &fr->fr_ip.fi_dst, sizeof($1.a)); \
addr { DOREM(bcopy(&($1.a), &fr->fr_ip.fi_dst, sizeof($1.a)); \
{ DOREM(bcopy(&($3.a), &fr->fr_ip.fi_dst, sizeof($3.a)); \
portnum { DOREM(fr->fr_dcmp = FR_EQUAL; fr->fr_dport = $1;) }
{ DOREM(fr->fr_dcmp = FR_EQUAL; fr->fr_dport = $3;) }