• Edward Cree's avatar
    net: core: propagate SKB lists through packet_type lookup · 88eb1944
    Edward Cree authored
    __netif_receive_skb_core() does a depressingly large amount of per-packet
     work that can't easily be listified, because the another_round looping
     makes it nontrivial to slice up into smaller functions.
    Fortunately, most of that work disappears in the fast path:
     * Hardware devices generally don't have an rx_handler
     * Unless you're tcpdumping or something, there is usually only one ptype
     * VLAN processing comes before the protocol ptype lookup, so doesn't force
       a pt_prev deliver
     so normally, __netif_receive_skb_core() will run straight through and pass
     back the one ptype found in ptype_base[hash of skb->protocol].
    Signed-off-by: default avatarEdward Cree <ecree@solarflare.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    88eb1944
dev.c 236 KB