Subject: Looking for advice on reworking ARP to support IP->MAC
To: None <>
From: Ignatios Souvatzis <>
List: tech-kern
Date: 02/28/1996 15:24:43
   Date: Wed, 28 Feb 1996 01:32:31 -0800
   From: Jonathan Stone <>

   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.

	Ignatios Souvatzis