Project

General

Profile

Actions

Feature #5349

open

Add prefix weighting to NLSR

Added by Alexander Lane 2 months ago. Updated about 16 hours ago.

Status:
In Progress
Priority:
Normal
Target version:
-
Start date:
04/28/2025
Due date:
% Done:

0%

Estimated time:
(Total: 0.00 h)

Description

NLSR currently provides no ability to weigh prefixes announced by a node anything other than flatly. While this works for many circumstances, this fails to cover a large number of use cases in which nodes may want to incentivize or disincentivize requesting their own prefixes. Adding this will give more flexibility to routers to control the circumstances under which they request specific data.

In the short-term, our plan is to provide a simple version that adds these costs directly onto the routing costs for the destination which announced the Name; this is meant to address some issues with a lack of support for longest-prefix match for NDN Workspace and should provide some utility. In the mid-term, these costs should be factored into routing.


Checklist

  • Change internal storage of prefixes to also store costs
  • Adjust protocol design so Name LSA stores cost
  • Ensure cost is stored and retrieved properly from Name LSA
  • Adjust NFD readvertisement to supply cost
  • Inherit cost from readvertised routes
  • Add Name LSA cost onto routing costs (Temp change)
  • Modify unit tests for NPL and Name LSA
  • Modify other unit tests to handle issues with type changes
  • Fix #5358
  • Add the ability to disable this behavior if desired
  • Allow specification of cost from configuration files
  • Allow specification of cost from NLSRC
  • Add "virtual link" support for routing to allow for destinations to include prefixes
  • Create "virtual links" based on NDN names
  • Use "virtual link" costs for routing
  • Revert temp change after "virtual link" implementation

Subtasks 1 (1 open0 closed)

Task #5361: Adjust PrefixUpdateProcessor to more robustly handle configuration formatNewAlexander Lane04/28/2025

Actions
Actions #1

Updated by Alexander Lane 24 days ago

  • Priority changed from Urgent to Normal
  • % Done changed from 0 to 50
Actions #2

Updated by Alexander Lane 20 days ago

  • Status changed from New to In Progress
Actions #3

Updated by Alexander Lane 20 days ago

We are pushing the initial implementation in the near future; however, the fully expanded functionality (integrating into routing calculation) still needs to be implemented and merged. Current behavior is that route costs should not be added locally for re-advertisement if this behavior is not desired, should add to docs before doing so.

Actions #4

Updated by Junxiao Shi 19 days ago

Would this feature require updates to the LSDB_DataSet structure?
If so, remember to update the wiki page.

Actions #5

Updated by Alexander Lane 17 days ago

Junxiao Shi wrote in #note-4:

Would this feature require updates to the LSDB_DataSet structure?
If so, remember to update the wiki page.

Thanks for the pointer, I submitted the adjustments needed.

Actions #6

Updated by Alexander Lane 17 days ago

Working on the configuration and NLSRC based options to configure this value; however, full support for adding/removing prefixes from configuration file in state directory will require additional work.

Actions #7

Updated by Alexander Lane 17 days ago

  • Subtask #5361 added
Actions #8

Updated by Junxiao Shi 16 days ago

Alexander Lane wrote in #note-5:

Junxiao Shi wrote in #note-4:

Would this feature require updates to the LSDB_DataSet structure?
If so, remember to update the wiki page.

Thanks for the pointer, I submitted the adjustments needed.

Definition of PrefixInfo TLV is missing.

Actions #9

Updated by Alexander Lane 16 days ago

Junxiao Shi wrote in #note-8:

Alexander Lane wrote in #note-5:

Junxiao Shi wrote in #note-4:

Would this feature require updates to the LSDB_DataSet structure?
If so, remember to update the wiki page.

Thanks for the pointer, I submitted the adjustments needed.

Definition of PrefixInfo TLV is missing.

Sorry I missed that, should be fixed.

Actions #10

Updated by Junxiao Shi about 16 hours ago

As of LSDB_DataSet rev16, definition of Cost is missing.

Actions

Also available in: Atom PDF