Re: ipgre rss is broken since gro
From: Dmitry Kravkov <hidden>
Date: 2012-12-09 20:49:23
On Sun, 2012-12-09 at 04:04 +0200, Dmitry Kravkov wrote:
On Sat, 2012-12-08 at 18:01 -0800, Eric Dumazet wrote:quoted
On Sat, Dec 8, 2012 at 3:31 PM, Dmitry Kravkov [off-list ref] wrote:quoted
Here is the trace for a while: BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff8144f35e>] skb_gro_receive+0xbe/0x5a0Hi Dmitry NULL pointer deref probably fixed on net tree (or Linus tree) by http://git.kernel.org/?p=linux/kernel/git/davem/net.git;a=commit;h=c3c7c254b2e8cd99b0adf288c2a1bddacd7ba255
This resolved the deref. Thanks.
quoted
For the GRO stuff and RSS, I wonder if skbs have a property that makes them dropped somewhere, you might try drop_monitor / drop_watch
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;
quoted
I will try both and update ... Thanks