Hello Taylor,

So I was trying to create a tftp client for HelenOS, over UDP, but was
having some issues. So I tried running "netecho" and was having a hard
time even getting that to work. I tried running netecho in one
terminal and nettest2 in another with the default parameters. I tried
with the ip's 127.0.0.1 and 10.0.2.15 . I also tried different ports
and other settings, but nothing really seemed to work.

Long story short: The networking implementation in the mainline is quite unreliable at this time. The ethernet drivers are OK, the TCP layer after Jiri's recent rewrite is OK, but all the other legacy layers (socket API, UDP, IP, ARP, etc.) are buggy and poorly designed.

The "netecho" and "nettest2" tools are unfinished and unmaintained. Heck, "netecho" cannot even setup the socket correctly if you want to use it with TCP.

In retrospect, it was probably a bad decision to integrate the current networking implementation into the mainline as-is, but back then we really thought that we had to deal with only a few glitches that are easily fixable. After a while we found out that local fixes won't salvage the networking, because the code is just plainly wrong. What you observe are the many ill-effects of its quality. For example, in your scenario the first packet from netcat gets lost because the ARP server does not send a proper ARP reply for the first ARP request.

If you want to test one functionality of the current networking that works decently, do this:

1) In host: "qemu -cdrom image.iso --redir tcp:8080::8080"
2) In HelenOS: "websrv"
3) In host: point any HTTP client or a web browser to
   http://localhost:8080 (and patiently wait for the first TCP retry
   because of the buggy ARP :))


Otherwise let us hope that Jiri will be able to maintain his pace and finish his complete rewrite of the whole networking stack soon. You can follow his work-in-progress in his branch:

https://code.launchpad.net/~jsvoboda/helenos/inet


M.D.

_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/cgi-bin/listinfo/helenos-devel

Reply via email to