• E
    net: fix multiqueue selection · 50d1784e
    Eric Dumazet 提交于
    commit 416186fb ("net: Split core bits of netdev_pick_tx
    into __netdev_pick_tx") added a bug that disables caching of queue
    index in the socket.
    
    This is the source of packet reorders for TCP flows, and
    again this is happening more often when using FQ pacing.
    
    Old code was doing
    
    if (queue_index != old_index)
    	sk_tx_queue_set(sk, queue_index);
    
    Alexander renamed the variables but forgot to change sk_tx_queue_set()
    2nd parameter.
    
    if (queue_index != new_index)
    	sk_tx_queue_set(sk, queue_index);
    
    This means we store -1 over and over in sk->sk_tx_queue_mapping
    Signed-off-by: NEric Dumazet <edumazet@google.com>
    Cc: Alexander Duyck <alexander.h.duyck@intel.com>
    Acked-by: NAlexander Duyck <alexander.h.duyck@intel.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    50d1784e
flow_dissector.c 8.9 KB