RIPng

Kazuhiko Yamamoto 山本和彦 kazu@is.aist-nara.ac.jp
Sat, 10 Aug 1996 15:23:39 +0900


From: dhaskin@baynetworks.com (Dimitry Haskin)
Subject: Re: RIPng
Date: Fri, 9 Aug 96 10:32:47 EDT

> > If RIPng doesn't use link-local addresses as the source address,
> > routed can determine the interface where RIPng comes by checking its
> > source address with address of interface.
> >
> The source address IS the address of the interface where RIPng comes from.

I don't understand this. If a source address is link-local, the
address isn't unique over multiple links.  So, we can't figure out the
interface where the packet comes from by checking only the source
address.

If routed opens one socket per one neighbor, we can figure out an
input interface:

	(1) BSD implementation saves a pointer to the input interface
	   in mbuf(i.e. the received packet).
	(2) Find a PCB where not only group addresses match but also
	   a pointer in PCB and the pointer in the packet match.
	   (Of course, we need to modify the PCB data structure.)
	(3) Pass the packet to routed via the PCB. The socket tells
	   routed the neighbor which sent the packet.

Unfortunately, some routing daemon don't take this way. That is, just
open one unbinded-and-unconnected socket for all neighbors then use
sendto() function. So, Atushi said that we need a new API.

This problem can be generalized to "an address scope problem" which
the Internet has not experienced. We WIDE project had two meetings to
discuss this problem but we have not achieved even rough consensus
yet. 

It is felt that there are many models for address scope and each has
both advantages and disadvantages. I'm now hesitating to submit an ID
about this problem which I wrote weeks ago. WIDE project is planning
to have one more meeting on this problem around 8/23.

--Kazu