Pantek Library
Hosting Provided By
CybrHost
High Speed Hosting

Re: VS: can pf send icmp protocol unreachables?

From: Daniel Hartmeier <daniel(at)benzedrine.cx>
Date: Tue Nov 26 2002 - 13:02:24 EST

On Tue, Nov 26, 2002 at 07:45:46PM +0200, Toni Heinonen wrote:

> As far as I know, blocking any other protocol requires an ICMP protocol unreachable (or of course a simple silent drop, but that's the crude way).

It's not necessarily crude. The OpenBSD TCP/IP stack, for instance, processes all incoming ICMP errors in net/ip_icmp.c icmp_input().

There, certain ICMP types/code are consolidated into a single code, others are just ignored. Depending on what protocol the ICMP error refers to, the ctlinput() function for that protocol is called. Not many protocols beside TCP and UDP even have a ctlinput() function. For them, an ICMP error has just no effect at all.

As an example of one other protocol which does process ICMP errors, look at netiso/tp_inet.c tpip_ctlinput(). It doesn't distinguish between UNREACH_PORT and UNREACH_PROTO at all, both cause the same processing.

Another example is ctlinput for ah4 and esp4, both completely ignore UNREACH_PORT and UNREACH_PROTO messages.

Hence my question, can you name a single protocol (besides TCP and UDP) that actually uses ICMP errors for anything? Maybe a rawsock listener that does something with them? If not, it's just useless to return-icmp for other protocols, as they have no effect whatsoever. Dropping them silently would not be crude, but sensible, and save you bandwidth.

Do you need help?X

Daniel Received on Tue Nov 26 13:03:41 2002

This archive was generated by hypermail 2.1.8 : Wed Aug 23 2006 - 13:48:27 EDT


Contact Us  Legal Notices  Order Services Online 
Pantek Home  Privacy Policy  IT news  Site Map  Pantek Library