[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ANTS-2.0 DANTE Dies



> 
> 	I think I have a handle on this.  "DANTE Dies" is
> inappropriate; "DANTE becomes Dreadfully Confused" is more precise.
>
> 	The next time that the DANTE code allocates the same virtual
> IP address, the Node.java code merrily discovers that it already has
> an OutChannel for the virtual IP address, and sends the packet down
> it.  Unfortunately, at this point that's the *wrong* output channel,
> because, as I said, my edge node uses a different port number each
> time it sends a DANTE JOIN request, and the hashed OutChannel uses an
> *old* port number.
> 
> 	I don't see any way in Node.java to clear obsolete
> associations from outChannels!

I think you nailed it, nice work.

> 	I see two avenues of attack on the problem.  The first would
> be for Node.java to export something to Dante that can be used to
> close the OutChannel for a virtual IP address and delete it from
> outChannels.  The second avenue is that sendToNeighbor() (and
> routeForNode()?) could be a little more paranoid, and check that the
> physical parameters of the cached OutChannel match the actual
> parameters of the capsule.

I think the first option exists already in NeighborTable.removeNeighbor.
Could you add the following bits of code and see if it fixes anything?

Node.java:

 void removeOutChannel(int logicalAddress)
 {
     outChannel.remove(new Integer(logicalAddress));
 }

NeighborTable.java:removeNeighbor():425

 Node.currentNode().removeOutChannel(address);


> 					Craig Milo Rogers

thanks,

tim stack




[ Janos ] [ OSKit ] [ Network Testbed ] [ Flick ] [ Fluke ]
Flux Research Group / Department of Computer Science / University of Utah