On 6/27/07, Ivo Vachkov <ivo@xxxxxxxxxxx> wrote:
Hmm, I'd say ICMP sits beside IP. It controls IP and TCP/UDP at the same time.
Where do you plan to define these messages (I mean where would you want to implement them) ? At TCP/UDP ? I think it is most logical to implement that kind of messages at ICMP and call whenever we need one from other layers (TCP/UDP/IP).
Now i understand your original question. Unfortunately this approach is not reasonable as it violates layer boundaries. In my view, there should exist a set of known error message codes, a set that makes sense from an ICMP point of view, that are propagated down the stack. Only the IP module should be aware of ICMP. This also allows IPv6 and ICMPv6 to be plugged nicely into the stack without modifications to UDP or TCP. -> IP -> UDP -> No endpoint found, return "Port not reachable" -> IP sends ICMP Port not reachable. Axel may have a different view on this. Hugo