• E
    net: add gro_cells infrastructure · c9e6bc64
    Eric Dumazet 提交于
    This adds a new include file (include/net/gro_cells.h), to bring GRO
    (Generic Receive Offload) capability to tunnels, in a modular way.
    
    Because tunnels receive path is lockless, and GRO adds a serialization
    using a napi_struct, I chose to add an array of up to
    DEFAULT_MAX_NUM_RSS_QUEUES cells, so that multi queue devices wont be
    slowed down because of GRO layer.
    
    skb_get_rx_queue() is used as selector.
    
    In the future, we might add optional fanout capabilities, using rxhash
    for example.
    
    With help from Ben Hutchings who reminded me
    netif_get_num_default_rss_queues() function.
    Signed-off-by: NEric Dumazet <edumazet@google.com>
    Cc: Ben Hutchings <bhutchings@solarflare.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    c9e6bc64
dev.c 162.6 KB