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(0xff00); fr->fr_icmp |= htons($3); \
| 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;) }
onlist: onname { DOREM(setifname(&fr, 0, $1.if1); \
| onlist lmore onname { DOREM(setifname(&fr, 0, $3.if1); \
DOREM(fr->fr_flx |= FI_TCPUDP; \
portnum { DOREM(fr->fr_scmp = FR_EQUAL; fr->fr_sport = $1;) }
{ DOREM(fr->fr_scmp = FR_INCRANGE; fr->fr_sport = $1; \
{ DOREM(fr->fr_scmp = FR_INRANGE; fr->fr_sport = $1; \
{ DOREM(fr->fr_scmp = FR_EQUAL; fr->fr_sport = $3;) }
{ DOREM(fr->fr_scmp = FR_INCRANGE; fr->fr_sport = $3; \
{ DOREM(fr->fr_scmp = FR_INRANGE; fr->fr_sport = $3; \
portnum { DOREM(fr->fr_dcmp = FR_EQUAL; fr->fr_dport = $1;) }
{ DOREM(fr->fr_dcmp = FR_INCRANGE; fr->fr_dport = $1; \
{ DOREM(fr->fr_dcmp = FR_INRANGE; fr->fr_dport = $1; \
{ DOREM(fr->fr_dcmp = FR_EQUAL; fr->fr_dport = $3;) }
{ DOREM(fr->fr_dcmp = FR_INCRANGE; fr->fr_dport = $3; \
{ DOREM(fr->fr_dcmp = FR_INRANGE; fr->fr_dport = $3; \