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