Hi Gabor,

We have two ported TCP/IP stacks:

(1) A port of liblwip-1.4.1: 
https://github.com/seL4/camkes-vm/tree/master/liblwip which is used generally 
when we need a network implementation. It's used for benchmarking and in the 
x86 VMM implementation. My understanding is that the library there is 
self-contained, and that you have to write the plumbing and gluecode to 
actually link it to your environment manually. So things like providing virtual 
memory, page mapping and unmapping, a malloc() implementation etc, are left up 
to the person attempting to use the library.

I'm not very familiary with the VM repositories, but from a quick skim I can 
probably point you at the following bits to use as a starting point:

* https://github.com/seL4/camkes-vm/tree/master/templates Some of these 
templates look like the glue code that links liblwip to the CAmkES environment. 
Specifically, the ones of interest for liblwip seem to be:
** seL4ProdCon-from.template.c
** seL4ProdCon-to.template.c
** seL4UDPRecv-from.template.c
** seL4UDPRecv-to.template.c
** seL4UDPSend-from.template.c
** seL4UDPSend-to.template.c
** seL4VMNet.template.c
* https://github.com/seL4/camkes-vm/tree/master/components/Echo This looks like 
a sample CAmkES component that uses liblwip
* https://github.com/seL4/camkes-vm/tree/master/components/UDPServer This looks 
like another sample CAmkES component that also uses liblwip.

It appears that only glue code for UDP has ever been written, and not any for 
TCP -- don't take my word as gospel though, I'm not familiar with these repos.

(2) A recent port of picoTCP: 
https://github.com/seL4/util_libs/tree/master/libpicotcp​ , but only the build 
system glue and configuration header for building it is included there, and we 
haven't yet pushed out the library itself. The rest of the gluecode for binding 
the picoTCP to an environment is also not yet pushed out as far as I can tell.

Sorry, and I hope this gives you something to start with,
  
 --  
 Kofi Doku Atuah
 Kernel engineer
 DATA61 | CSIRO


>Hi,

>I would like to use network (TCP) on seL4, I know that I should probably be 
>using lwip, however I have no idea how to properly initialize it (this is the 
>first time I'm working in such a hardware close environment), so I need some 
>help or some kind of  example, but I don't know where to look. I'm working on 
>ia32.


>I also tried to run the rumprun hello world, the compillation finishes, 
>however I get the following output when I try to run it:
https://pastebin.com/MiMB0N62



>Regards,
>Gábor Székely     
_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

Reply via email to