ONOS pathing and routing

273 views
Skip to first unread message

Taehyeun Park

unread,
Nov 4, 2021, 8:50:50 PM11/4/21
to onos...@onosproject.org, Joshua M Sasaki

Hello,

 

We have some questions about data forwarding and route finding methods in ONOS:

  1. We believe that PathService is the primary service in ONOS that is responsible for computing a data path between devices and/or hosts. However, is it possible for us (via CLI, Rest API, Java API, etc) to manually configure a data path between devices and/or hosts? We want to specify a path between a node A and a node B, overriding the shortest path determined by PathServce. One way we could specify a path would be via routing lookup table. We would also see this path between node A and node B via ‘paths’ command in CLI to make sure.
  2. We believe ONOS implemented some shortest path algorithms (i.e. Bellman-Ford, Dijkstra, breath-first, etc).
    1. Do these algorithms have link/edge weights (or costs) implemented? If so, can we configure the weights/costs?
    2. Can we replace the route search algorithm to our custom route search algorithm?

 

Please let know us of all options/methods for the questions above, even if they are not recommended or intended to be used in that way.

 

Thank you for your help, and please let me know if you need any clarification.

 

-Taehyeun Park

 

 

Thomas Vachuska

unread,
Nov 11, 2021, 2:55:18 PM11/11/21
to Taehyeun Park, onos...@onosproject.org, Joshua M Sasaki
The PathManager component, which implements PathService also implements PathAdminService that can be used to either apply a custom link weight function or even custom path search function. Such functions can be one of those provided by the ONOS codebase, e.g. Dijkstra, Bellman-Ford, etc. or it can be one of your own. If you do this, then all components that rely on the PathService to provide path computation, will now start receiving paths computed by your own path search algorithm.

To apply such setting, you would develop your own application whose component would at startup obtain the PathAdminService reference and then use it to set the system-wide path search function and/or link weight computation function.  Presently, there is no good way to do this via REST API so you’ll have to rely on this Java API.

If all you require is tailoring specific link weights, you can use the network configuration subsystem to inject link metric via BasicLinkConfig and its JSON-based configuration. 

Hopefully this helps.

Thomas

-- 
You received this message because you are subscribed to the Google Groups "ONOS Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to onos-dev+u...@onosproject.org.
To view this discussion on the web visit https://groups.google.com/a/onosproject.org/d/msgid/onos-dev/SA9PR09MB59358E56F6D21766A39425518E8E9%40SA9PR09MB5935.namprd09.prod.outlook.com.

Reply all
Reply to author
Forward
0 new messages