Changeset View
Changeset View
Standalone View
Standalone View
sbin/pfctl/parse.y
Show First 20 Lines • Show All 1,194 Lines • ▼ Show 20 Lines | etherrule : ETHER action dir quick interface etherproto etherfromto etherfilter_opts | ||||
memcpy(&r.src.addr, $7.src, sizeof(r.src.addr)); | memcpy(&r.src.addr, $7.src, sizeof(r.src.addr)); | ||||
r.src.neg = $7.srcneg; | r.src.neg = $7.srcneg; | ||||
memcpy(&r.dst.addr, $7.dst, sizeof(r.dst.addr)); | memcpy(&r.dst.addr, $7.dst, sizeof(r.dst.addr)); | ||||
r.dst.neg = $7.dstneg; | r.dst.neg = $7.dstneg; | ||||
if ($8.tag != NULL) | if ($8.tag != NULL) | ||||
memcpy(&r.tagname, $8.tag, sizeof(r.tagname)); | memcpy(&r.tagname, $8.tag, sizeof(r.tagname)); | ||||
if ($8.queues.qname != NULL) | if ($8.queues.qname != NULL) | ||||
memcpy(&r.qname, $8.queues.qname, sizeof(r.qname)); | memcpy(&r.qname, $8.queues.qname, sizeof(r.qname)); | ||||
r.dnpipe = $8.dnpipe; | |||||
r.dnflags = $8.free_flags; | |||||
expand_eth_rule(&r, $5, $6); | expand_eth_rule(&r, $5, $6); | ||||
} | } | ||||
; | ; | ||||
etherfilter_opts : { | etherfilter_opts : { | ||||
bzero(&filter_opts, sizeof filter_opts); | bzero(&filter_opts, sizeof filter_opts); | ||||
} | } | ||||
Show All 12 Lines | etherfilter_opt : etherqname { | ||||
if (filter_opts.queues.qname) { | if (filter_opts.queues.qname) { | ||||
yyerror("queue cannot be redefined"); | yyerror("queue cannot be redefined"); | ||||
YYERROR; | YYERROR; | ||||
} | } | ||||
filter_opts.queues = $1; | filter_opts.queues = $1; | ||||
} | } | ||||
| TAG string { | | TAG string { | ||||
filter_opts.tag = $2; | filter_opts.tag = $2; | ||||
} | |||||
| DNPIPE number { | |||||
filter_opts.dnpipe = $2; | |||||
filter_opts.free_flags |= PFRULE_DN_IS_PIPE; | |||||
} | |||||
| DNQUEUE number { | |||||
filter_opts.dnpipe = $2; | |||||
filter_opts.free_flags |= PFRULE_DN_IS_QUEUE; | |||||
} | } | ||||
; | ; | ||||
scrubrule : scrubaction dir logquick interface af proto fromto scrub_opts | scrubrule : scrubaction dir logquick interface af proto fromto scrub_opts | ||||
{ | { | ||||
struct pfctl_rule r; | struct pfctl_rule r; | ||||
if (check_rulestate(PFCTL_STATE_SCRUB)) | if (check_rulestate(PFCTL_STATE_SCRUB)) | ||||
▲ Show 20 Lines • Show All 5,524 Lines • Show Last 20 Lines |