queue_opts
altqif : ALTQ interface queue_opts QUEUE qassign {
queuespec : QUEUE STRING interface queue_opts qassign {
queue_opts : {
bzero(&queue_opts, sizeof queue_opts);
queue_opts.priority = DEFAULT_PRIORITY;
queue_opts.qlimit = DEFAULT_QLIMIT;
queue_opts.scheduler.qtype = ALTQT_NONE;
queue_opts.queue_bwspec.bw_percent = 100;
{ $$ = queue_opts; }
bzero(&queue_opts, sizeof queue_opts);
queue_opts.priority = DEFAULT_PRIORITY;
queue_opts.qlimit = DEFAULT_QLIMIT;
queue_opts.scheduler.qtype = ALTQT_NONE;
queue_opts.queue_bwspec.bw_percent = 100;
$$ = queue_opts;
if (queue_opts.marker & QOM_BWSPEC) {
queue_opts.marker |= QOM_BWSPEC;
queue_opts.queue_bwspec = $2;
if (queue_opts.marker & QOM_PRIORITY) {
queue_opts.marker |= QOM_PRIORITY;
queue_opts.priority = $2;
if (queue_opts.marker & QOM_QLIMIT) {
queue_opts.marker |= QOM_QLIMIT;
queue_opts.qlimit = $2;
if (queue_opts.marker & QOM_SCHEDULER) {
queue_opts.marker |= QOM_SCHEDULER;
queue_opts.scheduler = $1;
if (queue_opts.marker & QOM_TBRSIZE) {
queue_opts.marker |= QOM_TBRSIZE;
queue_opts.tbrsize = $2;
} queue_opts;
struct queue_opts queue_opts;
%type <v.queue_opts> queue_opts queue_opt queue_opts_l