Hello
I keep trying running netsukuku on netkit.
I removed a problem by applying the attached patch [1]
I am definitely unsure if this is the correct solution, it works
AFAICT on my system.

That said, I am now running into another error. I launch ntkd in 2
machines in the same collision domain. When the second machine is up
and begins to send Radar packets, the first machine arrives to this
piece of code:

        # now we cycle through the new ip_table
        # looking for nodes who weren't in the old one
        # or whose rtt has sensibly changed
        for key in ip_table:
            # if a node has been added
            if not key in self.ip_table:
                # generate an id and add the entry in translation_table
                self.ip_to_id(key)

                # create a TCP connection to the neighbour
                self.ntk_client[key] = rpc.TCPClient(ip_to_str(key))

                # send a message notifying we added a node
                self.events.send('NEIGH_NEW',
                                 (Neigh(bestdev=self.ip_table[key].bestdev,
                                        devs=self.ip_table[key].devs,
                                        idn=self.ntk_client[key],
                                        ip=key,
                                        netid=self.netid_table[key],
                                        ntkd=self.translation_table[key])))

See [2] for the stacktrace.
When it tries to instantiate Neigh, it uses self.ip_table[key] but it
isn't there.
ip_table[key] is there. Not self.ip_table.

I'm not sure what to do. The comment 'send a message notifying we
added a node' seems to suggest that I have to add ip_table[key] to
self.ip_table.  I will try to do this while I'm awaiting for your
comments.

Regards
--Luca

[1] /home/luca/Desktop/start_rpc_on_all_nics.patch

[2] stacktrace prior to the error
(Pdb) w
  /root/netsukuku/trunk/pyntk/ntk/core/radar.py(371)run()
-> self.radar()
  /root/netsukuku/trunk/pyntk/ntk/core/radar.py(390)radar()
-> self.neigh.store(self.get_all_avg_rtt())
> /root/netsukuku/trunk/pyntk/ntk/core/radar.py(238)store()
-> self.events.send('NEIGH_NEW',
(Pdb)
Index: pyntk/ntk/ntkd.py
===================================================================
--- pyntk/ntk/ntkd.py	(revision 1513)
+++ pyntk/ntk/ntkd.py	(working copy)
@@ -87,9 +87,11 @@
 
             for nic in self.nic_manager:
                 self.nic_manager[nic].filtering(enable=False)
+                rpc.MicroTCPServer(self, ('', 269), nic, self.simnet, self.simme, self.simsock)
+                rpc.MicroUDPServer(self, ('', 269), nic, self.simnet, self.simme, self.simsock)
+        else:
+            rpc.MicroTCPServer(self, ('', 269), None, self.simnet, self.simme, self.simsock)
+            rpc.MicroUDPServer(self, ('', 269), None, self.simnet, self.simme, self.simsock)
 
-        rpc.MicroTCPServer(self, ('', 269), None, self.simnet, self.simme, self.simsock)
-        rpc.MicroUDPServer(self, ('', 269), None, self.simnet, self.simme, self.simsock)
-
         self.radar.run()
         self.hook.hook()
_______________________________________________
Netsukuku mailing list
[email protected]
http://lists.dyne.org/mailman/listinfo/netsukuku

Reply via email to