Subject: Re: link-level routes - how to?
To: Christos Zoulas <christos@zoulas.com>
From: Bill Studenmund <wrstuden@loki.stanford.edu>
List: tech-kern
Date: 12/12/1997 10:58:27
> You need to keep the aarp table in the routing table instead of a locally
> defined one. Or in english:
> 
> You need to rewrite netatalk/aarp.c in the way that netinet/if_arp.c is
> written. I meant to do this at some time (it is not hard, just tedious),
> but never found the time.

I'd appreciate suggestions!

I looked at the code, and was a little confused by llinfo. I thought it
was a local list. :-( It looked close-enough that I didn't look closer.
Now that I've looked closer, I think I understand.

So basically:

1) the target address and ethernet address are stuffed in a route,
with the link-level atribute set. The aarptab structure looses the
target address and hardware address (fields aat_ataddr and aat_enaddr)
and gains a pointer to the route (aat_rt ?) and a linked-list entry
(say aat_list ?). ?? aat_timer, aat_flags, and aat_hold stay the same. ?

2) When an aarp entry is created, a route is added, possably with a
null destenation address.  When the address is resolved, it it thrown
in the route. When an aarp entry dies, so does the route.

Does that sound about right?

Are there any other examples besides ifnet?

Take care,

Bill