Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Chaosnet over Ethernet?

72 views
Skip to first unread message

Pat Barron

unread,
Oct 16, 2005, 6:12:08 PM10/16/05
to
Does anyone know if there was ever an actual spec for using Ethernet as
the underlying transport for Chaosnet data? I know that Chaosnet does
have its own Ethernet type (0x0804), but I can't find any references to
anything that actually used this. I am guessing that any Ethernet
encapsuation would use the "traditional" ARP protocol to do address
resolution, but again, have never seen any real implementations.

--Pat.

bjorn....@gmail.com

unread,
Nov 6, 2005, 8:32:10 AM11/6/05
to

"Traditional" ARP was used, and as far as I can understand (from
looking at Explorer code) the (datalink) Chaos trailer (dest, source,
crc) was empty/ignored (but existing) in the Ethernet packets.

-- Bjorn

bjorn....@gmail.com

unread,
Nov 8, 2005, 7:11:52 PM11/8/05
to
I now checked the (running) Symbolics implementation, which adds a
"dummy" trailer with the correct destination address, empty (zero)
source address, and a checksum of -1 (#xFFFF).

Pat Barron

unread,
Nov 9, 2005, 1:14:55 AM11/9/05
to
Thanks, Bjorn - this is exactly the kind of info I was looking for!

--Pat.

bjorn....@gmail.com

unread,
Nov 10, 2005, 7:59:31 PM11/10/05
to
What are you doing with Chaosnet?

I have used it relatively much lately, implementing Chaos-over-UDP for
the KLH10 emulator (running ITS), interfacing/bridging this to
Chaos-over-unix-sockets for the CADR emulator, and most recently
interfacing/bridging Chaos-over-UDP to Chaos-over-Ethernet to let the
Symbolics machine talk to the others (still minor things to clean up).

-- Bjorn

Pat Barron

unread,
Nov 11, 2005, 11:38:38 AM11/11/05
to
I've been toying with the idea of building a Chaosnet implementation
for FreeBSD - not for any particularly good reason, just 'cause I want
to, and to get some experience with dropping a new protocol stack into
the system.

I'm still trying to figure out how one would go about using ARP for
anything other than IP.

bjorn....@gmail.com

unread,
Nov 12, 2005, 6:50:13 AM11/12/05
to

Pat Barron wrote:
> I've been toying with the idea of building a Chaosnet implementation
> for FreeBSD - not for any particularly good reason, just 'cause I want
> to, and to get some experience with dropping a new protocol stack into
> the system.

A good start could be the BSD (4.1?) implementation, which was also
ported to Linux (see e.g. http://www.heeltoe.com/software/hacks/chaos/)
- I haven't seen it in action though.

> I'm still trying to figure out how one would go about using ARP for
> anything other than IP.

That's the easiest part. ARP is protocol neutral, you just fill in the
protocol types and address lengths. I've implemented this in the
Chaos-over-Ether to Chaos-over-UDP bridge.

-- Bjorn

Pat Barron

unread,
Nov 13, 2005, 1:36:51 AM11/13/05
to
bjorn....@gmail.com wrote:
> > I'm still trying to figure out how one would go about using ARP for
> > anything other than IP.
>
> That's the easiest part. ARP is protocol neutral, you just fill in the
> protocol types and address lengths. I've implemented this in the
> Chaos-over-Ether to Chaos-over-UDP bridge.

I'll admit to not knowing *quite* enough about the network code to know
if it's easy or not - I'm sort of given pause by seeing that the man
page for arp (at least in pre-6.x versions of FreeBSD) has text to the
effect of "ARP is not specific to either Ethernet, or IP, but this
implementation supports only that combination" (or words to that
effect). I know that there's support for things other than Ethernet
(such as ARCNET, Token Ring, FDDI), but the kernel code does appear to
make some assumptions that ARP is not used by anything other than IP.
I'm not real sure how easy it would be to make the necessary changes to
let ARP be used by any other protocol family.

There are also some changes needed to the user space "arp" command,
because it's also hardwired to believe that IP is the only thing that
will ever be trying to use ARP.

--Pat.

Ignatios Souvatzis

unread,
Feb 10, 2006, 8:13:03 AM2/10/06
to
On 2005-11-13, Pat Barron wrote:

> I'll admit to not knowing *quite* enough about the network code to know
> if it's easy or not -

Read Stevens/Wright, TCP/IP Illustrated, Volume 2. At least everything
between ip_output() and ether_output() and ether_input() and the ARP
stuff. There are nice call diagrams, too.

Then read my paper "The New Link-Level Independent ARP Subsystem of NetBSD"
[1]

> I'm sort of given pause by seeing that the man
> page for arp (at least in pre-6.x versions of FreeBSD) has text to the
> effect of "ARP is not specific to either Ethernet, or IP, but this
> implementation supports only that combination" (or words to that
> effect). I know that there's support for things other than Ethernet
> (such as ARCNET, Token Ring, FDDI), but the kernel code does appear to
> make some assumptions that ARP is not used by anything other than IP.
> I'm not real sure how easy it would be to make the necessary changes to
> let ARP be used by any other protocol family.

I've changed NetBSD ARP to be able to use non-Ethernet as the layer below.
Back then, the Free- and OpenBSD network gurus I concated seemed not to be
interested, although I think that some FreeBSD activity happened later; the
guy in question pointed out a potential problem to me.

I didn't think about a different upper layer. But the method would be the
same:

Basically, it's easy - remove the fixed-size field definitions for the
ARP payload, create access macros, use them everywhere.

ARP packets have the length of the addresses embedded, so you can use
them everywhere once you have set them.

So you'll need changes to the PF_INET/AF_INET part of ether_output(),
which are minor, and add the PF_CHAOS part.

Of course, you'd have to check for consistency, especially on received
packets; and add the PF_CHAOS case to the switch in the ARP-input function
in the ethernet input path.

No real performance problem should happen, as ARP results are cached for
long times (several seconds at least).

Regards,
-is

[1] http://ezine.daemonnews.org/199809/underhood.html

0 new messages