Re: [onos-dev] Intent framework with statistics

15 views
Skip to first unread message

Luca Prete

unread,
Mar 14, 2017, 1:16:41 PM3/14/17
to Davide Sanvito, ONOS Developers, Northbound brigade
Davide,

Thanks for your message. I'm ccing here the northbound brigade who may have members that might help.
This would be a great contribution!

At the moment, the thing we can do is to check if a certain path has enough banwidth to support your request (of course as long as you request for some bandwidth together at intent installation time). If there's enough bandwidth available the bandwidth is allocated (reserved) and the intent is installed. If there's not enough bandwidth available, the intent doesn't get installed.

If you're interested, the bandwidth checking and the allocation mechanism happens in ConnectivityIntentCompiler, that interacts with the ResourceService.

You can try bandwdith allocation from the CLI, adding the param -b BPS when you create an intent.

You can check if your bandwidth has been allocated correctly using the command allocations.

-Luca

On Tue, Mar 14, 2017 at 8:21 AM, Davide Sanvito <dsanv...@gmail.com> wrote:
Hi all,
I'm starting working on ONOS Intent framework and my idea is trying to integrate flow statistics in the intent compilation process, for example by taking into account current link load and not just the length of the path. Is there anything similar yet? Do you have any documentation in addition to the Wiki?
Thanks!
Best,
Davide Sanvito

--
You received this message because you are subscribed to the Google Groups "ONOS Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to onos-dev+unsubscribe@onosproject.org.
To post to this group, send email to onos...@onosproject.org.
Visit this group at https://groups.google.com/a/onosproject.org/group/onos-dev/.
To view this discussion on the web visit https://groups.google.com/a/onosproject.org/d/msgid/onos-dev/dff7466d-ce35-432a-b8a9-7662789502d2%40onosproject.org.

Yi Tseng

unread,
Mar 14, 2017, 5:18:28 PM3/14/17
to Davide Sanvito, ONOS Developers, Northbound brigade, Luca Prete
Hi Davide,

As far as I know, You can try implement a constraint with cost function, and put the constraint into intent.

For example, generate a constraint with all flow/port statics information. And return "link load" for specific link from cost function.

And connectivity intent compiler will use cost function in constraint for path calculation.


Yi

You received this message because you are subscribed to the Google Groups "Northbound brigade" group.
To unsubscribe from this group and stop receiving emails from it, send an email to brigade-northbound+unsubscribe@onosproject.org.
To post to this group, send email to brigade-northbound@onosproject.org.
Visit this group at https://groups.google.com/a/onosproject.org/group/brigade-northbound/.
To view this discussion on the web visit https://groups.google.com/a/onosproject.org/d/msgid/brigade-northbound/CAEL_9NM8DZTGfE05i5Xep1aJBtpVBcC9fCxwOCvsUDuMchT-fA%40mail.gmail.com.
For more options, visit https://groups.google.com/a/onosproject.org/d/optout.

dsanv...@gmail.com

unread,
Mar 15, 2017, 5:32:39 AM3/15/17
to Northbound brigade, dsanv...@gmail.com, onos...@onosproject.org, lu...@onlab.us
Luca, Yi,
thanks for your help!
Best,
Davide


On Tuesday, March 14, 2017 at 10:18:28 PM UTC+1, Yi Tseng wrote:
Hi Davide,

As far as I know, You can try implement a constraint with cost function, and put the constraint into intent.

For example, generate a constraint with all flow/port statics information. And return "link load" for specific link from cost function.

And connectivity intent compiler will use cost function in constraint for path calculation.


Yi
On Tue, Mar 14, 2017 at 10:16 AM, Luca Prete <lu...@onlab.us> wrote:
Davide,

Thanks for your message. I'm ccing here the northbound brigade who may have members that might help.
This would be a great contribution!

At the moment, the thing we can do is to check if a certain path has enough banwidth to support your request (of course as long as you request for some bandwidth together at intent installation time). If there's enough bandwidth available the bandwidth is allocated (reserved) and the intent is installed. If there's not enough bandwidth available, the intent doesn't get installed.

If you're interested, the bandwidth checking and the allocation mechanism happens in ConnectivityIntentCompiler, that interacts with the ResourceService.

You can try bandwdith allocation from the CLI, adding the param -b BPS when you create an intent.

You can check if your bandwidth has been allocated correctly using the command allocations.

-Luca
On Tue, Mar 14, 2017 at 8:21 AM, Davide Sanvito <dsanv...@gmail.com> wrote:
Hi all,
I'm starting working on ONOS Intent framework and my idea is trying to integrate flow statistics in the intent compilation process, for example by taking into account current link load and not just the length of the path. Is there anything similar yet? Do you have any documentation in addition to the Wiki?
Thanks!
Best,
Davide Sanvito

--
You received this message because you are subscribed to the Google Groups "ONOS Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to onos-dev+u...@onosproject.org.

--
You received this message because you are subscribed to the Google Groups "Northbound brigade" group.
To unsubscribe from this group and stop receiving emails from it, send an email to brigade-northbound+unsub...@onosproject.org.
To post to this group, send email to brigade-n...@onosproject.org.

ar...@smartx.kr

unread,
Jul 3, 2017, 6:03:43 AM7/3/17
to Northbound brigade, dsanv...@gmail.com, onos...@onosproject.org, lu...@onlab.us
Hi All,


