delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/02/06/19:06:28

Sender: rich AT phekda DOT freeserve DOT co DOT uk
Message-ID: <3A805D3D.9A91AD2B@phekda.freeserve.co.uk>
Date: Tue, 06 Feb 2001 20:23:25 +0000
From: Richard Dawe <rich AT phekda DOT freeserve DOT co DOT uk>
X-Mailer: Mozilla 4.51 [en] (X11; I; Linux 2.2.17 i586)
X-Accept-Language: de,fr
MIME-Version: 1.0
To: DJGPP newsgroup <djgpp AT delorie DOT com>
CC: libsocket Mailing List <libsocket AT egroups DOT com>,
Wojciech Galazka <wojciech DOT galazka AT polkomtel DOT com DOT pl>
Subject: Re: Ending development of libsocket
References: <3A745502 DOT 497CA8DF AT phekda DOT freeserve DOT co DOT uk> <95ngpf$bk9$1 AT pippin DOT nask DOT waw DOT pl>
Reply-To: djgpp AT delorie DOT com

Hello.

I'm CC'ing the libsocket list on my reply, since it's relevant.

Wojciech Galazka wrote:
[snip]
> Since the mission is to develop a BSD compliant networking library then
> I'd consider a entry level library that supports:
> * data link level
> * ARP / RARP
> * IP + fragmentation  (both IPv4 & INv6)
> * ICMP
> * UDP
> * no TCP at the moment
> * limited ioctls
> * no selec()t, pool() (oh no , perhaps could anyone suggest select()
> under DOS ?)
> * no async i/o

I would suggest that support of the Unix98 specification's networking is
about all you need, from an applications point of view. TCP support is
IMHO required, if the library is to be any use. This is much more vital
than RARP/BOOTP/DHCP support for getting addressses.

ioctl support could just be FIONBIO, for flipping into non-blocking mode,
since not much else is used. select() is probably also a requirement.
DJGPP doesn't support multithreading, so select() is the only the real way
of supporting multiple connections in a server.

IPv6 support is probably an ambitious aim, since it's still changing. BTW
I don't think the concept of fragmentation exists in IPv6 as it does in
IPv4. I think path MTU discovery is always used. All network types have to
support minimum MTU packets (1280 bytes, if memory servers), so senders
can always fall back to that packet size.

> Dave took the top-down approach, that is with wsock.vxd he got TCP and
> UDP protocols and tried to go down to IP which is almost impossible
> under Windows as most of the stack inrternals are undocumented
> I'd opt for quite the opposite direction

Dave is my brother. ;) I think you mean "Dawe", my last name. 8)

Going down to IP has never been an option. ICMP echo ("ping") would be
possible, by writing a helper application that uses the ping DLL. It never
seemed that important, though.

Writing it from the bottom only makes sense on DOS, where you have direct
hardware access. I remember you suggested porting the BSD stack a while
ago. That would give you a TCP/IP stack more advanced than Watt-32,
because FreeBSD's stack currently has support for IPv4, IPv6, IPSec (AH
and ESP). I'm not sure how simple it would be to port the IPSec facilities
though.

> PS Could anyone, please, forward this to the dossock list, I can post at
> the usenet only now

Yes, done. I sent it to the libsocket list too, so that this reply makes
sense.

Bye,

-- 
Richard Dawe <richdawe AT bigfoot DOT com> http://www.bigfoot.com/~richdawe/ 

"The soul is the mirror of an indestructible universe."
--- Gottfried W. Leibniz

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019