[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