OSDN Git Service

net: ipv4: listify ip_rcv_finish
authorEdward Cree <ecree@solarflare.com>
Mon, 2 Jul 2018 15:14:34 +0000 (16:14 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 Jul 2018 05:06:20 +0000 (14:06 +0900)
commit5fa12739a53d0780265ed9d44d9ec9ba5f9ad00a
tree0fce3a8301b230876e61b1e940a8aad6ff816dbf
parent17266ee939849cb095ed7dd9edbec4162172226b
net: ipv4: listify ip_rcv_finish

ip_rcv_finish_core(), if it does not drop, sets skb->dst by either early
 demux or route lookup.  The last step, calling dst_input(skb), is left to
 the caller; in the listified case, we split to form sublists with a common
 dst, but then ip_sublist_rcv_finish() just calls dst_input(skb) in a loop.
The next step in listification would thus be to add a list_input() method
 to struct dst_entry.

Early demux is an indirect call based on iph->protocol; this is another
 opportunity for listification which is not taken here (it would require
 slicing up ip_rcv_finish_core() to allow splitting on protocol changes).

Signed-off-by: Edward Cree <ecree@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ip_input.c