Re: [L2switch-dev] How to compute the routing path between two hosts in OpenDayLight?

陈明明 <mingmingminne@...>

Hi all,
I am sorry to come back so late. I sent email to cisco's stuff last Tuesday. He replied me as below:
Hi Mingming,
I am sure there is somewhere used the Dijkstra algorithm for this. I guess l2switch is the project involving this. You can check their wiki and eventually drop a question to their mailing list. Also you can read the topology and compute by yourself.

I don't know how it goes now(I missed sync up on Saturday). I will try to find Dijkstra algorithm in ODL. And keep on asking for help from the helper? Or it has already resolved. I should do sth else? Thank you!

Best regards,

在 2015-08-08 10:00:35,"Y. Richard Yang" <yry@...> 写道:

On Fri, Aug 7, 2015 at 8:16 PM, Amit Mandke (ammandke) <ammandke@...> wrote:
addMacToMac is not complete. Some more implementation is required to make it work. Never got a time to fix it. All contributions are welcome.

To clarify,  it is incomplete because it handles only the case of the same-switch, as implied by Junzhuo's testing? So the contribution is to handle cross-switch routing?



From: Junzhuo Wang <wangjunzhuo200@...>
Date: Friday, August 7, 2015 at 8:24 AM
To: Evan Zeller <evanrzeller@...>
Cc: André Martins <aanm90@...>, "Tony Tkacik -X (ttkacik - PANTHEON TECHNOLOGIES at Cisco)" <ttkacik@...>, "l2switch-dev@..." <l2switch-dev@...>, Amit Mandke <ammandke@...>, Shu Dong <dongs2011@...>, "linxiao9292@..." <linxiao9292@...>, Jensen Zhang <jingxuan.n.zhang@...>, 陈明明 <mingmingminne@...>, "Y. Richard Yang" <yry@...>, "gaok12@..." <gaok12@...>
Subject: Re: [L2switch-dev] How to compute the routing path between two hosts in OpenDayLight?

A further question. Is there a layer 3 routing module could make OpenFlow switcher acts like a traditional router?


Hi Evan,

It great to have your reply! I’ve seen that the method “addBidirectionalMacToMacFlows” calls “addMacToMacFlow” twice. Based on the code, I assume in this implementation, the STP eliminate loops so all packets can be forwarded to all switchers. So only two flow entries could build a path between two MAC addresses.

But in my test, the MAC to MAC flow only be built when two hosts connected to the same switcher. This phenomenon really confuses me. I’m looking forward to your reply.


The Minimum Spanning Tree is calculated to prevent loops in the network, those links that receive STP blocking status won't have flows written on them. in l2switch-main may have what you're looking for, it can create mac to mac flows, I'm not sure how robust the functionality is at the moment. 

On Thu, Aug 6, 2015 at 9:14 AM, Junzhuo Wang <wangjunzhuo200@...> wrote:
Hi André,

Thanks a lot for your reply! I’ve read the code from ( The "getPath" method doesn’t exist anymore as you said. Also I did some tests and I found that the packets not always go through the shortest path. So I believe STP may be used as the current routing algorithm. If so, I can calculate the path by my self although it’s not a clean implementation. Let’s say what the code’s author says.


Hi Junzhuo.
The code is here
but I don't know if the service is working because of
But I've send this email to the code's author to see what he says about it.
Best regards,

On 06-08-2015 07:43, Junzhuo Wang wrote:
Hi all,

I’m a member from ODL/ALTO. I’m trying to find a API to compute the routing path between two hosts. So I read the code from openflowplugin, controller. It seems openflowplugin just set the flow table to switchers. And controller seems no longer handle the routing calculation now
 (org.opendaylight.controller.sal.routing doesn’t exist now).

Finally I found this page( saids that the l2switch now provide routing service. Which module should I use and how to get the route between two hosts by existing APIs?


L2switch-dev mailing list

Join to automatically receive all group messages.