Few questions on ALTO and ONOS


Y. Richard Yang
 

@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


MD I. Islam <tamim@...>
 

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


dongshu
 

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


MD I. Islam <tamim@...>
 

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


Y. Richard Yang
 

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


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


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



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



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




Jensen Zhang
 

Hi Danny,

I just notice that the version of odl-alto-provider you used is 0.2.0-SNAPSHOT, so I guess that you were using the latest master branch code in the ODL gerrit, right? This branch is unstable, and still has some bugs which are not fixed by us. So I suggest you try the stable/lithium branch, and I think the odl-alto-provider feature can work well in this branch. Also, we will fix bugs and make master branch work as soon as possible. But this is a developing branch and we are adding many new functions for it, so I cannot make sure it is stable.

The apidoc explorer (http://localhost:8181/apidoc/explorer/index.html) is provided by ODL (https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Restconf_API_Explorer), and it is independent of odl-alto-* feature. So I guess the karaf was not set up normally, if you couldn't connect to it. You can check the karaf log for more details, or post it up so that we can help you solve the problem better.

Best,
Jensen

2015-08-21 22:21 GMT+08:00 Danny Alex Lachos Perez <dlachosper@...>:

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



Danny
 

Hi all.

Thank for your answer.

As Jensen mentioned, I was using the MASTER branch. Now I am using the STABLE/LITHIUM branch and I already have available http://localhost:8181/apidoc/explorer/index.html. Now, I will continue testing some others ALTO Features and any other question or problem I will write. We at University of Campinas are developing a proof of concept of ALTO server implementation (for IXP-related use cases) based on Neo4j graph DB and OpenDaylight.

So once again, many thanks.

Ss

Danny

ps: I think that the manual (https://docs.google.com/document/d/1nx2U5WvVlCU-dierN-EF9L5iAzRrNNr1S73EzsSjAmo/edit#) could be updated because It is not clearly specified what kind of branch should be downloaded.


On Fri, Aug 21, 2015 at 1:19 PM, Jensen Zhang <jingxuan.n.zhang@...> wrote:
Hi Danny,

I just notice that the version of odl-alto-provider you used is 0.2.0-SNAPSHOT, so I guess that you were using the latest master branch code in the ODL gerrit, right? This branch is unstable, and still has some bugs which are not fixed by us. So I suggest you try the stable/lithium branch, and I think the odl-alto-provider feature can work well in this branch. Also, we will fix bugs and make master branch work as soon as possible. But this is a developing branch and we are adding many new functions for it, so I cannot make sure it is stable.

The apidoc explorer (http://localhost:8181/apidoc/explorer/index.html) is provided by ODL (https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Restconf_API_Explorer), and it is independent of odl-alto-* feature. So I guess the karaf was not set up normally, if you couldn't connect to it. You can check the karaf log for more details, or post it up so that we can help you solve the problem better.

Best,
Jensen

2015-08-21 22:21 GMT+08:00 Danny Alex Lachos Perez <dlachosper@...>:
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




dongshu
 

Hi Danny,

I just updated the doc as you suggested. Thanks a lot.

From,
Shu

On Sat, Aug 22, 2015 at 8:53 PM, Danny Alex Lachos Perez <dlachosper@...> wrote:
Hi all.

Thank for your answer.

As Jensen mentioned, I was using the MASTER branch. Now I am using the STABLE/LITHIUM branch and I already have available http://localhost:8181/apidoc/explorer/index.html. Now, I will continue testing some others ALTO Features and any other question or problem I will write. We at University of Campinas are developing a proof of concept of ALTO server implementation (for IXP-related use cases) based on Neo4j graph DB and OpenDaylight.

So once again, many thanks.

Ss

Danny

ps: I think that the manual (https://docs.google.com/document/d/1nx2U5WvVlCU-dierN-EF9L5iAzRrNNr1S73EzsSjAmo/edit#) could be updated because It is not clearly specified what kind of branch should be downloaded.


On Fri, Aug 21, 2015 at 1:19 PM, Jensen Zhang <jingxuan.n.zhang@...> wrote:
Hi Danny,

I just notice that the version of odl-alto-provider you used is 0.2.0-SNAPSHOT, so I guess that you were using the latest master branch code in the ODL gerrit, right? This branch is unstable, and still has some bugs which are not fixed by us. So I suggest you try the stable/lithium branch, and I think the odl-alto-provider feature can work well in this branch. Also, we will fix bugs and make master branch work as soon as possible. But this is a developing branch and we are adding many new functions for it, so I cannot make sure it is stable.

The apidoc explorer (http://localhost:8181/apidoc/explorer/index.html) is provided by ODL (https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Restconf_API_Explorer), and it is independent of odl-alto-* feature. So I guess the karaf was not set up normally, if you couldn't connect to it. You can check the karaf log for more details, or post it up so that we can help you solve the problem better.

Best,
Jensen

2015-08-21 22:21 GMT+08:00 Danny Alex Lachos Perez <dlachosper@...>:
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