Re: ipgre rss is broken since gro
From: Eric Dumazet <edumazet@google.com>
Date: 2012-12-09 23:27:08
On Sun, Dec 9, 2012 at 12:49 PM, Dmitry Kravkov [off-list ref] wrote:
for this item: drop_watch does not show any drops (i've disable all
other interfaces for clear env)
I will explain a little bit more the setup:
bnx2x device (under testing) is configured for RSS for IPGRE packets.
Sending multiple (3) TCP_STREAM causes ip_gre interface to disappear
packets (even ICMP).
This is not happening with single TCP_STREAM, or before gro_cell
introduction.
i was searching for the drops by print-out in ip_gre.c but disappeared
packets completes this code:
static int ipgre_rcv(struct sk_buff *skb)
(snip)
printk("%s:%d\n", __FUNCTION__, __LINE__);
tstats = this_cpu_ptr(tunnel->dev->tstats);
u64_stats_update_begin(&tstats->syncp);
tstats->rx_packets++;
tstats->rx_bytes += skb->len;
u64_stats_update_end(&tstats->syncp);
gro_cells_receive(&tunnel->gro_cells, skb);
return 0;I dont know, I tried a bnx2x setup, and 100 tcp flows, no special problem. If you receive a lot of packets on a single RX queue, they might be dropped because cpu cant cope with the load (This has nothing to do with GRE or GRO ) cat /proc/net/softnet_stat