A dedicated kernel for multi-threading applications.

Sunday, December 11, 2016

Full Ping Implementation in Toro

Hi folks!,
last weekend I spent some time on Toro. My weekend project was to make Toro sends and receives ICMP packets. I started by coding a new test named ToroPing.pas which first sends an ICMP packet, and then waits for the response. At the beginning, this was not working. But, after fixing several bugs in the Network.pas and ne2000.pas, I have the test working quite well. I already pushed all the code and the test. If you try, you will get something like the next picture:

Basically, ToroPing just sends an ICMP packet to a fixed IP, i.e., When the host responds, ToroPing informs that the ping has been responded and sends a new packet. This is done every 2 second. 
The example is very simple, however, it shows that the network stack is working better.



Thursday, December 08, 2016

Pong from Toro

Hi folks, last days I have been spending some time in the network stack of Toro. It is a piece of code that I am scare to touch because most the time it does not work and I cannot figure out why. So I spent some time getting the good environment for testing and a lot of patient. As a result, I fixed a bug in the ne2000 driver and in the network stack so at least I have toro kernel answering pings. I will continue in this way doing more testing on the network stack. The code is there I just have to get so time to make it work. Enjoy the screenshots! ;)

Figure 1. Toro on QEMU detecting the network stack
Figure 2. I improved the serial console debug. Now it shows more interested info.

Figure 3. TORO VM answering pings