Index: uspace/srv/net/il/ip/ip.c
===================================================================
--- uspace/srv/net/il/ip/ip.c	(revision 1e2e0c1eeb07d0d3faf4a5b53314c73e3b0c1a2a)
+++ uspace/srv/net/il/ip/ip.c	(revision e6b7b19876ea4d41fd960cac5e6b9d9a9ef7073a)
@@ -380,4 +380,5 @@
  *  @returns ENOMEM if the packet is too short to contain the IP header.
  *  @returns EAFNOSUPPORT if the address family is not supported.
+ *  @returns EPERM if the protocol is not allowed to send ICMP notifications. The ICMP protocol itself.
  *  @returns Other error codes as defined for the packet_set_addr().
  */
@@ -1415,4 +1416,8 @@
 	// only for the first fragment
 	if( IP_FRAGMENT_OFFSET( header )) return EINVAL;
+	// not for the ICMP protocol
+	if( header->protocol == IPPROTO_ICMP ){
+		return EPERM;
+	}
 	// set the destination address
 	switch( header->version ){
