Thread (43 messages) 43 messages, 8 authors, 2016-08-01

Re: Deleting child qdisc doesn't reset parent to default qdisc?

From: Eric Dumazet <hidden>
Date: 2016-04-14 17:49:36
Also in: lkml

On Thu, 2016-04-14 at 18:08 +0200, Jiri Kosina wrote:
On Thu, 14 Apr 2016, Phil Sutter wrote:
quoted
quoted
quoted
I've came across the behavior where adding a child qdisc and then deleting 
it again makes the networking dysfunctional (I guess that's because all of 
a sudden there is absolutely no working qdisc on the device, although 
there originally was a default one in the parent).

In a nutshell, is this expected behavior or bug?
This is the expected behavior.
OTOH some qdiscs (CBQ, DRR, DSMARK, HFSC, HTB, QFQ) assign the default
one upon deletion instead of noop_qdisc, hence I would describe
the situation using the words 'inconsistent' and 'accident' rather than
'expected'. :)
Would a patch that'd unify this in a sense that all qdiscs would assign 
the default one upon deletion acceptable?
And what would be the chosen behavior ?

Relying on TBF installing a bfifo for you at delete would be hazardous.

For example CBQ got it differently than HFSC

If qdisc_create_dflt() fails in CBQ, we fail the 'delete', while HFSC
falls back to noop_qdisc, without warning the user :(

At least always using noop_qdisc is consistent. No magic there.

Doing 'unification' right now would break existing scripts.

This is too late, I am afraid.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help