plan 9 kernel history: overview | file list | diff list

1998/0308/ip/ip.c (diff list | history)

1998/0307/sys/src/9/ip/ip.c:100,1061998/0308/sys/src/9/ip/ip.c:100,106 (short | long | prev | next)
1997/0327    
		chunk = nhgets(eh->length); 
		if(chunk > len){ 
			netlog(Logip, "short gated packet\n"); 
			goto raise; 
1998/0308    
			goto free; 
1997/0327    
		} 
		if(chunk < len) 
			len = chunk; 
1998/0307/sys/src/9/ip/ip.c:107,1131998/0308/sys/src/9/ip/ip.c:107,113
1997/0327    
	} 
1998/0306    
	if(len >= IP_MAX){ 
		netlog(Logip, "exceeded ip max size %V\n", eh->dst); 
1997/0327    
		goto raise; 
1998/0308    
		goto free; 
1997/0327    
	} 
 
1998/0306    
	r = v4lookup(eh->dst); 
1998/0307/sys/src/9/ip/ip.c:114,1201998/0308/sys/src/9/ip/ip.c:114,120
1998/0306    
	if(r == nil){ 
1997/0916    
		stats.noroute++; 
1998/0306    
		netlog(Logip, "no interface %V\n", eh->dst); 
1997/0327    
		goto raise; 
1998/0308    
		goto free; 
1997/0327    
	} 
1998/0306    
	if(r->type & (Rifc|Runi|Rbcast|Rmulti)) 
		gate = eh->dst; 
1998/0307/sys/src/9/ip/ip.c:224,2291998/0308/sys/src/9/ip/ip.c:224,230
1997/0327    
raise: 
1998/0307    
	runlock(ifc); 
	poperror(); 
1998/0308    
free: 
1997/0327    
	freeblist(bp);	 
} 
 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)