Home | History | Annotate | Download | only in sch

Lines Matching refs:sfq

2  * lib/route/sch/sfq.c		SFQ Qdisc
14 * @defgroup sfq Stochastic Fairness Queueing (SFQ)
20 * - \b Limit: Upper limit of queue in number of packets before SFQ starts
32 #include <netlink/route/sch/sfq.h>
57 struct rtnl_sfq *sfq;
66 sfq = sfq_alloc(qdisc);
67 if (!sfq)
72 sfq->qs_quantum = opts->quantum;
73 sfq->qs_perturb = opts->perturb_period;
74 sfq->qs_limit = opts->limit;
75 sfq->qs_divisor = opts->divisor;
76 sfq->qs_flows = opts->flows;
78 sfq->qs_mask = (SCH_SFQ_ATTR_QUANTUM | SCH_SFQ_ATTR_PERTURB |
92 struct rtnl_sfq *sfq = sfq_qdisc(qdisc);
94 if (sfq)
95 nl_dump(p, " quantum %u perturb %us", sfq->qs_quantum,
96 nl_ticks2us(sfq->qs_perturb * nl_get_hz()));
101 struct rtnl_sfq *sfq = sfq_qdisc(qdisc);
103 if (sfq)
105 sfq->qs_limit, sfq->qs_divisor);
110 struct rtnl_sfq *sfq;
114 sfq = sfq_qdisc(qdisc);
115 if (!sfq)
123 opts.quantum = sfq->qs_quantum;
124 opts.perturb_period = sfq->qs_perturb;
125 opts.limit = sfq->qs_limit;
142 * Set quantum of SFQ qdisc.
143 * @arg qdisc SFQ qdisc to be modified.
149 struct rtnl_sfq *sfq;
151 sfq = sfq_alloc(qdisc);
152 if (!sfq)
155 sfq->qs_quantum = quantum;
156 sfq->qs_mask |= SCH_SFQ_ATTR_QUANTUM;
162 * Get quantum of SFQ qdisc.
163 * @arg qdisc SFQ qdisc.
168 struct rtnl_sfq *sfq;
170 sfq = sfq_qdisc(qdisc);
171 if (sfq && sfq->qs_mask & SCH_SFQ_ATTR_QUANTUM)
172 return sfq->qs_quantum;
178 * Set limit of SFQ qdisc.
179 * @arg qdisc SFQ qdisc to be modified.
185 struct rtnl_sfq *sfq;
187 sfq = sfq_alloc(qdisc);
188 if (!sfq)
191 sfq->qs_limit = limit;
192 sfq->qs_mask |= SCH_SFQ_ATTR_LIMIT;
198 * Get limit of SFQ qdisc.
199 * @arg qdisc SFQ qdisc.
204 struct rtnl_sfq *sfq;
206 sfq = sfq_qdisc(qdisc);
207 if (sfq && sfq->qs_mask & SCH_SFQ_ATTR_LIMIT)
208 return sfq->qs_limit;
214 * Set perturbation interval of SFQ qdisc.
215 * @arg qdisc SFQ qdisc to be modified.
222 struct rtnl_sfq *sfq;
224 sfq = sfq_alloc(qdisc);
225 if (!sfq)
228 sfq->qs_perturb = perturb;
229 sfq->qs_mask |= SCH_SFQ_ATTR_PERTURB;
235 * Get perturbation interval of SFQ qdisc.
236 * @arg qdisc SFQ qdisc.
241 struct rtnl_sfq *sfq;
243 sfq = sfq_qdisc(qdisc);
244 if (sfq && sfq->qs_mask & SCH_SFQ_ATTR_PERTURB)
245 return sfq->qs_perturb;
251 * Get divisor of SFQ qdisc.
252 * @arg qdisc SFQ qdisc.
257 struct rtnl_sfq *sfq;
259 sfq = sfq_qdisc(qdisc);
260 if (sfq && sfq->qs_mask & SCH_SFQ_ATTR_DIVISOR)
261 return sfq->qs_divisor;
269 .qo_kind = "sfq",