Subject: Looking for advice on reworking ARP to support IP->MAC
To: None <jonathan@dsg.stanford.edu>
From: Ignatios Souvatzis <ignatios@cs.uni-bonn.de>
List: tech-kern
Date: 02/28/1996 15:24:43
Date: Wed, 28 Feb 1996 01:32:31 -0800
From: Jonathan Stone <jonathan@dsg.stanford.edu>
I have a question: how can the ARP code be divorced from Ethernet
drivers, and be used for a non-Ethernet device, specifically
a packet-mode driver for Metricom Ricochet radios?
I have a seperation of ARP from Ethernet 80% ready since last autumn,
but didn't manage to clean it up for submission in time to get it into
-1.1... Hm, looks like I should shuffle it higher in my TODO list.
The MosquitoNet design approach is to pre-load the radio MAC
addreseses (8-digit phone numbers) and associated IP addresses into
each machine's ARP cache. They've added a new ARP encoding for Linux
specifically to do this.
Hm? Did they _register with IANA_ a hardware type id?
That seems to me like a sound design (compared to the alternatives),
and I'd like to follow it. However, doing that will necessitate some
non-trivial changes to the ARP code, which is currently tightly
coupled to Ethernet-specific subroutines.
* The assumption that only Ethernet devices need to look up
and/or enter ARP addresses nees to be removed.
* The ARP table needs to support a hardware address type
other than 48-bit Ethernet/IEEE 802 addresses.
both addressed by my changes. I really should merge them to my current
-current tree, and test them with Ethernet (to date only tested with
ARCnet... hardware id 7, address length 1 byte :-).
* Because the Metricom radios are not broadcast-addressable,
using ARP in this way would mean updating the ARP lookup
code, so that if an ARP lookup is done for an address
reachable via an interface that DOES NOT have IFF_BROADCAST
set, the ARP layer fails immediately, rather than
trying to broadcast an ARP address.
Hm. hm. doesn't sound too bad.
Regards,
Ignatios Souvatzis