tbf: stop wanton destruction of children (v2)
Several netem users use TBF for rate control. But every time the parameters of TBF are changed it destroys the child qdisc, requiring reconfigation. Better to just keep child qdisc and just notify it of changed limit. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ccbd6a5a4f
commit
f0cd15081a
|
@ -273,7 +273,11 @@ static int tbf_change(struct Qdisc* sch, struct nlattr *opt)
|
|||
if (max_size < 0)
|
||||
goto done;
|
||||
|
||||
if (qopt->limit > 0) {
|
||||
if (q->qdisc != &noop_qdisc) {
|
||||
err = fifo_set_limit(q->qdisc, qopt->limit);
|
||||
if (err)
|
||||
goto done;
|
||||
} else if (qopt->limit > 0) {
|
||||
child = fifo_create_dflt(sch, &bfifo_qdisc_ops, qopt->limit);
|
||||
if (IS_ERR(child)) {
|
||||
err = PTR_ERR(child);
|
||||
|
|
Loading…
Reference in New Issue