Netdev List
 help / color / mirror / Atom feed
* ifb and gso problem
@ 2009-08-14  9:50 Dmitry Labutcky
  2009-08-14 10:28 ` Herbert Xu
  0 siblings, 1 reply; 2+ messages in thread
From: Dmitry Labutcky @ 2009-08-14  9:50 UTC (permalink / raw)
  To: netdev

Hello,

I found the problem when redirect egress traffic from ethernet device to ifb when gso is enabled
on ethernet device.

Scenario like this:

eth0: 192.168.1.1/24

# modprobe ifb
# ifconfig ifb0 up
# tc qdisc del dev eth0 root 2>/dev/null
# tc qdisc add dev eth0 root handle 1: htb
# tc qdisc add dev ifb0 root handle 1: prio
# tc filter add dev eth0 parent 1: protocol ip u32 match ip src 192.168.1.1/32 action mirred egress redirect dev ifb0

# ethtool -k eth0
Offload parameters for eth0:
Cannot get device flags: Operation not supported
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: off
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: off
large-receive-offload: off

When downloading from 192.168.1.1, speed not exceeds 256-300kbit/s on 100mbit link.
After disabling gso - speed becomes 100mbit/s.

Patch below fixed this problem.

# diff -u work/linux-source-2.6.30/net/core/skbuff.c linux-source-2.6.30/net/core/skbuff.c 
--- work/linux-source-2.6.30/net/core/skbuff.c  2009-06-10 06:05:27.000000000 +0300
+++ linux-source-2.6.30/net/core/skbuff.c       2009-08-14 08:54:21.000000000 +0300
@@ -518,6 +518,7 @@
 {
        new->tstamp             = old->tstamp;
        new->dev                = old->dev;
+       new->iif                = old->iif;
        new->transport_header   = old->transport_header;
        new->network_header     = old->network_header;
        new->mac_header         = old->mac_header;
@@ -569,7 +570,6 @@
        n->cloned = 1;
        n->nohdr = 0;
        n->destructor = NULL;
-       C(iif);
        C(tail);
        C(end);
        C(head);


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-08-14 10:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-14  9:50 ifb and gso problem Dmitry Labutcky
2009-08-14 10:28 ` Herbert Xu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox