TUD-OS / NRE

NOVA runtime environment (official branch)
GNU General Public License v2.0
33 stars 12 forks source link

Where is the DHCP server? #53

Closed lonnietc closed 3 years ago

lonnietc commented 3 years ago

Hi Nils,

I have been running the vmmng example and starting up tinycore in a couple of instances.

Of course, the PD for each uses Seoul but that in-turn calls back through the NRE Network services and it seems that the tinycore vms are being assigned a MAC (which I found in the code) and IP on the 10.0.2.x subnet, but I cannot seem to locate where this subsnet is being defined.

does not seem to be in vmmng configuration file under tinycore-linux.vmconfig with which is being sent to novaboot and the QEMU instance is using "mynet" for the network option.

I have been reading through out the code, but just do not see it.

Any ideas on this?

I would have thought that this would have been part of the NRE Network Services section, but see that I still do not have an complete understanding of the flow of things yet. Hopefully soon.

cheers and have a good weekend,

Nils-TUD commented 3 years ago

The IP is coming from QEMU's DHCP server, I think.

lonnietc commented 3 years ago

What's interesting is that I have started up, in the vmmng example, multiple instances (around 5) of Tinycore and each has an IP on the same subnet and my testing has been all within QEMU so that makes a lot of sense now.

I would like to start trying to look into possibly implementing the "Open vSwitch (OSV)" layer as a network service under NRE

https://www.openvswitch.org/

and am going to try and figure out more about how the network code works. I like what I have seen in the NRE + NOVA approach, but there is not a lot of documentation on of the C++ Classes that you have written, but then again I also understand that this was a research project as well.

On a side question, does the NRE Console service code set up a framebuffer? I want to see what kind of graphical OS that I can run in Seoul (the GUI version of Siltaz or TinyCore perhaps) to see what will work. Planning on modifying the vmmng more to add those ISO and test.

Cheers,

Nils-TUD commented 3 years ago

On a side question, does the NRE Console service code set up a framebuffer? I want to see what kind of graphical OS that I can run in Seoul (the GUI version of Siltaz or TinyCore perhaps) to see what will work. Planning on modifying the vmmng more to add those ISO and test.

Yes, it does and it allows clients to discover the available modes, set a mode and provides a dataspace for the framebuffer (see https://github.com/TUD-OS/NRE/blob/master/nre/include/services/Console.h). So, basically as a client you can set one of the modes that are listed in the serial output such as

Mode46: 0x17d linear 1280x 960x32 phys 0xfd000000 attr 0xbb bps 0x001400 planes 1 memmodel 6

And then you have a dataspace that allows you to write to a 1280x960 framebuffer with 32-bit colors.

lonnietc commented 3 years ago

Thanks again, my friend.

You always provide me with some great information. I have to keep reading examples and code for a while, it looks like to get a better feel, but tam making progress each day.

Cheers,