Re: [onos-dev] Need help for on demand bandwidth

16 views
Skip to first unread message

Luca Prete

unread,
Mar 29, 2017, 11:23:01 AM3/29/17
to Alaitz Mendiola, Andrea Campanella, Jordi Ortiz, Kostas Stamos, Northbound brigade, ONOS Developers, Sonali Chandna, Thomas Vachuska
[sorry if you're receiving the email from multiple MLs]

Sonali,

Thanks for your message. I don't have a complete answer for you, but I'd like to put you in contact with some people from our community (in cc) that is quite a long time are working on a BoD application.

I've ccd also the north bound brigade, which is now actively working on two items: bandwidth allocation (possible in the intent framework from 1.9) and bandwidth enforcement (in progress, for the intent framework).

Hope it helps,

-Luca

Il giorno mar 28 mar 2017 alle 20:25 Sonali Chandna <sonalich...@gmail.com> ha scritto:
Hi, 

I am trying to create a on demand bandwidth functionality in ONOS. I found that "intent" API available here "https://github.com/opennetworkinglab/onos-app-samples/blob/master/calendar/src/main/java/org/onosproject/calendar/BandwidthCalendarResource.java" can be used  for same. 
I want to ask following things about it

  • How can I know which port a switch is running on to? (It is a parameter in bandwidth caledar REST API). I need to pass it as a parameter in POST request of "/intent" api.
  • Once I am able to make success POST REST API call on "/intent", how can I see if the bandwidth between switches used
  • If I am able create a host intent using ONOS cli with command "add-host-intent 00:00:00:00:00:01/-1 00:00:00:00:00:02/-1", then why am not I able to use "00:00:00:00:00:01" and 00:00:00:00:00:02" as hostId when making POST type API call to "/intent" end point? After making said API request, I get error on ONOS server console that hostID must be of 19 characters. 
attached are my screenshots. please help
Inline image 2





Inline image 1E

Regards Sonali

--
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.
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/CAEyy4s-qo2ALdxFUCRk47OkwNndo%2BJe91UvKQiUqEUKaeqPZ4Q%40mail.gmail.com.

Sonali Chandna

unread,
Mar 30, 2017, 8:32:27 AM3/30/17
to Luca Prete, Alaitz Mendiola, Andrea Campanella, Jordi Ortiz, Kostas Stamos, Northbound brigade, ONOS Developers, Thomas Vachuska
Hi, 

Is it please possible to get reply on above asked questions 

Regards
Sonali

On Wed, Mar 29, 2017 at 11:22 AM, Luca Prete <lu...@onlab.us> wrote:
[sorry if you're receiving the email from multiple MLs]

Sonali,

Thanks for your message. I don't have a complete answer for you, but I'd like to put you in contact with some people from our community (in cc) that is quite a long time are working on a BoD application.

I've ccd also the north bound brigade, which is now actively working on two items: bandwidth allocation (possible in the intent framework from 1.9) and bandwidth enforcement (in progress, for the intent framework).

Hope it helps,

-Luca
Il giorno mar 28 mar 2017 alle 20:25 Sonali Chandna <sonalich...@gmail.com> ha scritto:
Hi, 

I am trying to create a on demand bandwidth functionality in ONOS. I found that "intent" API available here "https://github.com/opennetworkinglab/onos-app-samples/blob/master/calendar/src/main/java/org/onosproject/calendar/BandwidthCalendarResource.java" can be used  for same. 
I want to ask following things about it

  • How can I know which port a switch is running on to? (It is a parameter in bandwidth caledar REST API). I need to pass it as a parameter in POST request of "/intent" api.
  • Once I am able to make success POST REST API call on "/intent", how can I see if the bandwidth between switches used
  • If I am able create a host intent using ONOS cli with command "add-host-intent 00:00:00:00:00:01/-1 00:00:00:00:00:02/-1", then why am not I able to use "00:00:00:00:00:01" and 00:00:00:00:00:02" as hostId when making POST type API call to "/intent" end point? After making said API request, I get error on ONOS server console that hostID must be of 19 characters. 
attached are my screenshots. please help
Inline image 2





Inline image 1E

Regards Sonali

--
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.

Sonali Chandna

unread,
Mar 31, 2017, 8:13:27 AM3/31/17
to Luca Prete, Alaitz Mendiola, Andrea Campanella, Jordi Ortiz, Kostas Stamos, Northbound brigade, ONOS Developers, Thomas Vachuska
Hi Folks, 

waiting for reply on this 

Regards
Sonali Chandna

Luca Prete

unread,
Mar 31, 2017, 12:13:10 PM3/31/17
to Sonali Chandna, Alaitz Mendiola, Andrea Campanella, Jordi Ortiz, Kostas Stamos, Northbound brigade, ONOS Developers, Thomas Vachuska
Sonali.

Sorry but we're all quite busy preparing the coming event, ONS (next week) - actually one of the most important for us during the year.

Can you please clarify what you're trying to achieve? This is what I understood:
* You'd like to use intents
* What you mean by on-demand bandwidth? Do you want to allocate bandwidth? Enforce bandwidth?

@Alaitz and @Jordi might be able to help, since they are developing a very similar app.

As I said, unfortunately don't expect to get replies very soon for the reasons explained above.

Best,

-Luca

Sonali Chandna

unread,
Apr 2, 2017, 12:07:29 PM4/2/17
to Luca Prete, Alaitz Mendiola, Andrea Campanella, Jordi Ortiz, Kostas Stamos, Northbound brigade, ONOS Developers, Thomas Vachuska
HI Luca,

i want to show bandwidth changing from 100G to 10 g during different parts of the day as well as show if again 100 is required controller will give it back

can u please suggest me for that

REgard
Sonali

Luca Prete

unread,
Apr 2, 2017, 2:42:49 PM4/2/17
to Sonali Chandna, Alaitz Mendiola, Andrea Campanella, Jordi Ortiz, Kostas Stamos, Northbound brigade, ONOS Developers, Thomas Vachuska
Sonali,

It really depends if you also want to enforce (and not only reserve) the bandwdith, or not, and if you want to use the intent framework for it.
If the two assumptions above are correct, I guess you'll need to wait for having meters support in the intent framework, something the northbound brigade is working on right now.

-Luca

Jordi Ortiz

unread,
Apr 2, 2017, 3:20:44 PM4/2/17
to Luca Prete, Sonali Chandna, Alaitz Mendiola, Andrea Campanella, Kostas Stamos, Northbound brigade, ONOS Developers, Thomas Vachuska
Hi,

I'll try to answer inline to all these emails to my best knowledge.

On 2 April 2017 at 20:42, Luca Prete <lu...@onlab.us> wrote:
Sonali,

It really depends if you also want to enforce (and not only reserve) the bandwdith, or not, and if you want to use the intent framework for it.
If the two assumptions above are correct, I guess you'll need to wait for having meters support in the intent framework, something the northbound brigade is working on right now.

Luca is right, the more straightforward and easy way to enforce bandwidth in openflow based devices is through meters. So first, I recommend that you inspect your devices technical notes to see if they support them. First hint, if they do not support openflow 1.3, then they do not support meters.

You might as a workaround create manual rules on the input port of the system and point them to a manually created meter. Then create intents for internal forwarding (highly recommended if you have more than one link). I attach a couple of pictures.





I continue answering below =P
 

-Luca

On Sun, Apr 2, 2017 at 9:07 AM, Sonali Chandna <sonalich...@gmail.com> wrote:
HI Luca,

i want to show bandwidth changing from 100G to 10 g during different parts of the day as well as show if again 100 is required controller will give it back

can u please suggest me for that

You want to do that with the already existing calendar app or you are willing to code something "new"?

 

REgard

 
Sonali

Il giorno mar 28 mar 2017 alle 20:25 Sonali Chandna <sonalich...@gmail.com> ha scritto:
Hi, 

I am trying to create a on demand bandwidth functionality in ONOS. I found that "intent" API available here "https://github.com/opennetworkinglab/onos-app-samples/blob/master/calendar/src/main/java/org/onosproject/calendar/BandwidthCalendarResource.java" can be used  for same. 
I want to ask following things about it

  • How can I know which port a switch is running on to? (It is a parameter in bandwidth caledar REST API). I need to pass it as a parameter in POST request of "/intent" api.
I guess you mean where your host is connected to. That can be shown with the hosts app BUT after, and only after the host generates some traffic. In cli you have the command hosts, in ui you can use the hosts (h shortcut) modifier.
  • Once I am able to make success POST REST API call on "/intent", how can I see if the bandwidth between switches used
It is not so straight forward from onos/openflow. There are some statistics, you could inspect those values periodically and make your own calculations.
My recommendation is to use a monitoring tool on the receiving host =)
  • If I am able create a host intent using ONOS cli with command "add-host-intent 00:00:00:00:00:01/-1 00:00:00:00:00:02/-1", then why am not I able to use "00:00:00:00:00:01" and 00:00:00:00:00:02" as hostId when making POST type API call to "/intent" end point? After making said API request, I get error on ONOS server console that hostID must be of 19 characters. 

Port -1 looks weird to me but not an expert on the other hand.

Regards
Jordi
 
attached are my screenshots. please help
Inline image 2





Inline image 1E

Regards Sonali

--
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/CAEyy4s-qo2ALdxFUCRk47OkwNndo%2BJe91UvKQiUqEUKaeqPZ4Q%40mail.gmail.com.





--
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.
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_9NM0%3DK5kGyA8CNAi2NQOs7XVS_dCydeo%2B5WndENTLJGUXg%40mail.gmail.com.

Sonali Chandna

unread,
Apr 2, 2017, 3:29:49 PM4/2/17
to Jordi Ortiz, Luca Prete, Alaitz Mendiola, Andrea Campanella, Kostas Stamos, Northbound brigade, ONOS Developers, Thomas Vachuska
Thanks Jordi.

I want to ask when i try POST of a intent it asks me for source destination port no. where can i see that
also  is there any external API available that i can use or i need to create my own API

REgards
Sonali

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

Jordi Ortiz

unread,
Apr 2, 2017, 3:39:33 PM4/2/17
to Sonali Chandna, Luca Prete, Alaitz Mendiola, Andrea Campanella, Kostas Stamos, Northbound brigade, ONOS Developers, Thomas Vachuska
Hi,

On 2 April 2017 at 21:29, Sonali Chandna <sonalich...@gmail.com> wrote:
Thanks Jordi.

I want to ask when i try POST of a intent it asks me for source destination port no. where can i see that
also  is there any external API available that i can use or i need to create my own API

Intents are directional so, you have an input port and an output port. Anything going into the input port will go out on the output port.
Not sure what is your issue there, you need to inspect the topology from the outside? I guess that is possible but probably @Luca is the one to answer that.
I don't use the rest apis in general.

Mehdi Namane

unread,
Apr 4, 2017, 1:29:24 AM4/4/17
to Luca Prete, Sonali Chandna, Alaitz Mendiola, Andrea Campanella, Jordi Ortiz, Kostas Stamos, Northbound brigade, ONOS Developers, Thomas Vachuska
Hi,

Ï'm interested în what you said about the bandwidth enforcement, may I ask if this task is done already, if no, how can we give a help to achieve it, because I really need it in my project.

Thank you in advance.
Best regards,

Pier Luigi Ventre

unread,
Apr 4, 2017, 8:03:27 AM4/4/17
to ONOS Developers, lu...@onlab.us, sonalich...@gmail.com, alaitz....@ehu.eus, and...@onlab.us, jordi...@um.es, kostas...@gmail.com, brigade-n...@onosproject.org, t...@onlab.us
> How can I know which port a switch is running on to? (It is a parameter in bandwidth caledar REST API). I need to pass it as a parameter in POST request of "/intent" api.Once I am able to make success POST REST API call on "/intent", how can I see if the bandwidth between switches usedIf I am able create a host intent using ONOS cli with command "add-host-intent 00:00:00:00:00:01/-1 00:00:00:00:00:02/-1", then why am not I able to use "00:00:00:00:00:01" and 00:00:00:00:00:02" as hostId when making POST type API call to "/intent" end point? After making said API request, I get error on ONOS server console that hostID must be of 19 characters. 
> attached are my screenshots. please help
>
>
>
>
>
>
>
>
>
>
> E
>
>
>
> Regards Sonali
>
>
>
>
> --
>
> 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.
>
> 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/CAEyy4s-qo2ALdxFUCRk47OkwNndo%2BJe91UvKQiUqEUKaeqPZ4Q%40mail.gmail.com.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> --
>
> 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.
Sonali,
the host id is in the form mac/vlan, and it should contains ":".

Thanks
Pier

Sonali Chandna

unread,
Apr 4, 2017, 8:44:43 AM4/4/17
to Mehdi Namane, Luca Prete, Alaitz Mendiola, Andrea Campanella, Jordi Ortiz, Kostas Stamos, Northbound brigade, ONOS Developers, Thomas Vachuska
hi,

its not yet done 
m looking forward from support from onos group

Aman K Mishra

unread,
Apr 8, 2017, 3:14:38 AM4/8/17
to ONOS Developers, sonalich...@gmail.com, lu...@onlab.us, alaitz....@ehu.eus, and...@onlab.us, kostas...@gmail.com, brigade-n...@onosproject.org, t...@onlab.us
Hi,

I want to achieve two tasks :

1. Know current ongoing bandwidth between two switches.
2. Instruct ONOS to maintain bandwidth of X GB between switch1 and switch2. I can create a GUI to input variables like bandwidth and switchIds.

I already read this thread and it is something about meter, intent, bandwidth allocation, bandwidth enforcement etc.

I want to know how can I achieve said tasks? I can consume REST API if there is any (which I think is not there yet) or I can use ONOS JAVA API to write some new REST APIs. I can also customise any existing REST API if it is doing something similar if not exactly what I require.

Before diving in to JAVA API classes to achieve what I require, I want to know whether ONOS JAVA API developed so far is capable to achieve said task or not? If it is, then it would be a great help If I can get list of ONOS JAVA API classes I should refer to.

Also, please let me know if my requirement has something technically wrong at basic level.

Sonali Chandna

unread,
Apr 8, 2017, 4:05:44 PM4/8/17
to Aman K Mishra, ONOS Developers, Luca Prete, Alaitz Mendiola, Andrea Campanella, Kostas Stamos, Northbound brigade, Thomas Vachuska
Hi ONLAB Group.

Is it possible for someone to give directions on how to achieve above said task

REgards
Sonali

Jordi Ortiz

unread,
Apr 13, 2017, 1:36:45 PM4/13/17
to Sonali Chandna, Aman K Mishra, ONOS Developers, Luca Prete, Alaitz Mendiola, Andrea Campanella, Kostas Stamos, Northbound brigade, Thomas Vachuska
Hi,

I'll try to give some directions but... you have a long path to walk.

Please continue reading in line.

On 8 April 2017 at 22:05, Sonali Chandna <sonalich...@gmail.com> wrote:
> Hi ONLAB Group.
>
> Is it possible for someone to give directions on how to achieve above said
> task
>
> REgards
> Sonali
>
> On Sat, Apr 8, 2017 at 3:14 AM, Aman K Mishra <mailtoam...@gmail.com>
> wrote:
>>
>> Hi,
>>
>> I want to achieve two tasks :
>>
>> 1. Know current ongoing bandwidth between two switches.

2 options:
- A meter statistics meter. So you create a meter or type stats (if
the device supports it meaning it is at least OpenFlow 1.3).
- Inspect all the flows that have as action the outport between the
two switches in each case and sum the bytes there. The flow statistics
are already stored (where, no idea, FlowStatisticsStore.java??? ) and
can be used to make any calculation. This task should be easy with a
minimum knowledge of java.

>> 2. Instruct ONOS to maintain bandwidth of X GB between switch1 and
>> switch2. I can create a GUI to input variables like bandwidth and switchIds.

That must be done with a meter or a queue. There is no way, at least
to my knowledge, on doing this without messing with queues because for
using the meters you need to rewrite all the flows which would make
almost any app unusable. Queues are applied to ports but again, you
are going beyond my actual knowledge. You better find a solution for
that problem with openflow and then ask how to do it with ONOS, IMHO.

Regards

>>
>> I already read this thread and it is something about meter, intent,
>> bandwidth allocation, bandwidth enforcement etc.
>>
>> I want to know how can I achieve said tasks? I can consume REST API if
>> there is any (which I think is not there yet) or I can use ONOS JAVA API to
>> write some new REST APIs. I can also customise any existing REST API if it
>> is doing something similar if not exactly what I require.

not so easy, sorry.

>>
>> Before diving in to JAVA API classes to achieve what I require, I want to
>> know whether ONOS JAVA API developed so far is capable to achieve said task
>> or not? If it is, then it would be a great help If I can get list of ONOS
>> JAVA API classes I should refer to.
>>
>> Also, please let me know if my requirement has something technically wrong
>> at basic level.

As I said, 1 is easy. 2 is difficult.

>
>
> --
> 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-northbo...@onosproject.org.
> To post to this group, send email to brigade-n...@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/CAEyy4s_toyjkfFi6NEYC7pUCPxikV37GcOB_%2BmaJ90c5ffY6gQ%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages