Link collection intent flow objective compiler specification

15 views
Skip to first unread message

Yi Tseng

unread,
Mar 14, 2017, 4:01:04 PM3/14/17
to brigade-n...@onosproject.org
Hello,

I wrote new documentation for new Link collection intent flow objective compiler (Hereinafter referred to as "compiler")

Previous document didn't describe much detail to new compiler.

Also, i think we need to write a specification for compiler to let people know what information it needed, and what it generated.

And people can use this spec to develop their own driver if they want to use intent + custom pipeline.

You can find the document here: https://docs.google.com/document/d/1UNBgD3pOstjY4dqQ-KZSwJ60nGY3OYdYNwHrMDrs5G8/edit#

Please feel free to leave comments and suggestions to the document.

Thank You


Yi

Yi Tseng

unread,
Mar 15, 2017, 6:20:22 PM3/15/17
to Michele Santuari, Northbound brigade
Hi Michele,

Since current LinkColectionIntentFlowObjectiveCompiler is designed for Corsa device/pipeline.

We need to change the compiler to become more general (see specification from previous email).

But this modification might cause Corsa pipeline unstable or crash, so we decide to put "Deprecated" tag to current compiler. And add a new compiler in ONOS.

ONOS will choose compiler depends on new configuration (new config in IntentConfigurableRegistrator).

The new configuration is temporary for us to choose old compiler or new compiler (default will be old compiler). This configuration will be removed in the future after we fully drop old compiler.


Yi

On Wed, Mar 15, 2017 at 12:00 PM, Yi Tseng <y...@onlab.us> wrote:
Hi Brian, Yuta, Pier:

Can you help me review this document?

Thank you.

Yi

Pier Luigi Ventre

unread,
Mar 20, 2017, 10:35:25 AM3/20/17
to Northbound brigade, Kostas Stamos
Hi Yi,
I think the best person to contact is Arthur from Corsa, which developed the new driver for corsa-l3-overlay pipeline which (I think) is based on the "old" link collection compiler.

Thanks
Pier

Pier Luigi Ventre

unread,
Mar 20, 2017, 11:20:56 AM3/20/17
to Northbound brigade
Yi,
I don't have particular comments about the design document. It is clear and capture what is your plan, thanks.

My only concern regards when something is not supported. A pipeline can send back an error context and this can lead to an Intent failed.
What do you think about this ? I would like to receive also other feedbacks about this.

As soon as possible I will review your code.

Thanks
Pier

Yi Tseng

unread,
Mar 20, 2017, 1:41:52 PM3/20/17
to Pier Luigi Ventre, Northbound brigade
Hi Pier,

I think it's already done by context and some pipeline (e.g. OF-DPA).

If a pipeline doesn't support something,  it can call use "onError" method in context in a objective, and use "UNSUPPORTED" error.

But currently IntentFW only change the state of Intent to "CORRUPT" state, and try reinstall it again.

I think it is better if IntentFW can record/show which Objective is failed.

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+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/1c180a4d-f823-4515-a5a1-f8b026ff1bdb%40onosproject.org.

Andrea Campanella

unread,
Mar 20, 2017, 1:59:23 PM3/20/17
to Yi Tseng, Pier Luigi Ventre, Northbound brigade, Yuta HIGUCHI
I agree with Pier's feedback about dealing with errors. NTT reported a similar feedback: when installing Intents we should provide a rollback policy in order to remove all elements that were installed but part of the intent that was not satisfied. 
I personally believe this should be part of the IntentFW not only try to reinstall but provide a removal mechanism. In order to do this "rollback" you definitely need to save the Objective that failed and rollback all the previous. 

I believe Yuta can provide more context, or has indeed some insight on this.

Cheers,
Andrea Campanella

Member of Technical Staff at ON.Lab



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.

Yi Tseng

unread,
Mar 21, 2017, 4:09:50 PM3/21/17
to Andrea Campanella, Pier Luigi Ventre, Northbound brigade, Yuta HIGUCHI
Hi Andrea,

Thanks for reply, we already stored error in flow objective context (but flow rule operation context didn't)

I think this can be another feature in IntentFW to provide rollback mechanism.

-Yi

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.
Visit this group at https://groups.google.com/a/onosproject.org/group/brigade-northbound/.

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

Andrea Campanella

unread,
Mar 22, 2017, 5:51:36 AM3/22/17
to Yi Tseng, Pier Luigi Ventre, Northbound brigade, Yuta HIGUCHI
Hi Yi,

yes, the context is stored but the reaction to it is just to retry the installation. I believe that depending on the error we could decide to go different ways.

Thanks for possibly including the Rollback into the IntentFW.

Cheers,
Andrea Campanella

Member of Technical Staff at ON.Lab



Pier Luigi Ventre

unread,
Mar 22, 2017, 10:13:48 AM3/22/17
to Northbound brigade, y...@onlab.us, pl.v...@gmail.com, y-hi...@onlab.us
Andrea,
this is exactly my point. We have to define different strategies in the IntentInstaller according to the error.

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

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

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

Yi Tseng

unread,
Mar 22, 2017, 5:37:57 PM3/22/17
to Northbound brigade, Pier Luigi Ventre, Andrea Campanella
Guys

I think this problem is not related to the intent flow objective compiler..

Can we start another thread to discuss this?

Pier
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+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+unsubscribe@onosproject.org.

Pier Luigi Ventre

unread,
Mar 25, 2017, 7:35:58 AM3/25/17
to Northbound brigade, pl.v...@gmail.com, and...@onlab.us
Yi,
I do believe yes, here we are doing a specific design choice: Filter.conditions == Fwd.selector.
Did you evaluate the implication of this choice on the current IntentFW design ?

Thanks
Pier
Pier
To unsubscribe from this group and stop receiving emails from it, send an email to brigade-northbound+unsub...@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.

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

Yi Tseng

unread,
Mar 27, 2017, 1:47:50 PM3/27/17
to Pier Luigi Ventre, Northbound brigade, Andrea Campanella
Hi Pier,

In my opinion, different pipeline might choose different criterion for filtering packets, it is better to keep all information.

Unless we develop a new constrain like "filter constrain" and choose which criterion we need.

Should we introduce new constrain for filtering objective?

-Yi

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

Pier Luigi Ventre

unread,
Mar 28, 2017, 8:37:48 AM3/28/17
to Northbound brigade, pl.v...@gmail.com, and...@onlab.us
Hi Yi,
to be clear, I agree with you on this strategy as starting point. However, I still see some problems we need to address.
Let's take a concrete example: ofdpa pipeline and vpls based on the mpls labels. What happens ? The Intent is
stuck because filtering objectives based on mpls labels are not supported while the forwarding objective will be correctly installed.
Another example could be something matching on a ip address (SDN-IP case).

Thanks
Pier
Pier
To unsubscribe from this group and stop receiving emails from it, send an email to brigade-northbound+unsub...@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.

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

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

Yi Tseng

unread,
Mar 28, 2017, 6:55:06 PM3/28/17
to Pier Luigi Ventre, Northbound brigade
Hi Pier,

I don't really understand the problem in your example. You mean we should make IntentFW support different case with different driver?

I think if a pipeline don't support some objective, it should send UNSUPPORTED error via objective context, and handled by IntentFW not just stuck there.

I don't expect IntentFW can works for all drivers/pipelines, but at least pipeliners can follow one spec if they want to support IntentFW.

Also, because VPLS(or other application use Intent) can only get high level view(Input, Output...), I don't think there is a good reason to add something like FilteringConstraint.

-Yi

Pier
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+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+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+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.
Reply all
Reply to author
Forward
0 new messages