Page 1 of 1

Idea for quick TCP/IP stack

Posted: Tue Sep 29, 2015 9:36 pm
by ronaldlees
The idea of porting a full blown TCP/IP stack is not trivial. At this point, Visopsys probably doesn't need a full blown bells and whistles stack, but I bet there are times when it would be handy to have networking (for copying stuff during development, etc). I found a micro stack (really intended for embedded applications) - that has a BSD style license, and might work as an interim enabler for TCP/IP. The link is here:


http://savannah.nongnu.org/projects/lwip/

It's called lwIP (lightweight IP). I wonder if anybody here has heard of that one. Its gzipped tarball is only about 500k in size. LwIP can be set up for polling or interrupt mode.

Here's a OS porting help wiki:

http://lwip.wikia.com/wiki/Porting_for_an_OS


- Ron

Re: Idea for quick TCP/IP stack

Posted: Tue Sep 29, 2015 10:25 pm
by andymc
Hi Ron,

For sure, networking is high on the agenda now. You should be seeing see 0.8 quite soon, and then networking will be the main new feature of 0.9. I was planning to write a stack (there's already some UDP/IP and other bits) but I'll also have to write a few device drivers for network cards. In the meantime, it wouldn't hurt to try porting a stack I guess, if someone wants to give it a go :-). There's a network card driver for Lance/PcNet, which works in VMware and (maybe VirtualBox? Can't remember which other one).

Andy

Re: Idea for quick TCP/IP stack

Posted: Thu Oct 01, 2015 1:07 pm
by ronaldlees
Hi Andy:

I notice you like to write most of the system yourself. I guess that puts your personal imprint on it, and has the advantage that you'll really know the software inside and out, forward and backward, etc. Porting a project doesn't necessarily give you either one of those things. So - I can see how you'd like to go the home-brew route.

I've worked with the Visopsys lance driver a little bit, and can see that you've already started some good work there. I've really always been a userland coder (in terms of networking, that means mostly sockets on MS and *NIX platforms) - but I might tinker around with the lwIP code on Visopsys, just for grins (and with no high expectations :-).

I know others have put wish lists on the forum, asking for a browser. Of course, lots of other things, network related, have to come before the browser. They'll be glad to see versions 9.x and beyond.

- Ron

Re: Idea for quick TCP/IP stack

Posted: Thu Oct 01, 2015 1:26 pm
by andymc
Well yes, one doesn't start writing an operating system from scratch, if one doesn't enjoy reinventing the wheel ;-)

When I started Visopsys, it was from a personal desire to learn everything from the ground up. That has paid off; I probably have my career because of it. And I've also enjoyed it immensely.

Version 0.8 has a compression library (gzip compression plus tar). When I was developing it I was stumped about something, and asked one of my brilliant programmer friends for help. He asked why didn't I just use zlib. That certainly would be easier, but I wouldn't learn anything.

IIRC I wrote a simple TCP protocol in Uni, for a computer communications class. I'm looking forward to doing the real thing.

Now, things like web browsers, and other applications software, I'd certainly like to see those things ported to Visopsys. I have no strong desire to create my own :-) I think the system-level stuff can keep me busy and entertained for the foreseeable future.

Andy