patch-2.0.22 linux/net/ipv4/icmp.c

Next file: linux/net/ipv4/raw.c
Previous file: linux/net/ipv4/arp.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.0.21/linux/net/ipv4/icmp.c linux/net/ipv4/icmp.c
@@ -36,6 +36,8 @@
  *	Willy Konynenberg	:	Transparent proxying support.
  *		Keith Owens	:	RFC1191 correction for 4.2BSD based 
  *					path MTU bug.
+ *		Thomas Quinot	:	ICMP Dest Unreach codes up to 15 are
+ *					valid (RFC 1812).
  *
  *
  * RFC1122 (Host Requirements -- Comm. Layer) Status:
@@ -281,7 +283,10 @@
   { ENETUNREACH,	1 },	/*	ICMP_NET_ANO		*/
   { EHOSTUNREACH,	1 },	/*	ICMP_HOST_ANO		*/
   { EOPNOTSUPP,		0 },	/*	ICMP_NET_UNR_TOS	*/
-  { EOPNOTSUPP,		0 }	/*	ICMP_HOST_UNR_TOS	*/
+  { EOPNOTSUPP,		0 },	/*	ICMP_HOST_UNR_TOS	*/
+  { EOPNOTSUPP,		1 },	/*	ICMP_PKT_FILTERED	*/
+  { EOPNOTSUPP,		1 },	/*	ICMP_PREC_VIOLATION	*/
+  { EOPNOTSUPP,		1 }	/*	ICMP_PREC_CUTOFF	*/
 };
 
 /*
@@ -732,7 +737,7 @@
 			default:
 				break;
 		}
-		if(icmph->code>12)	/* Invalid type */
+		if(icmph->code>NR_ICMP_UNREACH)	/* Invalid type */
 			return;
 	}
 	

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov