aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/ip_input.c
diff options
context:
space:
mode:
authorEdward Cree <ecree@solarflare.com>2018-07-02 16:13:56 +0100
committerDavid S. Miller <davem@davemloft.net>2018-07-04 14:06:20 +0900
commit88eb1944e18c1ba61da538ae9d1732832eb79b9d (patch)
treecd490d146232fdff656e998fcc37576b25f7361c /net/ipv4/ip_input.c
parentnet: core: another layer of lists, around PF_MEMALLOC skb handling (diff)
downloadlinux-dev-88eb1944e18c1ba61da538ae9d1732832eb79b9d.tar.xz
linux-dev-88eb1944e18c1ba61da538ae9d1732832eb79b9d.zip
net: core: propagate SKB lists through packet_type lookup
__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: Edward Cree <ecree@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions