To add a bit, according to my understanding:
- current l2switch uses flooding based on a single, shared spanning. Hence, assume a switch with k neighbors in the spanning tree, it needs only k rules in its flow table: for each incoming neighbor, flood to the other k-1 neighbors. If we use the number
of links traversed as cost when computing ECS, this routing scheme is not useful, because the cost for each arc-dst pair is the same.
- As a first step, we develop l2switch-plus, which adds higher priority flow rules: for a given src, dst MAC pairs, we find the unicast path from the tree, and add <src-Mac, dst-Mac> entries to the flow tables. Note that this may cause flow table explosion,
which we can look into:
* We identify compression.
* Another idea is that when computing ECS, we do not insert the Mac rules. They are triggered by packet-in only.
* Yet another idea is that ECS will insert the rules but with a relatively short timeout. Hence those rules not used by app will timeout quickly.
- In the next step, we use the ip-mac binding table to convert an l2 path to an l3 path.
In the long run, the preceding is not complete. For example, what if GBP reroutes a flow through middle boxes. The preceding derivation based on l2switch routing is not correct. We need to look into the composition approach of ODL.
On Sunday, August 9, 2015, Junzhuo Wang <wangjunzhuo200@...
The current status is that Dijkstra algorithm is not be used in l2switch. The related code are all been annotated. And the authors of l2switch also says this module is not complete. Instead, it use STP to forward all packets to every devices in the network.
So we decide to develop our own module “l2switch-plus” to enhance the ability of l2switch. As a result, we can get routing information easily.
I am sorry to come back so late. I sent email to cisco's stuff last Tuesday. He replied me as below:
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!
在 2015-08-08 10:00:35，"Y. Richard Yang" <yry@...> 写道：