All paths between two devices

71 views
Skip to first unread message

Sofiane MESSAOUDI

unread,
Mar 9, 2022, 9:59:10 AM3/9/22
to ONOS Developers
Hello,

Can anyone guide me how I can get all available paths between two devices ? I tried getPaths() but it returns the set of shortest paths, not all available paths. 

So i know that i should customize the onos java classes related to that but i can't find which class or parameter to changer exactly !!! 

Thanks

Sofiane

Hadi Kahraman

unread,
Mar 9, 2022, 10:54:14 AM3/9/22
to ONOS Developers
ONOS path computation is based on Dijkstra algorithm, which computes the "shortest" (minimum total "cost") path only:

DijkstraGraphSearch.java

Five years ago we (Argela) developed a modified algorithm calculating best N paths based on multi-parameter cost computation functions. It was a military project, therefore I cannot share the code.

If someone else didn't add similar functionality to ONOS -which I don't know-, then you need to develop your own.

There is a KShortestPathsSearch class in ONOS, but it didn't work as expected. Maybe we were doing something wrong. Maybe it was fixed later. You can check it.

Sofiane MESSAOUDI <sofianem...@gmail.com>, 9 Mar 2022 Çar, 17:59 tarihinde şunu yazdı:
--
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/87ee6b3d-63a8-4c00-b55f-abc16906f85bn%40onosproject.org.

Sofiane MESSAOUDI

unread,
Mar 9, 2022, 11:08:59 AM3/9/22
to ONOS Developers, hadi.k...@gmail.com
Thank a lot hadi,

But i don't need any cost computation algorithm, i just need to return all the available paths between host 1 and host 2 or device i and device j, that's all and i don't know what to do!or to change in DijkstraGraphSearch.java for example.

Regards,
Sofiane

Eder Ollora

unread,
Mar 9, 2022, 4:29:10 PM3/9/22
to ONOS Developers, sofianem...@gmail.com, hadi.k...@gmail.com
Hi Sofiane,

I imagine that the reason why there is no pathService.getAllPossiblePaths(Node_a, Node_b) is because it is very hard to compute (here some info on why). I do not remember how the LinkWeigher works in ONOS but in case this variable is used to return paths that match a particular metric, then why not use it?. I probably cannot give an extended explanation about it but you can ask question if you decide to test it.

The way to use the LinkWeigher is briefly explained by Pier here: https://groups.google.com/a/onosproject.org/g/onos-dev/c/38IL1y3-TmY

Cheers
Reply all
Reply to author
Forward
0 new messages