I also interested in this work.

Is it similar to the "Metering support in the Intent FW" as mentioned in https://jira.onosproject.org/browse/ONOS-5867 ?

Is it completed or the work still on-going?


Best Regards,
Aris.

Luca Prete

unread,
Jul 3, 2017, 6:54:02 AM7/3/17
to Aris Risdianto, Northbound brigade, Davide Sanvito, onos...@onosproject.org, Pier Luigi Ventre
Aris,

Thanks. In truth the work hasn't started yet. I think the most complex part would be to design the right abstractions. For example, the intent framework, shouldn't be aware of meters, but rather of bandwidth constraints, to then be translated into OF meters, in case someone decides to use OF as the southbound protocol.

Would you like to help on this? Thoughts? Pierluigi Ventre -in cc- might be able to provide help.

Thanks a lot, as usual

-Luca

To unsubscribe from this group and stop receiving emails from it, send an email to brigade-northbound+unsubscribe@onosproject.org.

ARIS CAHYADI RISDIANTO

unread,
Jul 4, 2017, 1:21:02 AM7/4/17
to Luca Prete, Northbound brigade, Davide Sanvito, onos...@onosproject.org, Pier Luigi Ventre
Thanks Luca,


I think this work will be more more difficult than my previous work with ONOS.

In order to learn the simplest interaction between intent FW and resources, is the “connectivityIntentCommand” best place to start with?


Regards,
Aris.

Luca Prete

unread,
Jul 4, 2017, 3:12:59 AM7/4/17
to ARIS CAHYADI RISDIANTO, Northbound brigade, Davide Sanvito, onos...@onosproject.org, Pier Luigi Ventre
Yea,

I think so. You can also look at the ConnectivityIntentCompiler, which allocates resources already.
Anyway, resources are not really related to meters. With the resource service you reserve bandwidth, but you don't enforce it.

Pier can maybe elaborate a little bit more on the general strategy for meters. I guess somewhere there might be a first design doc.

-Luca

Pier Luigi Ventre

unread,
Jul 4, 2017, 3:24:30 AM7/4/17
to Northbound brigade, ar...@smartx.kr, dsanv...@gmail.com, onos...@onosproject.org, pl.v...@gmail.com
Luca, Aris
here there is the jira issue with the high level design document:

Thanks
Pier
To unsubscribe from this group and stop receiving emails from it, send an email to brigade-northbound+unsub...@onosproject.org.

Luca Prete

unread,
Jul 4, 2017, 3:33:41 AM7/4/17
to Pier Luigi Ventre, Northbound brigade, Aris Risdianto, Davide Sanvito, onos...@onosproject.org
Thanks!

To unsubscribe from this group and stop receiving emails from it, send an email to brigade-northbound+unsubscribe@onosproject.org.

--
You received this message because you are subscribed to the Google Groups "Northbound brigade" group.
To unsubscribe from this group and stop receiving emails from it, send an email to brigade-northbound+unsub...@onosproject.org.
To post to this group, send email to brigade-northbound@onosproject.org.

Aris Risdianto

unread,
Jul 4, 2017, 6:37:32 AM7/4/17
to Luca Prete, Pier Luigi Ventre, Northbound brigade, Davide Sanvito, onos...@onosproject.org
Thanks Luca and Pier,


I am still trying to understand the high level design.

In general, intent meters is not only cover bandwidth, but many other type of OF meters (such as flow count, bytes count, duration, etc.)

With current implementation, can we register into resource service to calculate the consumed bandwidth for a single intent?


Regards,
Aris.


Thanks!

Luca Prete

unread,
Jul 4, 2017, 10:01:48 AM7/4/17
to Aris Risdianto, Pier Luigi Ventre, Northbound brigade, Davide Sanvito, onos...@onosproject.org
So,

The resource service tracks how much bandwidth is available, and you can use it to allocate bandwidth. So, for example, initially it will tell you something like "port 2 has 10Mbps available". Then, you can say something like "reserve 2Mbps for intent X on port 2". If you query again the resource service, it will tell you "port 2 has 8Mbps available".

Your app or the intent framework should be able to use the remaining bandwidth information to decide if and how much you can still allocate.

All till here is possible today.

All good, but if a user decides to send through the switch on port 2 4Mbps instead of 2Mbps, he can still do it...To prevent this we need to enforce the 2Mbps bandwidth on the devices, for example using meters.

This is not possible (at least using the intent framework) today, and it's what we should work on.

-Luca

Aris Risdianto

unread,
Jul 5, 2017, 6:27:22 AM7/5/17
to Luca Prete, Pier Luigi Ventre, Northbound brigade, Davide Sanvito, onos...@onosproject.org
Thanks Luca for your explanation.

In my understanding, meters cover for passive (ex. measure/calculate the rate) and active (ex. decide action based on specific rate) purposes.

So, it seems more complex than I thought.

I will try to follow this work and wait some progress.
Meanwhile, I will check with intent bandwidth allocation or resource service for my specific implementation.


Regards,
Aris.


You received this message because you are subscribed to a topic in the Google Groups "Northbound brigade" group.
To unsubscribe from this topic, visit https://groups.google.com/a/onosproject.org/d/topic/brigade-northbound/t43piS2Dxhg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to brigade-northbound+unsub...@onosproject.org.
Reply all
Reply to author
Forward
0 new messages