Bug #3874
closedHR does not recalculate paths after status change of a neighbor
100%
Description
When NLSR gets hello data back and the status of a neighbor changes LS routing schedules an adjLsa rebuild but HR does not do anything.
https://github.com/named-data/NLSR/blob/master/src/hello-protocol.cpp#L209
https://github.com/named-data/NLSR/blob/master/src/lsdb.cpp#L579
It should recalculate the paths.
I have attached the NLSR log file of node "caida" from a test run.
On line 4250 it says:
2016-12-02-13:17:34.700 TRACE: [RoutingTableCalculator] /ndn/ufpa-site/%C1.Router/cs/ufpa is inactive; not using it as a nexthop
On line 6312, after ~1 second the Hello data for the node ufpa gets to caida:
20161202131735517 DEBUG: [HelloProtocol] Received data for INFO(name): /ndn/ufpa-site/%C1.Router/cs/ufpa/NLSR/INFO/%07%26%08%03ndn%08%0Acaida-site%08%08%C1.Router%08%02cs%08%05caida/%FD%00%00%01X%C0%C1%7B%80
20161202131735517 DEBUG: [HelloProtocol] Data signed with: /ndn/ufpa-site/%C1.Router/cs/ufpa/NLSR/KEY/ksk-1480702644649/ID-CERT
20161202131735517 DEBUG: [HelloProtocol] Data validation successful for INFO(name): /ndn/ufpa-site/%C1.Router/cs/ufpa/NLSR/INFO/%07%26%08%03ndn%08%0Acaida-site%08%08%C1.Router%08%02cs%08%05caida/%FD%00%00%01X%C0%C1%7B%80
20161202131735517 DEBUG: [HelloProtocol] Neighbor : /ndn/ufpa-site/%C1.Router/cs/ufpa
2016-12-02.13:17:35.517 DEBUG: [HelloProtocol] Old Status: 0 New Status: 1
But recalculation is not done till the next LSA refresh (default is set to 30 minutes)
Files
Updated by Ashlesh Gawande almost 10 years ago
Appropriate fix would be to add the line:
m_nlsr.getRoutingTable().scheduleRoutingTableCalculation(m_nlsr);
at https://github.com/named-data/NLSR/blob/master/src/lsdb.cpp#L580
So it will schedule a routing table calculation if one is not already scheduled.
So any Hello Data that come after the "Routing calculation interval (default 15)" and changes the the state it will trigger a routing table recalculation.
(Default First Hello Interest is at 10 seconds)
I am not seeing any missing paths in NFDs FIB after applying this fix.
Updated by Ashlesh Gawande almost 10 years ago
Better to add it here:
https://github.com/named-data/NLSR/blob/master/src/hello-protocol.cpp#L209
Updated by Ashlesh Gawande almost 10 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100