[haiku-gsoc] Re: [HCD] ICMP errors handling & propagation project

  • From: <philippe.houdoin@xxxxxxx>
  • To: haiku-gsoc@xxxxxxxxxxxxx
  • Date: Wed, 18 Jun 2008 14:44:05 +0200

> Okay, here is my plan in the following week:
> 1. To set up a development environment. About a month ago, I noticed a
> developer-version VMware image was posted in the openbeos mailing list. It
> contained necessary compiler suite. Can I just use that? 

Developing from Haiku running in a VMware session is possible, sure, but that 
could hurt building performance. 
Your call.

> Or what kind of environment are you using?

When I work on Haiku (which is not that often these days, I must confess), I 
use a Linux machine as development platform, cross-compiling Haiku code and 
then checking/debugging the result in Qemu.

Since a few weeks, as I've installed and kept a quite up-to-date Haiku native 
partition, I tend to swith to develop natively from Haiku itself, though. But 
when it crash badly, rebooting increase the round-trip cost.

If you happen to have a Linux system installed, I strongly suggest to use it as 
your development platform: you will get both performance and short-round-trip 
by running generated code in your prefered VM...

> 2. To check out the Haiku source code. I'll examine the code in
> add-ons/kernel/network/protocols/icmp/, which you mentioned.

Don't miss the private network stack headers, located in 
trunk/headers/private/net folder.
In particular net_protocol.h there, which present the API any protocol module, 
icmp included, should exposes.
That were error() and error_reply() hooks are defined. 
Currently, all protocols does nothing in their respectives error/error_reply 
hooks. 

My understanding on the way these hooks should be used is that one:
- The error() hook is supposed to be called when an error is propagated toward 
*upper* protocols, like on host unreachable ICMP message reception, which 
should be propagate up to UDP, TCP.
- The error_reply() hook is supposed to be called by a protocol to propagated 
to *lower* protocols an error, like... source quench notification from TCP ?


> 3. To read ICMP Wiki article and then further read RFC792. This will help
> me understand my goals and what to do in the next.
> 
> I hope I will catch up. Any comments on my plan?

Sounds good.

Tell me when your development platform will be up.

> PS: I apologize that I cannot work with full-time until June 23 (or 24
> considering time diff). But I will try to read the mailing list and reply
> relevant threads.

Bye,
  Philippe.



Other related posts: