HN2new | past | comments | ask | show | jobs | submitlogin

I am really confused by one part of your blog post: it says that you had to embed Lwip as applications don't send/receive IP packets... but you also describe this as x86 virtualization running specifically-Linux, and Linux absolutely has its own TCP stack, so I don't understand what Lwip is actually accomplishing here... I would have thought you'd essentially be implemented as a paravirtualized network adapter, but then the article mentions system calls? I guess I just fundamentally don't understand at what level of the stack you have this implemented... did you replace the Linux kernel and reimplement its entire system call layer?


Yes: https://labs.leaningtech.com/cheerpx#cheerpx-versus-v86jslin...

Also, a little below:

CheerpX currently focuses on user mode (ring 3), and does not fully emulate the kernel (ring 0). We do, however, implement a subset of the Linux system call interface, which is enough to run most applications.


Have you looked at gvisor to help implement some of the outstanding system calls given it’s a kernel written in go?


gVisor probably supports less than they do.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: