cvs commit: src/sys/netinet ip_id.c

Robert Watson rwatson at FreeBSD.org
Thu Feb 7 00:41:33 PST 2008


On Thu, 7 Feb 2008, Bruce M. Simpson wrote:

> Mike Silbersack wrote:
>>    Note that this commit does not yet enable random IP ID
>>   generation by default.  There are still some concerns
>>   that doing so will adversely affect performance.
>
> Random ip_id generation also breaks MANET multicast as it's currently 
> specified -- the ip_id field gets used for histogram based duplicate packet 
> detection. However, after my inveigling, Fred Templin at Boeing brought 
> encapsulation back into the proposal on the table.
>
> So some way to turn this stuff off on a per-interface basis is probably 
> going to be needed later on for mobile stuff...

We also have much more general problems with our ip_id code -- using a global 
IP ID counter or random generator breaks down as the packet rate goes up, 
causing problems for NFS over UDP and other UDP applications with large packet 
sizes.  We need to adopt some sort of host-based approach, presumably with a 
fallback to global when we don't want to commit state storage for a host 
(i.e., for RST's/SYN cookies, or even TCP generally).  There's a comment in 
the Linux IP ID code regarding PPTP also expecting IP IPs to behave in a more 
historical way as well.

Robert N M Watson
Computer Laboratory
University of Cambridge


More information about the cvs-src mailing list