Project

General

Profile

Actions

Bug #3874

closed

HR does not recalculate paths after status change of a neighbor

Added by Ashlesh Gawande over 7 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
High
Target version:
Start date:
12/02/2016
Due date:
% Done:

100%

Estimated time:

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

nlsr.log (754 KB) nlsr.log Ashlesh Gawande, 12/02/2016 10:42 AM
Actions #1

Updated by Ashlesh Gawande over 7 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.

Actions #2

Updated by Ashlesh Gawande over 7 years ago

  • Assignee set to Ashlesh Gawande
Actions #4

Updated by Ashlesh Gawande over 7 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100
Actions #5

Updated by Nicholas Gordon over 7 years ago

  • Target version set to v0.3.1
Actions

Also available in: Atom PDF