sbyx / hnetd

HomeNet-CP implementation (WIP)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gets stuck in a loop with prefixes constantly disappearing and reappearing

toreanderson opened this issue · comments

Occasionally hnetd gets stuck in a loop where prefixes on the hnet interfaces are constantly disappearing and reappering. When this happens the network isn't really usable anymore, until I reboot the router. I have no idea what causes the issue - last time it happened, I was asleep.

I have uploaded some debugging information here. I've tried to prefix all the logs with timestamps, but since the logs were gathered over a rather unstable SSH connection that might have been temporarily stalled some of them might not be accurate.

In particular the logread.txt file shows the constant topology changes going on. The ping sessions (taken from my laptop) show how connectivity comes and goes. ifstatus_hnetdump.txt is output from a while sleep 1; do date; ifstatus e0; ifstatus e1; ifstatus e2; ifstatus e3; ifstatus e5; ifstatus w24; ifstatus w5; hnet-dump; done.

RAs.pcap contain the RAs received by my laptop while connected to the w5 interface. It shows how the router lifetime, as well as the preferred lifetime of the GUA prefix, sometimes gets advertised as 0.

Hmm, the log output was somewhat terse(!), I wonder if the log level is less than 7 (look at /etc/init.d/hnetd and uncomment the part with --log-level 7 if that is the case).

My theory is that the multicast group join gets borked at some point, and then it will no longer receive the multicast keep-alives. I would rather see this verified before I commit any ugly atrocities that address the issue (=in case of topology, re-join group on all interface(s)).

BTW, pcap-wise, HNCP protocol tcpdump would be probably most useful; that would allow establishing if the hypothesis I posit above is actually what happens.

Is this bug still valid with more recent builds you use btw?

I haven't seen it happen recently no, so we can just close it for now. If it does show up again, I'll re-open.