ipv4: Fix input route performance regression.
With the routing cache removal we lost the "noref" code paths on input, and this can kill some routing workloads. Reinstate the noref path when we hit a cached route in the FIB nexthops. With help from Eric Dumazet. Reported-by: Alexander Duyck <alexander.duyck@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -339,8 +339,8 @@ static int ip_rcv_finish(struct sk_buff *skb)
|
||||
* how the packet travels inside Linux networking.
|
||||
*/
|
||||
if (!skb_dst(skb)) {
|
||||
int err = ip_route_input(skb, iph->daddr, iph->saddr,
|
||||
iph->tos, skb->dev);
|
||||
int err = ip_route_input_noref(skb, iph->daddr, iph->saddr,
|
||||
iph->tos, skb->dev);
|
||||
if (unlikely(err)) {
|
||||
if (err == -EXDEV)
|
||||
NET_INC_STATS_BH(dev_net(skb->dev),
|
||||
|
Reference in New Issue
Block a user