lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 3 Aug 2007 15:41:50 +0200
From:	Jörn Engel <>
To:	Jan-Bernd Themann <>
Cc:	David Miller <>,
	Christoph Raisch <>,
	Jan-Bernd Themann <>,
	linux-kernel <>,
	linux-ppc <>,
	Marcus Eder <>,
	Thomas Klein <>,
	netdev <>,
	Andrew Gallatin <>,
	Jeff Garzik <>,
	Stefan Roscher <>
Subject: Re: [PATCH 1/1] lro: Generic Large Receive Offload for TCP traffic

On Fri, 3 August 2007 14:41:19 +0200, Jan-Bernd Themann wrote:
> This patch provides generic Large Receive Offload (LRO) functionality
> for IPv4/TCP traffic.
> LRO combines received tcp packets to a single larger tcp packet and 
> passes them then to the network stack in order to increase performance
> (throughput). The interface supports two modes: Drivers can either pass
> SKBs or fragment lists to the LRO engine. 

Maybe this is a stupid question, but why is LRO done at the device
driver level?

If it is a unversal performance benefit, I would have expected it to be
done generically, i.e. have all packets moved into network layer pass
through LRO instead.

> +void lro_flush_pkt(struct net_lro_mgr *lro_mgr,
> +		   struct iphdr *iph, struct tcphdr *tcph);

In particular this bit looks like it should be driven by a timeout,
which would be settable via /proc/sys/net/core/lro_timeout or similar.


Rules of Optimization:
Rule 1: Don't do it.
Rule 2 (for experts only): Don't do it yet.
-- M.A. Jackson
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to
More majordomo info at

Powered by blists - more mailing lists