Hello again Ali, Thank you for all you support so far. I think theres no way for me but to go into FlowVisor's code. So, at first, I have a question and appreciate any direction on how to go on with this:
At first, I'm really interested in how FLOW_MOD messages are handled. According to the FV Wiki (https://github.com/OPENNETWORKINGLAB/flowvisor/wiki/IO-Overview), is it correct to say that a FLOW_MOD message from a controller/slice will pass through a SLICER that will match it against the flowspace, rewrite it and push it to the switch? Thanks again, Victor T. On 3 September 2013 13:45, Ali Al-Shabibi <ali.al-shab...@stanford.edu> wrote: >> 1) So FV does update its FlowTable Cache from OF Messages going Switch <-> >> Controller. But when you say "at most every 30s, means that if it doesn't >> get any update it asks the switch for its FlowTable? The FlowMod thing means >> that the FlowVisor asks periodically for the switch for modified flows? >> > > So if no controller or user requests flowtable stats, FV does not store > anything in its cache nor does it make any periodic requests. But if your > controller asks for the flowtable then if it does not have a copy of the > flowtable or if the cache is old, it will fetch the flowtable from the > switch. Otherwise it will return the cached values. The reasoning behind this > is: > > 1. There may be many controllers sitting on top of FV, therefore there may be > many more flow table requests. > 2. On some switch implementations, asking for the flowtable is an expensive > operation (ie. forwarding may be delayed) > > For those two reasons, flowvisor caches the flowtable. Of course, you can > change the refresh rate if you know your switches do not suffer from those > issues. > > >> 2) If a slice controller wants to install a flow that changes the VLAN tag >> from A to B for a given flow, FV only approves it if the slice has >> Read/Write permissions on flowspace with dl_vlan=A and dl_vlan=B? > > That's is correct. > >> If dl_vlan is wildcarded then everything is allowed, right? > > Yup that's right as well. > >> Finally, if its set to NONE it cannot install or mod flows that have (to >> have) actions that change Vlan Tags? >> > > And correct again ;) > > >> >> Sorry for asking so much but since these particular questions are very >> important for our research I would lilke to understand it as accurately as >> possible. >> > > No worries, ask as many question as you can. > > >> Thank you very much! >> >> Victor T. >> >> >> >> On 3 September 2013 13:04, Ali Al-Shabibi <ali.al-shab...@stanford.edu> >> wrote: >> Hi Victor, >> >>> 1) Does FlowVisor updates its FlowDB as OF Messages pass through it? Or >>> does it asks directly the switches for their Flow Tables? Reading the >>> source code I'm inclined to think of the first option. >> >> You are mostly right. Flowvisor stores a cache of the flowtable which it >> refreshes at most every 30s (this is configurable in versions 1+ of FV). One >> important note is that flowmods are not stored when they are pushed down by >> a controller, but rather they are periodically read from the datapath. >> >>> >>> 2) I would like to be able to keep a certain controller from installing or >>> modding Flows that change the VLAN Tag of a packet, for instance. Can you >>> point out a direction to do this? I was investigating the source code, but >>> I'm not sure if I should try to implement a new Callback type or something >>> like that. >> >> FV will disallow a controller from pushing or modding a vlan tag if either >> that vlan tag is not in the flowspace associated to that controller or if >> dl_vlan is set to none. >> >>> >>> If I get to any results I would gladly pull it in the future. >>> >> >> That would be fantastic. Let me know if you need more help. >> >>> >>> Big thanks! >>> >>> Victor T. >>> >>> >>> On 30 August 2013 18:46, Ali Al-Shabibi <ali.al-shab...@stanford.edu> wrote: >>> Hi Victor, >>> >>> Currently, you cannot specify which openflow actions are allowed on a per >>> flowspace basis. This is clearly a desirable feature but unfortunately we >>> have not addressed it yet. We would welcome any pull requests/contributions >>> in this direction. >>> >>> Cheers. >>> >>> -- >>> Ali >>> >>> On Aug 30, 2013, at 11:58 AM, Victor Torres <vit...@poli.ufrj.br> wrote: >>> >>> > Hello, >>> > >>> > Does anybody know if it is possible to define allowed/denied actions for >>> > slices in FlowVisor? >>> > >>> > >>> > Best regards, >>> > >>> > Victor T. >>> > _______________________________________________ >>> > openflow-discuss mailing list >>> > openflow-discuss@lists.stanford.edu >>> > https://mailman.stanford.edu/mailman/listinfo/openflow-discuss >>> >>> >> > _______________________________________________ openflow-discuss mailing list openflow-discuss@lists.stanford.edu https://mailman.stanford.edu/mailman/listinfo/openflow-discuss