• Toke Høiland-Jørgensen's avatar
    sch_cake: Fix TC filter flow override and expand it to hosts as well · 93cfb6c1
    Toke Høiland-Jørgensen authored
    The TC filter flow mapping override completely skipped the call to
    cake_hash(); however that meant that the internal state was not being
    updated, which ultimately leads to deadlocks in some configurations. Fix
    that by passing the overridden flow ID into cake_hash() instead so it can
    react appropriately.
    
    In addition, the major number of the class ID can now be set to override
    the host mapping in host isolation mode. If both host and flow are
    overridden (or if the respective modes are disabled), flow dissection and
    hashing will be skipped entirely; otherwise, the hashing will be kept for
    the portions that are not set by the filter.
    Signed-off-by: default avatarToke Høiland-Jørgensen <toke@toke.dk>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    93cfb6c1
sch_cake.c 76.6 KB