I'm seeing packet loss when forwarding from a LAN to PPP, whenever GRO
kicks in on the LAN interface.

On Mon, 2013-05-20 at 05:48 +0100, Ben Hutchings wrote:
[...]
> The Windows system is connected to the LAN interface (int0).  Turning
> off GRO on this interface works around the problem.  But since GRO is
> on by default, it clearly ought to work properly with iptables.
> 
> I'll try to work out where the drops are occurring, but the
> perf net_dropmonitor script is also broken...
[...]

I've fixed that script and now I can see that it's not iptables but
tbf_enqueue() that is dropping the GRO'd packets.  I do traffic-shaping
on the PPP link like this:

tc qdisc replace dev ppp0 root tbf rate 420kbit latency 50ms burst 1540

The local TCP will never generate an skb larger than the burst size
because it knows the PPP interface can't do GSO or TSO.  And the wifi
network doesn't seem to be fast enough for GRO to have much of an
effect.  But a peer on the wired network can trigger GRO and this
produces an skb that exceeds the burst size.

Is this a bug in sch_tbf, or should I accept it as a limitation?  It
seems like it should do GSO on entry to the queue if necessary.

Ben.

-- 
Ben Hutchings
friends: People who know you well, but like you anyway.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to