Date   

Re: Few questions on ALTO and ONOS

MD I. Islam <tamim@...>
 

OK, I'll take a look at this. Currently I am busy wrapping up my internship. I will go back to school in the next week. Hopefully I will be able to concentrate on the ALTO then.

Thanks a lot for your help! I'll get back to you guys again.


Thanks
Tamim
.

On Fri, Aug 21, 2015 at 10:21 AM, Danny Alex Lachos Perez <dlachosper@...> wrote:
Hi Tamim (cc alto-dev@...)

In according with:

Everething works fine until step:
*Build and run ALTO in Karaf

I install a feature, for example:
feature:install odl-alto-provider

After that, I should be able to:

but I cant: "Unable to connect"

When I review the feature information:

feature:info odl-alto-provider
Feature odl-alto-provider 0.2.0-SNAPSHOT
Description:
  OpenDaylight :: alto :: Provider
Feature has no configuration
Feature configuration files:
  etc/opendaylight/karaf/03-alto.xml
Feature depends on:
  odl-alto-model 0.2.0-SNAPSHOT
  odl-mdsal-broker 1.3.0-SNAPSHOT
  odl-l2switch-hosttracker 0.3.0-SNAPSHOT
  odl-l2switch-addresstracker 0.3.0-SNAPSHOT
Feature contains followed bundles:
  mvn:org.opendaylight.alto/alto-provider/0.2.0-SNAPSHOT
Feature has no conditionals.


and review if the bundles are installed
bundle:list -s | grep alto
204 | Resolved |  80 | 0.2.0.SNAPSHOT                            | org.opendaylight.alto.model  
233 | Resolved |  80 | 0.3.0.SNAPSHOT                            | org.opendaylight.l2switch.addresstracker.impl                           
234 | Resolved |  80 | 0.3.0.SNAPSHOT                            | org.opendaylight.l2switch.hosttracker.model                             
235 | Resolved |  80 | 0.3.0.SNAPSHOT                            | org.opendaylight.l2switch.hosttracker.impl

None of the bundles are installed

Another things is that when I review the activated ports:
 nmap chimay
