queue_opts
queuespec : QUEUE STRING interface queue_opts {
queue_opts : {
bzero(&queue_opts, sizeof queue_opts);
{ $$ = queue_opts; }
if (queue_opts.marker & QOM_BWSPEC) {
queue_opts.marker |= QOM_BWSPEC;
queue_opts.linkshare = $2;
queue_opts.realtime= $3.realtime;
queue_opts.upperlimit = $3.upperlimit;
if (queue_opts.marker & QOM_PARENT) {
queue_opts.marker |= QOM_PARENT;
queue_opts.parent = $2;
if (queue_opts.marker & QOM_DEFAULT) {
queue_opts.marker |= QOM_DEFAULT;
queue_opts.flags |= PFQS_DEFAULT;
if (queue_opts.marker & QOM_QLIMIT) {
queue_opts.marker |= QOM_QLIMIT;
queue_opts.qlimit = $2;
if (queue_opts.marker & QOM_FLOWS) {
queue_opts.marker |= QOM_FLOWS;
queue_opts.flags |= PFQS_FLOWQUEUE;
queue_opts.flowqueue.flows = $2;
if (queue_opts.marker & QOM_QUANTUM) {
queue_opts.marker |= QOM_QUANTUM;
queue_opts.flowqueue.quantum = $2;
} queue_opts;
int expand_queue(char *, struct node_if *, struct queue_opts *);
expand_queue(char *qname, struct node_if *interfaces, struct queue_opts *opts)
struct queue_opts queue_opts;
%type <v.queue_opts> queue_opts queue_opt queue_opts_l optscs