How to create reactive flows

73 views
Skip to first unread message

Xobi Bhutto

unread,
Jul 4, 2014, 2:08:39 AM7/4/14
to open...@googlegroups.com
Hello i am new to IRIS and NS-3
"OFMStaticFlowEntryPusher.java" handles just dump list of flows
i want to make them reactive so there are only add and delete flow function
how will i make them from proactive to reactive? 

Jisoo Shin

unread,
Jul 6, 2014, 10:35:00 PM7/6/14
to open...@googlegroups.com
Hi, I can't fully understand your question.
'OFMStaticFlowEntryManager' of IRIS supports not only add or delete but retrieve function.
Its better to ask a question after referring to our WIKI below.
thanks.



Jisoo Shin

unread,
Jul 9, 2014, 1:12:41 AM7/9/14
to open...@googlegroups.com
Thanks for replying
in my point of view at this stage IRIS only have some dump entries of flows, it only forwards those entries, IRIS does not remember those entries 
so how could IRIS remember those entries so it can easily keep track on them,
and how the function addFlow() is working? it there any library or some UML diagrams to understand all those functions how those functions are working.
Thanks

---------------------------------------------------------------------------------------

Hi,
IRIS does not store any flow entry of switch. 
In case of OFMStaticFlowEntryManager, it remembers user input as a Map instead of saving flowmod or flow of switch.
Therefore, if IRIS needs to use that entry again, it makes flowmod using saved static flow entry(user input).
We think it is very unefficient that a controller keep track of all flow entries of switches.

Second, we are sorry that we cannot provied any library about addFlow. 
But addFlow function is very simple. It receives three parameters - static flow name(key of Map), static flow as Map type, switch DPID.
And it create and send flowmod with these input.
Serveral functions used in addFlow (insertDBEntry, addEntryToIndices, getFlowModMap and so on) are needed to manage static flow entries in OFMStaticFlowEntryManager.

Please use google groups forum to share Q&A.
Thanks. Have a good day.

Xobi Bhutto

unread,
Jul 9, 2014, 3:09:40 AM7/9/14
to open...@googlegroups.com
i am using OpenFlow 1.0 there i have found OFMStaticFllowEntryPusher.java, StaticFlowEntryStorage.java and StaticFlowEntryType.java
i think there are same methods defined to addFlow by getting getFloeModEntryTable().
i do not know it will work or not.
If you can find the solution regarding this in OpenFlow1.0 that will be helpful for me now until i switch to new version of it.
I did not found  OFMStaticFlowEntryManager in my version.

Jisoo Shin

unread,
Jul 9, 2014, 4:54:05 AM7/9/14
to open...@googlegroups.com
Hello. 
I think you may use OpenIRIS beta version. Right?
OFMStaticFlowEntryPusher is based on the module of FloodLight of BigSwitch.
From version of OpenIRIS 2.0, OFMStaticFlowEntryPusher is replaced with OFMStaticFlowEntryManager
because OFMStaticFlowEntryPusher is difficult to support OpenFlow 1.2+. 
So we fully reimplemented OFMStaticFlowEntryManager for easy support of not only OpenFlow 1.3.2 but 1.0
and we no longer use OFMStaticFlowEntryPusher.

But, if your OpenFlow switch is 1.0 only, you can use OFMStaticFlowEntryPusher of beta version of OpenIRIS.
Although OpenIRIS has been improved may problems, OFMStaticFlowEntryPusher will be work correcetly. 
(OFMStaticFlowEntryPusher does not support OpenFlow 1.2+.)

Thanks

Xobi Bhutto

unread,
Jul 17, 2014, 2:57:46 AM7/17/14
to open...@googlegroups.com
Thanks for your reply
i am little bit confused still
i am not getting the point that actually what you explained,

"In case of OFMStaticFlowEntryManager, it remembers user input as a Map
instead of saving flowmod or flow of switch".
i am not getting the point that what is user input. how it will get?
can you please tell this to me.
Thanks.

Jisoo Shin

unread,
Jul 17, 2014, 3:12:05 AM7/17/14
to open...@googlegroups.com
Hi again.
As you know, a static flow entry is a flow rule made by user through REST API.
So user(normally administrator of a network) can statically create flow rules to OF switches using curl like below.
ex) curl -d '{"switch":"00:00:00:00:00:00:00:01","name":"s1","priority":"101","eth_type":"0x0800","ipv4_src":"10.0.0.1","ipv4_dst":"10.0.0.2","active":"true","instructions":[{"apply_actions":[{"output":"2"}]}]}' http://{controller_ip}:8080/wm/staticflowentry/json

The following link shows how to use REST API of OFMStaticFlowEntryManager.

The 'user input' of OFMStaticFlowEntryManager means the data option(JSON formatted fields and values in parenthesis) of above curl command.

Thanks. Have a good day. :|)

Justin Park

unread,
Jul 17, 2014, 3:12:09 AM7/17/14
to open...@googlegroups.com
Hi,

I think OFMStatic get the user's input through the REST APIs.
By using curl command, a user can invoke the REST APIs exported by OFMStaticFlowEntryManager.
OFMStatic parses the message into some structure that can be stored in a Map, I guess.
Is this make sense to you?

Justin

Justin Park

unread,
Jul 17, 2014, 3:24:08 AM7/17/14
to open...@googlegroups.com
If your prefer GUI, you can also your a REST client like Advanced Rest Client from Chrome app store.


Reply all
Reply to author
Forward
0 new messages