• Patrick McHardy's avatar
    net-sched: sch_htb: move hash and sibling list removal to htb_delete · fbd8f137
    Patrick McHardy authored
    Hash list removal currently happens twice (once in htb_delete, once
    in htb_destroy_class), which makes it harder to use the dynamically
    sized class hash without adding special cases for HTB. The reason is
    that qdisc destruction destroys classes in hierarchical order, which
    is not necessary if filters are destroyed in a separate iteration
    during qdisc destruction.
    
    Adjust qdisc destruction to follow the same scheme as other hierarchical
    qdiscs by first performing a filter destruction pass, then destroying
    all classes in hash order.
    Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    fbd8f137
sch_htb.c 42.8 KB