On Fri, Oct 6, 2017 at 3:22 AM Anshuman Aggarwal < anshuman.aggarwal@gmail.com> wrote:
Ron, Do you have any link to point me towards developing this solution. I get at a high level what you are suggesting but would like to reuse whatever work has already been done towards this. If the technique is widely used, what do I google or look around for?
I see several options. I should also mention that one company, coraid, used an ethernet console for years in their products. This has been done before, starting decades ago.
You can look at the NETCONSOLE in the linux kernel and see if that will work. I used it for years at los alamos.
You can see about porting the cec code to linux. It is available here, https://github.com/Harvey-OS/harvey/blob/master/sys/src/9/port/devcec.c, and it has been reworked to compiled with gcc or clang, so it's matter of shimming it in. For best results, put it into linux as a vfs, not a device.
If you do want to do that port to linux, and do it as a VFS, I'm interested in helping. Note that in plan 9 devices look like a linux vfs so it's not a huge stretch. Further, when we ported the capabiltiy device from plan 9 to linux, it became an fs in linux, so there's precedent.
I think putting an IP stack into firmware is an endless task, and it won't be fun. Just put linux in firmware and use all the goodness, including working IP6 stack, that comes with it.
I'm back to doing that in both UEFI (via NERF) and coreboot and it works just fine.
ron