• Lucas Nussbaum's avatar
    [NET_SCHED] sch_prio.c: remove duplicate call of tc_classify() · dbaaa07a
    Lucas Nussbaum authored
    When CONFIG_NET_CLS_ACT is enabled, tc_classify() is called twice in
    prio_classify(). This causes "interesting" behaviour: with the setup
    below, packets are duplicated, sent twice to ifb0, and then loop in and
    out of ifb0.
    
    The patch uses the previously calculated return value in the switch,
    which is probably what Patrick had in mind in commit
    bdba91ec -- maybe Patrick can
    double-check this?
    
    -- example setup --
    ifconfig ifb0 up
    tc qdisc add dev ifb0 root netem delay 2s
    tc qdisc add dev $ETH root handle 1: prio
    tc filter add dev $ETH parent 1: protocol ip prio 10 u32 \
     match ip dst 172.24.110.6/32 flowid 1:1 \
     action mirred egress redirect dev ifb0
    ping -c1 172.24.110.6
    Signed-off-by: default avatarLucas Nussbaum <lucas.nussbaum@imag.fr>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    dbaaa07a
sch_prio.c 11.5 KB