Idea for quick TCP/IP stack

General discussion about Visopsys. We'll create more specific forums if the number of posts justifies that.
Post Reply
User avatar
ronaldlees
Posts: 118
Joined: Tue May 20, 2014 5:19 pm

Idea for quick TCP/IP stack

Post by ronaldlees » Tue Sep 29, 2015 9:36 pm

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

User avatar
andymc
Posts: 560
Joined: Tue Nov 16, 2010 7:20 pm

Re: Idea for quick TCP/IP stack

Post by andymc » Tue Sep 29, 2015 10:25 pm

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

User avatar
ronaldlees
Posts: 118
Joined: Tue May 20, 2014 5:19 pm

Re: Idea for quick TCP/IP stack

Post by ronaldlees » Thu Oct 01, 2015 1:07 pm

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

User avatar
andymc
Posts: 560
Joined: Tue Nov 16, 2010 7:20 pm

Re: Idea for quick TCP/IP stack

Post by andymc » Thu Oct 01, 2015 1:26 pm

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

Post Reply