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 8 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 8 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 8 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100