From: Janet Davis (jlnd_at_cs.washington.edu)
Date: Wed Feb 04 2004 - 12:40:34 PST
On Wed, 4 Feb 2004, Janet Davis wrote:
> I think the issue is actually "ghost nodes" on the emulated class network;
> my "confused node" is receiving link state packets from node 1 that my
> node 1 is not sending. I think there is another node 1 (!) that has been
> sending these packets.
>
> Clearly, trawler could use some debugging so that these address assignment
> issues don't happen.
More on this (if you are interested). Here's what I wrote to Evan and
Harsha about my theory of what is causing the emulator problem:
+++
Today I realized the true wisdom of a feature of the C version of fishnet
that is missing from the ruby version.
In the C version, if the trawler dies, all of the attached nodes die with
it. I believe this was implemented by having all the nodes maintain a TCP
socket open to the trawler; if that socket is closed, the node commits
suicide.
The advantage is that if the trawler dies and is restarted, there are not
any lingering nodes from the last instantiation that the trawler doesn't
know about. In the ruby version, these "ghost nodes", as I've been
calling them, wreak havoc by usurping another node's address and sending
packets that contain misinformation about the state of the network (since
the trawler can't send the ghost nodes information about topology
changes).
+++
This is probably what was causing my inconsistent LSDBs: one or more nodes
were receiving Link State packets that described a network topology from
before when the trawler was restarted. (And of course, trying to diagnose
the problem, I restarted the trawler, which didn't help.)
Cheers,
Janet
-- Janet Davis jlnd_at_cs.washington.edu http://www.cs.washington.edu/homes/jlnd/ _______________________________________________ Cse461 mailing list Cse461_at_cs.washington.edu http://mailman.cs.washington.edu/mailman/listinfo/cse461
This archive was generated by hypermail 2.1.6 : Wed Feb 04 2004 - 12:40:38 PST