Starting Nmap 6.40 ( http://nmap.org ) at 2015-08-21 11:15 BRT
Nmap scan report for chimay (127.0.1.1)
Host is up (0.00022s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
53/tcp   open  domain
111/tcp  open  rpcbind
1099/tcp open  rmiregistry


The 8181 port is not activited

I dont know exactly what happen,

Thank

Ss

Danny

On Sat, Aug 1, 2015 at 10:54 PM, Shu Dong <dongs2011@...> wrote:
Hi Tamim,

Sorry for the delay, I just saw your email.

I wrote a doc for people to get into ODL and ALTO quickly. You can start from it: https://docs.google.com/document/d/1nx2U5WvVlCU-dierN-EF9L5iAzRrNNr1S73EzsSjAmo/edit#. Also, there some local code changes including interop tests and the new ECS implementation we have not pushed into ODL Gerrit but we will soon. I will remind you when the code has been updated. 

Hope it helps. Thanks a lot.

From,
Shu

On Sun, Aug 2, 2015 at 9:38 AM, MD I. Islam <tamim@...> wrote:

Thanks Dr. Yang. My skype ID: tamim_217. I'm visiting Cincinnati. Still I will attend the meeting over phone.

On Aug 1, 2015 9:32 PM, "Y. Richard Yang" <yry@...> wrote:
@Shu, thanks a lot for providing the update! 

@Tamim, we do not use a single VM. Let's see what we can do to get the sharing-with-you started.

We will have a sync up at 10 pm (US ET) today. If you get this email in time, please send me your Skype so that I can add you.

Thanks!

Richard 

On Sunday, August 2, 2015, MD I. Islam <tamim@...> wrote:

Thanks Shu! Is it possible to share the VM (development environment) with me? I'm new to ODL. Having everything setup would be very helpful for me to start with.

Thanks
Tamim

On Aug 1, 2015 1:32 PM, "Shu Dong" <dongs2011@...> wrote:
Hi Tamim and Richard,

Here is how we compute the ECS now. We get the routing path from source host to dest host first, and then compute the endpoint cost according to the routing path and cost metric (e.g. bandwidth, hopcount). 

Computing routing path in ODL is the core of the design and the details are explained as follows:
1. We get the attachment points of source host and dest host, let's call it start_switch and end_switch, by L2Switch.
2. We read flow table of start_switch and find the matched flow entry according to src host IP and dst host IP. If matched flow entry is found, we get next switch from the flow entry, then we repeat this step to chase next switch until we get to end_switch.
4. If there is no matched flow entry, we will force ODL controller to compute a new routing path, by either invoking the path computing function or sending a fake packet. Once the path computing is done, we repeat step 2 until we get to end_switch.

In this way, we get the routing path. Following is the pseudo code:

sw_id = get_attachment_point(src)
dst_sw_id = get_attachment_point(dst)
while (sw_id != dst_sw_id) {
  r <- loop_up(src, dst) in sw_id's flow table
  if (!r) {
    forceComputeRoutingPath(src, dst)
    r <- loop_up(src, dst) in sw_id's flow table
  } 
  sw_id = get_sw_id(r) 
}
 

Once we get the routing path, we can compute endpoint costs based on different cost metrics. Hopcount is easy to compute while bandwidth is a little more complicated since we have to get the bandwidth of each link at first.

@Richard The following is what we have done during the past three days:
1. Get attachment point of host by host IP address. Done. (Shu, Xiao)
2. Look up flow table to get matching flow entry and next switch. Almost Done. (Xiao, Shu)
3. Figure out how to force ODL controller to compute routing path. In progress. (Mingming)
4. Setting up a mininet + controller test environment in our lab. (Junzhuo, Xiao)
5. Some code refactoring. (Shu)

Things left to be done:
1. Figure out how to force ODL controller to compute routing path.
2. Figure out how to get bandwidth of each link.
3. Combine all the parts together.

From tomorrow, we will focus on left problems. Mingming has made some progress in the first one but it will be great if we have someone else to help.

Thanks a lot.

From,
Shu


On Sat, Aug 1, 2015 at 11:55 PM, Y. Richard Yang <yry@...> wrote:
Dear Tamim,

Thanks for the update. We had a mini design summit on ECS last week. The plan is to have a running version in two weeks. Given your questions, it is a good idea that we write down the design soon so that we can all work together. 

@Shu/Junzhuo: I believe that you are leading the ECS design. Can you write down the discussion soon so that we can discuss with Tamim and others.

Thanks!

Richard

On Sat, Aug 1, 2015 at 11:32 AM, MD I. Islam <tamim@...> wrote:
Hi

Could you please advise me if I have understood ECS correctly? 

I was told, in the first step, we calculate the shortest hop-count assuming that the link metric is 1. Do we just implement a shortest-path algorithm for the topology graph based on the data from TopologyManager?

Next step is to figure out a natural interface, in ODL, to configure link metrics and compute routing cost. Do we design a YANG model to configure link properties (link cost metrics)? Currently I don't see link properties (such as delay, bandwidth) in NodeConnector or TopologyUserLinkConfig. Am I missing anything? Do we have to design a data structure to store the cost metric for each link?

Which version of ODL do I look into? I don't see TopologyManager code in the Lithium release. I only see the class files. Am I missing anything? However I see the TopologyManager in Hydrogen release. 

Looking forward to your suggestions.

Thanks
Tamim  

.

On Fri, Jul 17, 2015 at 11:19 PM, MD I. Islam <tamim@...> wrote:

Thanks Kai! I'm looking into it.

On Jul 17, 2015 11:07 PM, "Y. Richard Yang" <yry@...> wrote:
Tamim,

Yes. As Kai pointed out, the TopologyManager is a good place to get started. Could you please start to take a look and then we can sync up?

Thanks!

Richard 

On Saturday, July 18, 2015, Gao Kai <godrickk@...> wrote:
There was a topologymanager in earlier releases you might look into.

On 18/07/15 02:14, MD I. Islam wrote:
That sounds great. Is there an ODL service that I can use to get the network topology and link metric? 

On Fri, Jul 17, 2015 at 1:36 PM, Y. Richard Yang <yry@...> wrote:
Tamim,

On Saturday, July 18, 2015, MD I. Islam <mislam4@...> wrote:
Yeah, interested. Is that the Endpoint Cost Service?
 
Yes. You got it.

 
What are the metrics we are considering? 

One basic step is to make sure we get shortest path fully right. A natural link metric is 1, and we get shortest hop count. A next step is to figure out a natural interface, in ODL, to configure link metrics, and we compute routing cost. A third component in ODL to conduct traffic engineering.

Let's get a couple proposals out in next week. How does this sound?

Richard 
 

On Fri, Jul 17, 2015 at 12:45 PM, Y. Richard Yang <yry@...> wrote:
Dear Tamim,

Wonderful! 

Per my personal wish list, a main feature that I want to improve on is high quality ECS service, based on various metrics. Any interest?

Richard

On Sat, Jul 18, 2015 at 12:35 AM, MD I. Islam <mislam4@...> wrote:
Yeah, sure. I'm interested on adding features to the ALTO ODL server. Please let me know what you want me to do.

Thanks
Tamim

On Fri, Jul 17, 2015 at 12:12 PM, Y. Richard Yang <yry@...> wrote:
Dear Tamim,

Thanks a lot for the questions. Sorry for the late reply, as I am working on a few deadlines. How about we schedule a time to discuss the items in details later next week?

In the mean time, are you interested in engaging more in the alto effort? For example, we are working on adding more features to the ODL server. Any interest in getting engaged?

Thanks!

Richard

On Thu, Jul 16, 2015 at 2:27 PM, MD I. Islam <mislam4@...> wrote:

I have few questions in mind.

How can we get the dynamic cost map from OpenFlow switch? Do we use OpenFlow meter? Are we considering about dynamic cost-map at all? As there will be multiple competing flows, so available bandwidth will change over time. Please advise.

Can we also create a paradigm to cache contents in the SDN controller (or in a controller app)? I think, this shouldn't be in the context of ALTO, but still would be very helpful. For example, if multiple clients watch a live video on a campus network, we should be able to cache the video slices in the controller. Then controller can push the content proactivly without notifying the clients. Again controller can serve the content in a reactive manner through a north bound protocol.

Today I was trying to write a simple application in ONOS. I was trying the VM from sdnhub. I could run ONOS. The sample Foo program compiled, but I couldn't load it on Karaf. If you have a VM that has the development environment setup, that will be very helpful to start.

Please don't hesitate to let me know if i get anything wrong. Looking forward to your suggestions.

Thanks
Tamim




--
-- 
 =====================================
| Y. Richard Yang <yry@...>   |
| Professor of Computer Science       |
 =====================================




--
-- 
 =====================================
| Y. Richard Yang <yry@...>   |
| Professor of Computer Science       |
 =====================================

_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev




--
Richard

_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev




_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev



--
Richard

_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev





--
-- 
 =====================================
| Y. Richard Yang <yry@...>   |
| Professor of Computer Science       |
 =====================================

--
You received this message because you are subscribed to the Google Groups "alto-design" group.
To unsubscribe from this group and stop receiving emails from it, send an email to alto-design+unsubscribe@....
To post to this group, send email to alto-design@....
To view this discussion on the web visit https://groups.google.com/d/msgid/alto-design/CANUuoLqi%3DU_mcv1gm5Rgf0p48PdLX3V_xrHLngwk%2BADCrEmFsg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.



--
Richard


_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev




Re: Few questions on ALTO and ONOS

Junchang Wang <junchangwang@...>
 

Hi Danny,

It seem Dlux doesn't work properly. My suggestion is that you can reinstall Dlux and ALTO in Karaf.

feature:install odl-dlux-all odl-alto-all

And it would be helpful if you can check and post the karaf log, which locates in ./alto-karaf/target/assembly/data/log/karaf.log


Please let us know if that works. Thanks.


--Jason


On Fri, Aug 21, 2015 at 10:21 PM, Danny Alex Lachos Perez <dlachosper@...> wrote:
Hi Tamim (cc alto-dev@...)

In according with:

Everething works fine until step:
*Build and run ALTO in Karaf

I install a feature, for example:
feature:install odl-alto-provider

After that, I should be able to:

but I cant: "Unable to connect"

When I review the feature information:

feature:info odl-alto-provider
Feature odl-alto-provider 0.2.0-SNAPSHOT
Description:
  OpenDaylight :: alto :: Provider
Feature has no configuration
Feature configuration files:
  etc/opendaylight/karaf/03-alto.xml
Feature depends on:
  odl-alto-model 0.2.0-SNAPSHOT
  odl-mdsal-broker 1.3.0-SNAPSHOT
  odl-l2switch-hosttracker 0.3.0-SNAPSHOT
  odl-l2switch-addresstracker 0.3.0-SNAPSHOT
Feature contains followed bundles:
  mvn:org.opendaylight.alto/alto-provider/0.2.0-SNAPSHOT
Feature has no conditionals.


and review if the bundles are installed
bundle:list -s | grep alto
204 | Resolved |  80 | 0.2.0.SNAPSHOT                            | org.opendaylight.alto.model  
233 | Resolved |  80 | 0.3.0.SNAPSHOT                            | org.opendaylight.l2switch.addresstracker.impl                           
234 | Resolved |  80 | 0.3.0.SNAPSHOT                            | org.opendaylight.l2switch.hosttracker.model                             
235 | Resolved |  80 | 0.3.0.SNAPSHOT                            | org.opendaylight.l2switch.hosttracker.impl

None of the bundles are installed

Another things is that when I review the activated ports:
 nmap chimay
Starting Nmap 6.40 ( http://nmap.org ) at 2015-08-21 11:15 BRT
Nmap scan report for chimay (127.0.1.1)
Host is up (0.00022s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
53/tcp   open  domain
111/tcp  open  rpcbind
1099/tcp open  rmiregistry


The 8181 port is not activited

I dont know exactly what happen,

Thank

Ss

Danny

On Sat, Aug 1, 2015 at 10:54 PM, Shu Dong <dongs2011@...> wrote:
Hi Tamim,

Sorry for the delay, I just saw your email.

I wrote a doc for people to get into ODL and ALTO quickly. You can start from it: https://docs.google.com/document/d/1nx2U5WvVlCU-dierN-EF9L5iAzRrNNr1S73EzsSjAmo/edit#. Also, there some local code changes including interop tests and the new ECS implementation we have not pushed into ODL Gerrit but we will soon. I will remind you when the code has been updated. 

Hope it helps. Thanks a lot.

From,
Shu

On Sun, Aug 2, 2015 at 9:38 AM, MD I. Islam <tamim@...> wrote:

Thanks Dr. Yang. My skype ID: tamim_217. I'm visiting Cincinnati. Still I will attend the meeting over phone.

On Aug 1, 2015 9:32 PM, "Y. Richard Yang" <yry@...> wrote:
@Shu, thanks a lot for providing the update! 

@Tamim, we do not use a single VM. Let's see what we can do to get the sharing-with-you started.

We will have a sync up at 10 pm (US ET) today. If you get this email in time, please send me your Skype so that I can add you.

Thanks!

Richard 

On Sunday, August 2, 2015, MD I. Islam <tamim@...> wrote:

Thanks Shu! Is it possible to share the VM (development environment) with me? I'm new to ODL. Having everything setup would be very helpful for me to start with.

Thanks
Tamim

On Aug 1, 2015 1:32 PM, "Shu Dong" <dongs2011@...> wrote:
Hi Tamim and Richard,

Here is how we compute the ECS now. We get the routing path from source host to dest host first, and then compute the endpoint cost according to the routing path and cost metric (e.g. bandwidth, hopcount). 

Computing routing path in ODL is the core of the design and the details are explained as follows:
1. We get the attachment points of source host and dest host, let's call it start_switch and end_switch, by L2Switch.
2. We read flow table of start_switch and find the matched flow entry according to src host IP and dst host IP. If matched flow entry is found, we get next switch from the flow entry, then we repeat this step to chase next switch until we get to end_switch.
4. If there is no matched flow entry, we will force ODL controller to compute a new routing path, by either invoking the path computing function or sending a fake packet. Once the path computing is done, we repeat step 2 until we get to end_switch.

In this way, we get the routing path. Following is the pseudo code:

sw_id = get_attachment_point(src)
dst_sw_id = get_attachment_point(dst)
while (sw_id != dst_sw_id) {
  r <- loop_up(src, dst) in sw_id's flow table
  if (!r) {
    forceComputeRoutingPath(src, dst)
    r <- loop_up(src, dst) in sw_id's flow table
  } 
  sw_id = get_sw_id(r) 
}
 

Once we get the routing path, we can compute endpoint costs based on different cost metrics. Hopcount is easy to compute while bandwidth is a little more complicated since we have to get the bandwidth of each link at first.

@Richard The following is what we have done during the past three days:
1. Get attachment point of host by host IP address. Done. (Shu, Xiao)
2. Look up flow table to get matching flow entry and next switch. Almost Done. (Xiao, Shu)
3. Figure out how to force ODL controller to compute routing path. In progress. (Mingming)
4. Setting up a mininet + controller test environment in our lab. (Junzhuo, Xiao)
5. Some code refactoring. (Shu)

Things left to be done:
1. Figure out how to force ODL controller to compute routing path.
2. Figure out how to get bandwidth of each link.
3. Combine all the parts together.

From tomorrow, we will focus on left problems. Mingming has made some progress in the first one but it will be great if we have someone else to help.

Thanks a lot.

From,
Shu


On Sat, Aug 1, 2015 at 11:55 PM, Y. Richard Yang <yry@...> wrote:
Dear Tamim,

Thanks for the update. We had a mini design summit on ECS last week. The plan is to have a running version in two weeks. Given your questions, it is a good idea that we write down the design soon so that we can all work together. 

@Shu/Junzhuo: I believe that you are leading the ECS design. Can you write down the discussion soon so that we can discuss with Tamim and others.

Thanks!

Richard

On Sat, Aug 1, 2015 at 11:32 AM, MD I. Islam <tamim@...> wrote:
Hi

Could you please advise me if I have understood ECS correctly? 

I was told, in the first step, we calculate the shortest hop-count assuming that the link metric is 1. Do we just implement a shortest-path algorithm for the topology graph based on the data from TopologyManager?

Next step is to figure out a natural interface, in ODL, to configure link metrics and compute routing cost. Do we design a YANG model to configure link properties (link cost metrics)? Currently I don't see link properties (such as delay, bandwidth) in NodeConnector or TopologyUserLinkConfig. Am I missing anything? Do we have to design a data structure to store the cost metric for each link?

Which version of ODL do I look into? I don't see TopologyManager code in the Lithium release. I only see the class files. Am I missing anything? However I see the TopologyManager in Hydrogen release. 

Looking forward to your suggestions.

Thanks
Tamim  

.

On Fri, Jul 17, 2015 at 11:19 PM, MD I. Islam <tamim@...> wrote:

Thanks Kai! I'm looking into it.

On Jul 17, 2015 11:07 PM, "Y. Richard Yang" <yry@...> wrote:
Tamim,

Yes. As Kai pointed out, the TopologyManager is a good place to get started. Could you please start to take a look and then we can sync up?

Thanks!

Richard 

On Saturday, July 18, 2015, Gao Kai <godrickk@...> wrote:
There was a topologymanager in earlier releases you might look into.

On 18/07/15 02:14, MD I. Islam wrote:
That sounds great. Is there an ODL service that I can use to get the network topology and link metric? 

On Fri, Jul 17, 2015 at 1:36 PM, Y. Richard Yang <yry@...> wrote:
Tamim,

On Saturday, July 18, 2015, MD I. Islam <mislam4@...> wrote:
Yeah, interested. Is that the Endpoint Cost Service?
 
Yes. You got it.

 
What are the metrics we are considering? 

One basic step is to make sure we get shortest path fully right. A natural link metric is 1, and we get shortest hop count. A next step is to figure out a natural interface, in ODL, to configure link metrics, and we compute routing cost. A third component in ODL to conduct traffic engineering.

Let's get a couple proposals out in next week. How does this sound?

Richard 
 

On Fri, Jul 17, 2015 at 12:45 PM, Y. Richard Yang <yry@...> wrote:
Dear Tamim,

Wonderful! 

Per my personal wish list, a main feature that I want to improve on is high quality ECS service, based on various metrics. Any interest?

Richard

On Sat, Jul 18, 2015 at 12:35 AM, MD I. Islam <mislam4@...> wrote:
Yeah, sure. I'm interested on adding features to the ALTO ODL server. Please let me know what you want me to do.

Thanks
Tamim

On Fri, Jul 17, 2015 at 12:12 PM, Y. Richard Yang <yry@...> wrote:
Dear Tamim,

Thanks a lot for the questions. Sorry for the late reply, as I am working on a few deadlines. How about we schedule a time to discuss the items in details later next week?

In the mean time, are you interested in engaging more in the alto effort? For example, we are working on adding more features to the ODL server. Any interest in getting engaged?

Thanks!

Richard

On Thu, Jul 16, 2015 at 2:27 PM, MD I. Islam <mislam4@...> wrote:

I have few questions in mind.

How can we get the dynamic cost map from OpenFlow switch? Do we use OpenFlow meter? Are we considering about dynamic cost-map at all? As there will be multiple competing flows, so available bandwidth will change over time. Please advise.

Can we also create a paradigm to cache contents in the SDN controller (or in a controller app)? I think, this shouldn't be in the context of ALTO, but still would be very helpful. For example, if multiple clients watch a live video on a campus network, we should be able to cache the video slices in the controller. Then controller can push the content proactivly without notifying the clients. Again controller can serve the content in a reactive manner through a north bound protocol.

Today I was trying to write a simple application in ONOS. I was trying the VM from sdnhub. I could run ONOS. The sample Foo program compiled, but I couldn't load it on Karaf. If you have a VM that has the development environment setup, that will be very helpful to start.

Please don't hesitate to let me know if i get anything wrong. Looking forward to your suggestions.

Thanks
Tamim




--
-- 
 =====================================
| Y. Richard Yang <yry@...>   |
| Professor of Computer Science       |
 =====================================




--
-- 
 =====================================
| Y. Richard Yang <yry@...>   |
| Professor of Computer Science       |
 =====================================

_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev




--
Richard

_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev




_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev



--
Richard

_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev





--
-- 
 =====================================
| Y. Richard Yang <yry@...>   |
| Professor of Computer Science       |
 =====================================

--
You received this message because you are subscribed to the Google Groups "alto-design" group.
To unsubscribe from this group and stop receiving emails from it, send an email to alto-design+unsubscribe@....
To post to this group, send email to alto-design@....
To view this discussion on the web visit https://groups.google.com/d/msgid/alto-design/CANUuoLqi%3DU_mcv1gm5Rgf0p48PdLX3V_xrHLngwk%2BADCrEmFsg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.



--
Richard


_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev



_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev



Re: Few questions on ALTO and ONOS

Danny
 

Hi Tamim (cc alto-dev@...)

In according with:

Everething works fine until step:
*Build and run ALTO in Karaf

I install a feature, for example:
feature:install odl-alto-provider

After that, I should be able to:

but I cant: "Unable to connect"

When I review the feature information:

feature:info odl-alto-provider
Feature odl-alto-provider 0.2.0-SNAPSHOT
Description:
  OpenDaylight :: alto :: Provider
Feature has no configuration
Feature configuration files:
  etc/opendaylight/karaf/03-alto.xml
Feature depends on:
  odl-alto-model 0.2.0-SNAPSHOT
  odl-mdsal-broker 1.3.0-SNAPSHOT
  odl-l2switch-hosttracker 0.3.0-SNAPSHOT
  odl-l2switch-addresstracker 0.3.0-SNAPSHOT
Feature contains followed bundles:
  mvn:org.opendaylight.alto/alto-provider/0.2.0-SNAPSHOT
Feature has no conditionals.


and review if the bundles are installed
bundle:list -s | grep alto
204 | Resolved |  80 | 0.2.0.SNAPSHOT                            | org.opendaylight.alto.model  
233 | Resolved |  80 | 0.3.0.SNAPSHOT                            | org.opendaylight.l2switch.addresstracker.impl                           
234 | Resolved |  80 | 0.3.0.SNAPSHOT                            | org.opendaylight.l2switch.hosttracker.model                             
235 | Resolved |  80 | 0.3.0.SNAPSHOT                            | org.opendaylight.l2switch.hosttracker.impl

None of the bundles are installed

Another things is that when I review the activated ports:
 nmap chimay
Starting Nmap 6.40 ( http://nmap.org ) at 2015-08-21 11:15 BRT
Nmap scan report for chimay (127.0.1.1)
Host is up (0.00022s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
53/tcp   open  domain
111/tcp  open  rpcbind
1099/tcp open  rmiregistry


The 8181 port is not activited

I dont know exactly what happen,

Thank

Ss

Danny

On Sat, Aug 1, 2015 at 10:54 PM, Shu Dong <dongs2011@...> wrote:
Hi Tamim,

Sorry for the delay, I just saw your email.

I wrote a doc for people to get into ODL and ALTO quickly. You can start from it: https://docs.google.com/document/d/1nx2U5WvVlCU-dierN-EF9L5iAzRrNNr1S73EzsSjAmo/edit#. Also, there some local code changes including interop tests and the new ECS implementation we have not pushed into ODL Gerrit but we will soon. I will remind you when the code has been updated. 

Hope it helps. Thanks a lot.

From,
Shu

On Sun, Aug 2, 2015 at 9:38 AM, MD I. Islam <tamim@...> wrote:

Thanks Dr. Yang. My skype ID: tamim_217. I'm visiting Cincinnati. Still I will attend the meeting over phone.

On Aug 1, 2015 9:32 PM, "Y. Richard Yang" <yry@...> wrote:
@Shu, thanks a lot for providing the update! 

@Tamim, we do not use a single VM. Let's see what we can do to get the sharing-with-you started.

We will have a sync up at 10 pm (US ET) today. If you get this email in time, please send me your Skype so that I can add you.

Thanks!

Richard 

On Sunday, August 2, 2015, MD I. Islam <tamim@...> wrote:

Thanks Shu! Is it possible to share the VM (development environment) with me? I'm new to ODL. Having everything setup would be very helpful for me to start with.

Thanks
Tamim

On Aug 1, 2015 1:32 PM, "Shu Dong" <dongs2011@...> wrote:
Hi Tamim and Richard,

Here is how we compute the ECS now. We get the routing path from source host to dest host first, and then compute the endpoint cost according to the routing path and cost metric (e.g. bandwidth, hopcount). 

Computing routing path in ODL is the core of the design and the details are explained as follows:
1. We get the attachment points of source host and dest host, let's call it start_switch and end_switch, by L2Switch.
2. We read flow table of start_switch and find the matched flow entry according to src host IP and dst host IP. If matched flow entry is found, we get next switch from the flow entry, then we repeat this step to chase next switch until we get to end_switch.
4. If there is no matched flow entry, we will force ODL controller to compute a new routing path, by either invoking the path computing function or sending a fake packet. Once the path computing is done, we repeat step 2 until we get to end_switch.

In this way, we get the routing path. Following is the pseudo code:

sw_id = get_attachment_point(src)
dst_sw_id = get_attachment_point(dst)
while (sw_id != dst_sw_id) {
  r <- loop_up(src, dst) in sw_id's flow table
  if (!r) {
    forceComputeRoutingPath(src, dst)
    r <- loop_up(src, dst) in sw_id's flow table
  } 
  sw_id = get_sw_id(r) 
}
 

Once we get the routing path, we can compute endpoint costs based on different cost metrics. Hopcount is easy to compute while bandwidth is a little more complicated since we have to get the bandwidth of each link at first.

@Richard The following is what we have done during the past three days:
1. Get attachment point of host by host IP address. Done. (Shu, Xiao)
2. Look up flow table to get matching flow entry and next switch. Almost Done. (Xiao, Shu)
3. Figure out how to force ODL controller to compute routing path. In progress. (Mingming)
4. Setting up a mininet + controller test environment in our lab. (Junzhuo, Xiao)
5. Some code refactoring. (Shu)

Things left to be done:
1. Figure out how to force ODL controller to compute routing path.
2. Figure out how to get bandwidth of each link.
3. Combine all the parts together.

From tomorrow, we will focus on left problems. Mingming has made some progress in the first one but it will be great if we have someone else to help.

Thanks a lot.

From,
Shu


On Sat, Aug 1, 2015 at 11:55 PM, Y. Richard Yang <yry@...> wrote:
Dear Tamim,

Thanks for the update. We had a mini design summit on ECS last week. The plan is to have a running version in two weeks. Given your questions, it is a good idea that we write down the design soon so that we can all work together. 

@Shu/Junzhuo: I believe that you are leading the ECS design. Can you write down the discussion soon so that we can discuss with Tamim and others.

Thanks!

Richard

On Sat, Aug 1, 2015 at 11:32 AM, MD I. Islam <tamim@...> wrote:
Hi

Could you please advise me if I have understood ECS correctly? 

I was told, in the first step, we calculate the shortest hop-count assuming that the link metric is 1. Do we just implement a shortest-path algorithm for the topology graph based on the data from TopologyManager?

Next step is to figure out a natural interface, in ODL, to configure link metrics and compute routing cost. Do we design a YANG model to configure link properties (link cost metrics)? Currently I don't see link properties (such as delay, bandwidth) in NodeConnector or TopologyUserLinkConfig. Am I missing anything? Do we have to design a data structure to store the cost metric for each link?

Which version of ODL do I look into? I don't see TopologyManager code in the Lithium release. I only see the class files. Am I missing anything? However I see the TopologyManager in Hydrogen release. 

Looking forward to your suggestions.

Thanks
Tamim  

.

On Fri, Jul 17, 2015 at 11:19 PM, MD I. Islam <tamim@...> wrote:

Thanks Kai! I'm looking into it.

On Jul 17, 2015 11:07 PM, "Y. Richard Yang" <yry@...> wrote:
Tamim,

Yes. As Kai pointed out, the TopologyManager is a good place to get started. Could you please start to take a look and then we can sync up?

Thanks!

Richard 

On Saturday, July 18, 2015, Gao Kai <godrickk@...> wrote:
There was a topologymanager in earlier releases you might look into.

On 18/07/15 02:14, MD I. Islam wrote:
That sounds great. Is there an ODL service that I can use to get the network topology and link metric? 

On Fri, Jul 17, 2015 at 1:36 PM, Y. Richard Yang <yry@...> wrote:
Tamim,

On Saturday, July 18, 2015, MD I. Islam <mislam4@...> wrote:
Yeah, interested. Is that the Endpoint Cost Service?
 
Yes. You got it.

 
What are the metrics we are considering? 

One basic step is to make sure we get shortest path fully right. A natural link metric is 1, and we get shortest hop count. A next step is to figure out a natural interface, in ODL, to configure link metrics, and we compute routing cost. A third component in ODL to conduct traffic engineering.

Let's get a couple proposals out in next week. How does this sound?

Richard 
 

On Fri, Jul 17, 2015 at 12:45 PM, Y. Richard Yang <yry@...> wrote:
Dear Tamim,

Wonderful! 

Per my personal wish list, a main feature that I want to improve on is high quality ECS service, based on various metrics. Any interest?

Richard

On Sat, Jul 18, 2015 at 12:35 AM, MD I. Islam <mislam4@...> wrote:
Yeah, sure. I'm interested on adding features to the ALTO ODL server. Please let me know what you want me to do.

Thanks
Tamim

On Fri, Jul 17, 2015 at 12:12 PM, Y. Richard Yang <yry@...> wrote:
Dear Tamim,

Thanks a lot for the questions. Sorry for the late reply, as I am working on a few deadlines. How about we schedule a time to discuss the items in details later next week?

In the mean time, are you interested in engaging more in the alto effort? For example, we are working on adding more features to the ODL server. Any interest in getting engaged?

Thanks!

Richard

On Thu, Jul 16, 2015 at 2:27 PM, MD I. Islam <mislam4@...> wrote:

I have few questions in mind.

How can we get the dynamic cost map from OpenFlow switch? Do we use OpenFlow meter? Are we considering about dynamic cost-map at all? As there will be multiple competing flows, so available bandwidth will change over time. Please advise.

Can we also create a paradigm to cache contents in the SDN controller (or in a controller app)? I think, this shouldn't be in the context of ALTO, but still would be very helpful. For example, if multiple clients watch a live video on a campus network, we should be able to cache the video slices in the controller. Then controller can push the content proactivly without notifying the clients. Again controller can serve the content in a reactive manner through a north bound protocol.

Today I was trying to write a simple application in ONOS. I was trying the VM from sdnhub. I could run ONOS. The sample Foo program compiled, but I couldn't load it on Karaf. If you have a VM that has the development environment setup, that will be very helpful to start.

Please don't hesitate to let me know if i get anything wrong. Looking forward to your suggestions.

Thanks
Tamim




--
-- 
 =====================================
| Y. Richard Yang <yry@...>   |
| Professor of Computer Science       |
 =====================================




--
-- 
 =====================================
| Y. Richard Yang <yry@...>   |
| Professor of Computer Science       |
 =====================================

_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev




--
Richard

_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev




_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev



--
Richard

_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev





--
-- 
 =====================================
| Y. Richard Yang <yry@...>   |
| Professor of Computer Science       |
 =====================================

--
You received this message because you are subscribed to the Google Groups "alto-design" group.
To unsubscribe from this group and stop receiving emails from it, send an email to alto-design+unsubscribe@....
To post to this group, send email to alto-design@....
To view this discussion on the web visit https://groups.google.com/d/msgid/alto-design/CANUuoLqi%3DU_mcv1gm5Rgf0p48PdLX3V_xrHLngwk%2BADCrEmFsg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.



--
Richard


_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev



Re: How to compute the routing path between two hosts in OpenDayLight?

Amit Mandke (ammandke) <ammandke@...>
 

Richard and Junzhuo,

I would highly encourage you to submit your enhancements to l2switch. Please start contributing the project. Submit your proposal for Beryllium release.  

-Amit


From: <yang.r.yang@...> on behalf of "Y. Richard Yang" <yry@...>
Date: Sunday, August 9, 2015 at 7:01 AM
To: Junzhuo Wang <wangjunzhuo200@...>
Cc: 陈明明 <mingmingminne@...>, Amit Mandke <ammandke@...>, Evan Zeller <evanrzeller@...>, André Martins <aanm90@...>, "Tony Tkacik -X (ttkacik - PANTHEON TECHNOLOGIES at Cisco)" <ttkacik@...>, "l2switch-dev@..." <l2switch-dev@...>, Shu Dong <dongs2011@...>, "linxiao9292@..." <linxiao9292@...>, Jensen Zhang <jingxuan.n.zhang@...>, "gaok12@..." <gaok12@...>, "alto-dev@..." <alto-dev@...>, Andreas Voellmy <andreas.voellmy@...>, Shigang Zhu <szhu@...>
Subject: Re: How to compute the routing path between two hosts in OpenDayLight?

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.

Richard

On Sunday, August 9, 2015, Junzhuo Wang <wangjunzhuo200@...> wrote:
Hi Mingming,

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.

Best regards,
Junzhuo


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.


Regards,
"
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,
Mingming





在 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?

Thanks.

Richard


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?

Thanks!
Junzhuo


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.

Thanks!
Junzhuo


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. FlowWriterServiceImpl.java 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 (https://github.com/opendaylight/l2switch/blob/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology/NetworkGraphImpl.java#L123). 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.

Junzhuo


Hi Junzhuo.
The code is here https://github.com/opendaylight/l2switch/tree/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology
but I don't know if the service is working because of https://github.com/opendaylight/l2switch/blob/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology/NetworkGraphService.java#L41
But I've send this email to the code's author to see what he says about it.
Best regards,
--André


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(https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:L2_Switch) 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?

Thanks,
Junzhuo



_______________________________________________
L2switch-dev mailing list
L2switch-dev@...https://lists.opendaylight.org/mailman/listinfo/l2switch-dev





--
Richard


Re: How to compute the routing path between two hosts in OpenDayLight?

Y. Richard Yang
 

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.

Richard

On Sunday, August 9, 2015, Junzhuo Wang <wangjunzhuo200@...> wrote:
Hi Mingming,

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.

Best regards,
Junzhuo


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.


Regards,
"
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,
Mingming





在 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?

Thanks.

Richard


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?

Thanks!
Junzhuo


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.

Thanks!
Junzhuo


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. FlowWriterServiceImpl.java 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 (https://github.com/opendaylight/l2switch/blob/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology/NetworkGraphImpl.java#L123). 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.

Junzhuo


Hi Junzhuo.
The code is here https://github.com/opendaylight/l2switch/tree/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology
but I don't know if the service is working because of https://github.com/opendaylight/l2switch/blob/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology/NetworkGraphService.java#L41
But I've send this email to the code's author to see what he says about it.
Best regards,
--André


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(https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:L2_Switch) 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?

Thanks,
Junzhuo



_______________________________________________
L2switch-dev mailing list
L2switch-dev@...https://lists.opendaylight.org/mailman/listinfo/l2switch-dev





--
Richard


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

Austin
 

Hi Mingming,

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.

Best regards,
Junzhuo


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.


Regards,
"
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,
Mingming





在 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?

Thanks.

Richard


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?

Thanks!
Junzhuo


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.

Thanks!
Junzhuo


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. FlowWriterServiceImpl.java 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 (https://github.com/opendaylight/l2switch/blob/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology/NetworkGraphImpl.java#L123). 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.

Junzhuo


Hi Junzhuo.
The code is here https://github.com/opendaylight/l2switch/tree/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology
but I don't know if the service is working because of https://github.com/opendaylight/l2switch/blob/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology/NetworkGraphService.java#L41
But I've send this email to the code's author to see what he says about it.
Best regards,
--André


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(https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:L2_Switch) 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?

Thanks,
Junzhuo



_______________________________________________
L2switch-dev mailing list
L2switch-dev@...https://lists.opendaylight.org/mailman/listinfo/l2switch-dev




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.


Regards,
"
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,
Mingming





在 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?

Thanks.

Richard


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?

Thanks!
Junzhuo


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.

Thanks!
Junzhuo


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. FlowWriterServiceImpl.java 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 (https://github.com/opendaylight/l2switch/blob/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology/NetworkGraphImpl.java#L123). 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.

Junzhuo


Hi Junzhuo.
The code is here https://github.com/opendaylight/l2switch/tree/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology
but I don't know if the service is working because of https://github.com/opendaylight/l2switch/blob/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology/NetworkGraphService.java#L41
But I've send this email to the code's author to see what he says about it.
Best regards,
--André


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(https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:L2_Switch) 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?

Thanks,
Junzhuo



_______________________________________________
L2switch-dev mailing list
L2switch-dev@...https://lists.opendaylight.org/mailman/listinfo/l2switch-dev



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

Y. Richard Yang
 


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?

Thanks.

Richard


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?

Thanks!
Junzhuo


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.

Thanks!
Junzhuo


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. FlowWriterServiceImpl.java 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 (https://github.com/opendaylight/l2switch/blob/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology/NetworkGraphImpl.java#L123). 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.

Junzhuo


Hi Junzhuo.
The code is here https://github.com/opendaylight/l2switch/tree/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology
but I don't know if the service is working because of https://github.com/opendaylight/l2switch/blob/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology/NetworkGraphService.java#L41
But I've send this email to the code's author to see what he says about it.
Best regards,
--André


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(https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:L2_Switch) 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?

Thanks,
Junzhuo



_______________________________________________
L2switch-dev mailing list
L2switch-dev@...https://lists.opendaylight.org/mailman/listinfo/l2switch-dev


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

Y. Richard Yang
 



On Fri, Aug 7, 2015 at 1:30 PM, Evan Zeller <evanrzeller@...> wrote:
You may be interested in https://wiki.opendaylight.org/view/BGP_LS_PCEP:Main , as for other protocols there is no such module that I know of. It seems to me that this baseline traditional networking functionality is one of the first things newcomers to ODL look for, but don't find as actual resources seem focused in other areas. Food for thought...

Is this something to engage the ODL TSC to look into?

Richard
 
As far as the path functionality in l2switch I'm not sure about it. Maybe Amit can comment on it.

On Fri, Aug 7, 2015 at 8:24 AM, Junzhuo Wang <wangjunzhuo200@...> wrote:
A further question. Is there a layer 3 routing module could make OpenFlow switcher acts like a traditional router?

Thanks!
Junzhuo


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.

Thanks!
Junzhuo


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. FlowWriterServiceImpl.java 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 (https://github.com/opendaylight/l2switch/blob/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology/NetworkGraphImpl.java#L123). 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.

Junzhuo


Hi Junzhuo.
The code is here https://github.com/opendaylight/l2switch/tree/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology
but I don't know if the service is working because of https://github.com/opendaylight/l2switch/blob/master/loopremover/implementation/src/main/java/org/opendaylight/l2switch/loopremover/topology/NetworkGraphService.java#L41
But I've send this email to the code's author to see what he says about it.
Best regards,
--André


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(https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:L2_Switch) 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?

Thanks,
Junzhuo



_______________________________________________
L2switch-dev mailing list
L2switch-dev@...
https://lists.opendaylight.org/mailman/listinfo/l2switch-dev


回复:Re: Re: About path computation in ODL

陈明明 <mingmingminne@...>
 

Hi JunZhuo,
I would like to make a supplement. There is a packet-in reason. When the value is NO MATCH It will cause packet-out. I Hope It will help you.

Best Regards,
在2015年08月06日 00:14,Junzhuo Wang 写道:

Hi Mingming,

I'll try to follow your recommendation, thanks a lot!

Junzhuo

2015-08-06 0:10 GMT+08:00 陈明明 <mingmingminne@...>:
Hi JunZhuo,
There is a suggestion. You can take packet-in as a clue(Beacause It will cause packet-out referring to path calculation). I remember It is in openflowplugin. Then try to find its implementation, how a packet-in message acts to invoke path calculation then send a packet-out message. This is my assumption. If you have any ideas Please discuss with me.

Regards,
在2015年08月05日 23:58,Junzhuo Wang 写道:
Hi Mingming,

Thanks! I haven't found the AD-SAL routing function yet and I'll continue to find it. Do you have any clues or keywords to pinpoint it? Because I can only locate the MD-SAL interfaces right now. 

Junzhuo

2015-08-05 23:48 GMT+08:00 陈明明 <mingmingminne@...>:
Hi JunZhuo,
I have told Shu how to invoke addflow. Now the problem is how to compute path, right? I know that there is a ad sal routing method using D algorithm. now you have find md sal routing,right? I can not get my laptop because of my younger brother's wedding. 3 days later I can reply you at least. I will try to find ways to get code as long as I am free. Sorry not to  answer your question right now. I will communicate with you later. 
Best Regards,
Mingming

发自网易邮箱大师
在2015年08月05日 23:24,Junzhuo Wang 写道:
Hi mingming,

I'm trying to find a API to compute the link path between two hosts. So I read the code from openflowplugin (add@... and addFlow@SalFlowServiceImpl). But seems the it just ad given flows to switchers rather than calculate the path. 

So I turn to OpenDayLight/controller to find a function to get the path. I found that org.opendaylight.controller.sal.routing provides a getRoute method but it no longer be used in the newer ODL (may be it's a AD-SAL function). Now ODL using org.opendaylight.controller.md.sal.common.api.routing to compute path. But I can't find out where the implement is and how to use it. Do you have any ideas?

Thanks!

Junzhuo









Re: About path computation in ODL

Austin
 

Hi Mingming,

I'll try to follow your recommendation, thanks a lot!

Junzhuo

2015-08-06 0:10 GMT+08:00 陈明明 <mingmingminne@...>:

Hi JunZhuo,
There is a suggestion. You can take packet-in as a clue(Beacause It will cause packet-out referring to path calculation). I remember It is in openflowplugin. Then try to find its implementation, how a packet-in message acts to invoke path calculation then send a packet-out message. This is my assumption. If you have any ideas Please discuss with me.

Regards,
在2015年08月05日 23:58,Junzhuo Wang 写道:
Hi Mingming,

Thanks! I haven't found the AD-SAL routing function yet and I'll continue to find it. Do you have any clues or keywords to pinpoint it? Because I can only locate the MD-SAL interfaces right now. 

Junzhuo

2015-08-05 23:48 GMT+08:00 陈明明 <mingmingminne@...>:
Hi JunZhuo,
I have told Shu how to invoke addflow. Now the problem is how to compute path, right? I know that there is a ad sal routing method using D algorithm. now you have find md sal routing,right? I can not get my laptop because of my younger brother's wedding. 3 days later I can reply you at least. I will try to find ways to get code as long as I am free. Sorry not to  answer your question right now. I will communicate with you later. 
Best Regards,
Mingming

发自网易邮箱大师
在2015年08月05日 23:24,Junzhuo Wang 写道:
Hi mingming,

I'm trying to find a API to compute the link path between two hosts. So I read the code from openflowplugin (add@... and addFlow@SalFlowServiceImpl). But seems the it just ad given flows to switchers rather than calculate the path. 

So I turn to OpenDayLight/controller to find a function to get the path. I found that org.opendaylight.controller.sal.routing provides a getRoute method but it no longer be used in the newer ODL (may be it's a AD-SAL function). Now ODL using org.opendaylight.controller.md.sal.common.api.routing to compute path. But I can't find out where the implement is and how to use it. Do you have any ideas?

Thanks!

Junzhuo







回复:Re: About path computation in ODL

陈明明 <mingmingminne@...>
 

Hi JunZhuo,
There is a suggestion. You can take packet-in as a clue(Beacause It will cause packet-out referring to path calculation). I remember It is in openflowplugin. Then try to find its implementation, how a packet-in message acts to invoke path calculation then send a packet-out message. This is my assumption. If you have any ideas Please discuss with me.

Regards,
在2015年08月05日 23:58,Junzhuo Wang 写道:

Hi Mingming,

Thanks! I haven't found the AD-SAL routing function yet and I'll continue to find it. Do you have any clues or keywords to pinpoint it? Because I can only locate the MD-SAL interfaces right now. 

Junzhuo

2015-08-05 23:48 GMT+08:00 陈明明 <mingmingminne@...>:
Hi JunZhuo,
I have told Shu how to invoke addflow. Now the problem is how to compute path, right? I know that there is a ad sal routing method using D algorithm. now you have find md sal routing,right? I can not get my laptop because of my younger brother's wedding. 3 days later I can reply you at least. I will try to find ways to get code as long as I am free. Sorry not to  answer your question right now. I will communicate with you later. 
Best Regards,
Mingming

发自网易邮箱大师
在2015年08月05日 23:24,Junzhuo Wang 写道:
Hi mingming,

I'm trying to find a API to compute the link path between two hosts. So I read the code from openflowplugin (add@... and addFlow@SalFlowServiceImpl). But seems the it just ad given flows to switchers rather than calculate the path. 

So I turn to OpenDayLight/controller to find a function to get the path. I found that org.opendaylight.controller.sal.routing provides a getRoute method but it no longer be used in the newer ODL (may be it's a AD-SAL function). Now ODL using org.opendaylight.controller.md.sal.common.api.routing to compute path. But I can't find out where the implement is and how to use it. Do you have any ideas?

Thanks!

Junzhuo






Re: About path computation in ODL

Austin
 

Hi Mingming,

Thanks! I haven't found the AD-SAL routing function yet and I'll continue to find it. Do you have any clues or keywords to pinpoint it? Because I can only locate the MD-SAL interfaces right now. 

Junzhuo

2015-08-05 23:48 GMT+08:00 陈明明 <mingmingminne@...>:

Hi JunZhuo,
I have told Shu how to invoke addflow. Now the problem is how to compute path, right? I know that there is a ad sal routing method using D algorithm. now you have find md sal routing,right? I can not get my laptop because of my younger brother's wedding. 3 days later I can reply you at least. I will try to find ways to get code as long as I am free. Sorry not to  answer your question right now. I will communicate with you later. 
Best Regards,
Mingming

发自网易邮箱大师
在2015年08月05日 23:24,Junzhuo Wang 写道:
Hi mingming,

I'm trying to find a API to compute the link path between two hosts. So I read the code from openflowplugin (add@... and addFlow@SalFlowServiceImpl). But seems the it just ad given flows to switchers rather than calculate the path. 

So I turn to OpenDayLight/controller to find a function to get the path. I found that org.opendaylight.controller.sal.routing provides a getRoute method but it no longer be used in the newer ODL (may be it's a AD-SAL function). Now ODL using org.opendaylight.controller.md.sal.common.api.routing to compute path. But I can't find out where the implement is and how to use it. Do you have any ideas?

Thanks!

Junzhuo




回复:About path computation in ODL

陈明明 <mingmingminne@...>
 

Hi JunZhuo,
I have told Shu how to invoke addflow. Now the problem is how to compute path, right? I know that there is a ad sal routing method using D algorithm. now you have find md sal routing,right? I can not get my laptop because of my younger brother's wedding. 3 days later I can reply you at least. I will try to find ways to get code as long as I am free. Sorry not to  answer your question right now. I will communicate with you later. 
Best Regards,
Mingming

发自网易邮箱大师
在2015年08月05日 23:24,Junzhuo Wang 写道:

Hi mingming,

I'm trying to find a API to compute the link path between two hosts. So I read the code from openflowplugin (add@... and addFlow@SalFlowServiceImpl). But seems the it just ad given flows to switchers rather than calculate the path. 

So I turn to OpenDayLight/controller to find a function to get the path. I found that org.opendaylight.controller.sal.routing provides a getRoute method but it no longer be used in the newer ODL (may be it's a AD-SAL function). Now ODL using org.opendaylight.controller.md.sal.common.api.routing to compute path. But I can't find out where the implement is and how to use it. Do you have any ideas?

Thanks!

Junzhuo



About path computation in ODL

Austin
 

Hi mingming,

I'm trying to find a API to compute the link path between two hosts. So I read the code from openflowplugin (add@... and addFlow@SalFlowServiceImpl). But seems the it just ad given flows to switchers rather than calculate the path. 

So I turn to OpenDayLight/controller to find a function to get the path. I found that org.opendaylight.controller.sal.routing provides a getRoute method but it no longer be used in the newer ODL (may be it's a AD-SAL function). Now ODL using org.opendaylight.controller.md.sal.common.api.routing to compute path. But I can't find out where the implement is and how to use it. Do you have any ideas?

Thanks!

Junzhuo


Re: [release] [Reminder] Offset 2 M1 status due on Thursday 8/6

dongshu
 

Thanks @Kai. I just updated the doc with my IRC handler.

From,
Shu

On Wed, Aug 5, 2015 at 10:22 AM, Yichen Qian <92yichenqian@...> wrote:
Hi Kai,

Thank you for the reminding. I’ll fill in the name soon.

Best,
Yichen

On Aug 5, 2015, at 9:14 AM, Gao Kai <gaok12@...> wrote:

Hi all,

The request on M1 status is coming as we expected.

I believe there are only two things we need to take care of right now: the IRC handles of @Shu and @Yichen, and the release plan page where  I have filled in some contents already.  Please fill in your IRC names and (I believe) we can mark our status as 'complete'.

Thanks!

Regards,
Kai
 


-------- Forwarded Message --------
Subject:[release] [Reminder] Offset 2 M1 status due on Thursday 8/6
Date:Tue, 4 Aug 2015 18:45:04 +0000
From:George Zhao <George.Y.Zhao@...>
To:release@... <release@...>
CC:dev@... <dev@...>


Hello,
 
Offset 2 project M1 status is due on 8/6 (Thursday), Please send an email to release ML with the following info and fill up the spreadsheet [1]
 
Offset: 2
Project Lead:
Project Contact: â€‹
Test Contact:
Documentation Contact: 
Published Draft Release plan: (url)
Main Page(url):
 
​
Regards,
Dana
 


<Attached Message Part.txt>


_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev



Re: [release] [Reminder] Offset 2 M1 status due on Thursday 8/6

Yichen Qian
 

Hi Kai,

Thank you for the reminding. I’ll fill in the name soon.

Best,
Yichen

On Aug 5, 2015, at 9:14 AM, Gao Kai <gaok12@...> wrote:

Hi all,

The request on M1 status is coming as we expected.

I believe there are only two things we need to take care of right now: the IRC handles of @Shu and @Yichen, and the release plan page where  I have filled in some contents already.  Please fill in your IRC names and (I believe) we can mark our status as 'complete'.

Thanks!

Regards,
Kai
 


-------- Forwarded Message --------
Subject:[release] [Reminder] Offset 2 M1 status due on Thursday 8/6
Date:Tue, 4 Aug 2015 18:45:04 +0000
From:George Zhao <George.Y.Zhao@...>
To:release@... <release@...>
CC:dev@... <dev@...>


Hello,
 
Offset 2 project M1 status is due on 8/6 (Thursday), Please send an email to release ML with the following info and fill up the spreadsheet [1]
 
Offset: 2
Project Lead:
Project Contact: â€‹
Test Contact:
Documentation Contact: 
Published Draft Release plan: (url)
Main Page(url):
 
​
Regards,
Dana
 


<Attached Message Part.txt>


[release] [Reminder] Offset 2 M1 status due on Thursday 8/6

Gao Kai <gaok12@...>
 

Hi all,

The request on M1 status is coming as we expected.

I believe there are only two things we need to take care of right now: the IRC handles of @Shu and @Yichen, and the release plan page where  I have filled in some contents already.  Please fill in your IRC names and (I believe) we can mark our status as 'complete'.

Thanks!

Regards,
Kai



-------- Forwarded Message --------
Subject: [release] [Reminder] Offset 2 M1 status due on Thursday 8/6
Date: Tue, 4 Aug 2015 18:45:04 +0000
From: George Zhao <George.Y.Zhao@...>
To: release@... <release@...>
CC: dev@... <dev@...>


Hello,

 

Offset 2 project M1 status is due on 8/6 (Thursday), Please send an email to release ML with the following info and fill up the spreadsheet [1]

 

Offset: 2

Project Lead:

Project Contact: ​

Test Contact:

Documentation Contact: 

Published Draft Release plan: (url)

Main Page(url):

 

​

Regards,

Dana

 




Re: Few questions on ALTO and ONOS

MD I. Islam <tamim@...>
 

Thanks Dr. Yang. I'll look into it. It makes lot of sense to think before implementing.

On Aug 2, 2015 3:49 AM, "Y. Richard Yang" <yry@...> wrote:
Tamim,

We identified two interfaces that we need to finish soon:
- element state interface
- routing state interface

The key to implement ECS is to design and implement the two interfaces. It will be great if you can engage, before coding. 

Here is a link that I liked a lot. It says that we need to think before implement:

Richard

On Sunday, August 2, 2015, MD I. Islam <tamim@...> wrote:

Thanks Shu! This will surely help setting up the development environment. I'll let you know if I face any issue.

On Aug 1, 2015 9:54 PM, "Shu Dong" <dongs2011@...> wrote:
Hi Tamim,

Sorry for the delay, I just saw your email.

I wrote a doc for people to get into ODL and ALTO quickly. You can start from it: https://docs.google.com/document/d/1nx2U5WvVlCU-dierN-EF9L5iAzRrNNr1S73EzsSjAmo/edit#. Also, there some local code changes including interop tests and the new ECS implementation we have not pushed into ODL Gerrit but we will soon. I will remind you when the code has been updated. 

Hope it helps. Thanks a lot.

From,
Shu

On Sun, Aug 2, 2015 at 9:38 AM, MD I. Islam <tamim@...> wrote:

Thanks Dr. Yang. My skype ID: tamim_217. I'm visiting Cincinnati. Still I will attend the meeting over phone.

On Aug 1, 2015 9:32 PM, "Y. Richard Yang" <yry@...> wrote:
@Shu, thanks a lot for providing the update! 

@Tamim, we do not use a single VM. Let's see what we can do to get the sharing-with-you started.

We will have a sync up at 10 pm (US ET) today. If you get this email in time, please send me your Skype so that I can add you.

Thanks!

Richard 

On Sunday, August 2, 2015, MD I. Islam <tamim@...> wrote:

Thanks Shu! Is it possible to share the VM (development environment) with me? I'm new to ODL. Having everything setup would be very helpful for me to start with.

Thanks
Tamim

On Aug 1, 2015 1:32 PM, "Shu Dong" <dongs2011@...> wrote:
Hi Tamim and Richard,

Here is how we compute the ECS now. We get the routing path from source host to dest host first, and then compute the endpoint cost according to the routing path and cost metric (e.g. bandwidth, hopcount). 

Computing routing path in ODL is the core of the design and the details are explained as follows:
1. We get the attachment points of source host and dest host, let's call it start_switch and end_switch, by L2Switch.
2. We read flow table of start_switch and find the matched flow entry according to src host IP and dst host IP. If matched flow entry is found, we get next switch from the flow entry, then we repeat this step to chase next switch until we get to end_switch.
4. If there is no matched flow entry, we will force ODL controller to compute a new routing path, by either invoking the path computing function or sending a fake packet. Once the path computing is done, we repeat step 2 until we get to end_switch.

In this way, we get the routing path. Following is the pseudo code:

sw_id = get_attachment_point(src)
dst_sw_id = get_attachment_point(dst)
while (sw_id != dst_sw_id) {
  r <- loop_up(src, dst) in sw_id's flow table
  if (!r) {
    forceComputeRoutingPath(src, dst)
    r <- loop_up(src, dst) in sw_id's flow table
  } 
  sw_id = get_sw_id(r) 
}
 

Once we get the routing path, we can compute endpoint costs based on different cost metrics. Hopcount is easy to compute while bandwidth is a little more complicated since we have to get the bandwidth of each link at first.

@Richard The following is what we have done during the past three days:
1. Get attachment point of host by host IP address. Done. (Shu, Xiao)
2. Look up flow table to get matching flow entry and next switch. Almost Done. (Xiao, Shu)
3. Figure out how to force ODL controller to compute routing path. In progress. (Mingming)
4. Setting up a mininet + controller test environment in our lab. (Junzhuo, Xiao)
5. Some code refactoring. (Shu)

Things left to be done:
1. Figure out how to force ODL controller to compute routing path.
2. Figure out how to get bandwidth of each link.
3. Combine all the parts together.

From tomorrow, we will focus on left problems. Mingming has made some progress in the first one but it will be great if we have someone else to help.

Thanks a lot.

From,
Shu


On Sat, Aug 1, 2015 at 11:55 PM, Y. Richard Yang <yry@...> wrote:
Dear Tamim,

Thanks for the update. We had a mini design summit on ECS last week. The plan is to have a running version in two weeks. Given your questions, it is a good idea that we write down the design soon so that we can all work together. 

@Shu/Junzhuo: I believe that you are leading the ECS design. Can you write down the discussion soon so that we can discuss with Tamim and others.

Thanks!

Richard

On Sat, Aug 1, 2015 at 11:32 AM, MD I. Islam <tamim@...> wrote:
Hi

Could you please advise me if I have understood ECS correctly? 

I was told, in the first step, we calculate the shortest hop-count assuming that the link metric is 1. Do we just implement a shortest-path algorithm for the topology graph based on the data from TopologyManager?

Next step is to figure out a natural interface, in ODL, to configure link metrics and compute routing cost. Do we design a YANG model to configure link properties (link cost metrics)? Currently I don't see link properties (such as delay, bandwidth) in NodeConnector or TopologyUserLinkConfig. Am I missing anything? Do we have to design a data structure to store the cost metric for each link?

Which version of ODL do I look into? I don't see TopologyManager code in the Lithium release. I only see the class files. Am I missing anything? However I see the TopologyManager in Hydrogen release. 

Looking forward to your suggestions.

Thanks
Tamim  

.

On Fri, Jul 17, 2015 at 11:19 PM, MD I. Islam <tamim@...> wrote:

Thanks Kai! I'm looking into it.

On Jul 17, 2015 11:07 PM, "Y. Richard Yang" <yry@...> wrote:
Tamim,

Yes. As Kai pointed out, the TopologyManager is a good place to get started. Could you please start to take a look and then we can sync up?

Thanks!

Richard 

On Saturday, July 18, 2015, Gao Kai <godrickk@...> wrote:
There was a topologymanager in earlier releases you might look into.

On 18/07/15 02:14, MD I. Islam wrote:
That sounds great. Is there an ODL service that I can use to get the network topology and link metric? 

On Fri, Jul 17, 2015 at 1:36 PM, Y. Richard Yang <yry@...> wrote:
Tamim,

On Saturday, July 18, 2015, MD I. Islam <mislam4@...> wrote:
Yeah, interested. Is that the Endpoint Cost Service?
 
Yes. You got it.

 
What are the metrics we are considering? 

One basic step is to make sure we get shortest path fully right. A natural link metric is 1, and we get shortest hop count. A next step is to figure out a natural interface, in ODL, to configure link metrics, and we compute routing cost. A third component in ODL to conduct traffic engineering.

Let's get a couple proposals out in next week. How does this sound?

Richard 
 

On Fri, Jul 17, 2015 at 12:45 PM, Y. Richard Yang <yry@...> wrote:
Dear Tamim,

Wonderful! 

Per my personal wish list, a main feature that I want to improve on is high quality ECS service, based on various metrics. Any interest?

Richard

On Sat, Jul 18, 2015 at 12:35 AM, MD I. Islam <mislam4@...> wrote:
Yeah, sure. I'm interested on adding features to the ALTO ODL server. Please let me know what you want me to do.

Thanks
Tamim

On Fri, Jul 17, 2015 at 12:12 PM, Y. Richard Yang <yry@...> wrote:
Dear Tamim,

Thanks a lot for the questions. Sorry for the late reply, as I am working on a few deadlines. How about we schedule a time to discuss the items in details later next week?

In the mean time, are you interested in engaging more in the alto effort? For example, we are working on adding more features to the ODL server. Any interest in getting engaged?

Thanks!

Richard

On Thu, Jul 16, 2015 at 2:27 PM, MD I. Islam <mislam4@...> wrote:

I have few questions in mind.

How can we get the dynamic cost map from OpenFlow switch? Do we use OpenFlow meter? Are we considering about dynamic cost-map at all? As there will be multiple competing flows, so available bandwidth will change over time. Please advise.

Can we also create a paradigm to cache contents in the SDN controller (or in a controller app)? I think, this shouldn't be in the context of ALTO, but still would be very helpful. For example, if multiple clients watch a live video on a campus network, we should be able to cache the video slices in the controller. Then controller can push the content proactivly without notifying the clients. Again controller can serve the content in a reactive manner through a north bound protocol.

Today I was trying to write a simple application in ONOS. I was trying the VM from sdnhub. I could run ONOS. The sample Foo program compiled, but I couldn't load it on Karaf. If you have a VM that has the development environment setup, that will be very helpful to start.

Please don't hesitate to let me know if i get anything wrong. Looking forward to your suggestions.

Thanks
Tamim




--
-- 
 =====================================
| Y. Richard Yang <yry@...>   |
| Professor of Computer Science       |
 =====================================




--
-- 
 =====================================
| Y. Richard Yang <yry@...>   |
| Professor of Computer Science       |
 =====================================

_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev




--
Richard

_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev




_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev



--
Richard

_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev





--
-- 
 =====================================
| Y. Richard Yang <yry@...>   |
| Professor of Computer Science       |
 =====================================

--
You received this message because you are subscribed to the Google Groups "alto-design" group.
To unsubscribe from this group and stop receiving emails from it, send an email to alto-design+unsubscribe@....
To post to this group, send email to alto-design@....
To view this discussion on the web visit https://groups.google.com/d/msgid/alto-design/CANUuoLqi%3DU_mcv1gm5Rgf0p48PdLX3V_xrHLngwk%2BADCrEmFsg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.



--
Richard



--
Richard


Re: Mininet + Controller test environment set up in lab 219

Y. Richard Yang
 

Xiao,

Thank you so much! Since such an environment can be useful to others, I cc'd the others on the list. If anyone else wants to use the setup, please let us know.

Richard


On Sunday, August 2, 2015, <linxiao9292@...> wrote:
Sure, I will post the URIs when we are ready.

From, 
Xiao


Date: Sun, 2 Aug 2015 15:18:04 +0800
Subject: Re: Mininet + Controller test environment set up in lab 219
From: jingxuan.n.zhang@...
To: linxiao9292@...
CC: dongs2011@...; yry@...; wangjunzhuo200@...; 92yichenqian@...; whr_hr_r@...; xinwang2014@...

Wonderful! Please post the URIs once everything works well, so that I can connect to the test environment during the following days when I am at home. That will be very helpful!

Also, please tell me if you need any help.

Thanks,
Jensen

2015-08-02 15:09 GMT+08:00 <linxiao9292@...>:
Hi all,

For your information, Junzhuo and I are trying to set up a Mininet + Controller test environment in our lab servers. We have set up Mininet in one server and controller, which is built from ODL integration project, in another one.

Recently, we have installed l2switch, DLUX and ALTO in controller and ran pingall in mininet successfully to get the whole topology(including hosts and switches) through ODL DLUX UI.  I am also trying to find matched flow entry by reading flow table of each switch and test related functions in the test environment. There is still something wrong with Yang-UI (which presents the tree structure of Yang model visually) but we are working on it. We hope it will make following tests and simulations easier and thus help everyone in the team.

Thanks.

From,
Xiao Lin



--
Richard

341 - 360 of 542