-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Core ignores empty actions #135
Comments
Yes that is kind of by design. If the core would always prefer the higher priority it would the same as specifying only the module with the higher priority or do I miss something? |
I agree with you for the case of "no answer". But I'm not sure about the case of "no actions".
The workaround I'm using right now is to by-pass the composition by filtering packet-ins based on DPIDs: |
Hi @doriguzzi , I agree that drop with a higher priority should drop the packet. @ralvarep was testing different alternatives for this scenario in https://github.com/fp7-netide/Engine/tree/master/tests and he had some issues when PacketOuts were involved (because PacketOuts are sent independently of the FlowMods' actions). But if I'm not wrong, he managed to have a switch+firewall only with FlodMods actions implemented in OF1.3 and the firewall blocked the traffic. This code should be in that I'm going to talk to him and let you know in a while :) |
Hi @doriguzzi @schwabe , I realised of this behaviour in the core a few months ago and we talk about this in the three latest messages of #110. Indeed, if there is no FlowMod message from the application with the highest priority, the FlowMod message from the lowest priority application will be considered. I uploaded to the repository, in Engine/tests/of13-parallel-priority-firewall+switch/, a test scenario in which there are a firewall app (highest priority) and a switch app (lowest priority). When you generate explicitly a FlowMod from the firewall app with drop as an action, the core installs appropriately the drop rule from the firewall ignoring the FlowMod message from the switch app.
actions = [] <--- NO ACTIONS = DROP |
Hi @ElisaRojas , @ralvarep , thanks fo the support.
This is not what is happening to me. Empty actions are always overwritten by explicit actions, regardless of the priority. |
Hi @doriguzzi , Just to clarify, so you see all FlowMods going to the core (fwd+firewall), and only the one with explicit actions going to the network in the end? I'm asking this question because we thought that was happening at the beginning, but then we realised that the switch app was sending a PacketOut and thus traffic was not blocked because of that PacketOut (composition is not applied to PacketOuts, only to FlowMods). When we use only FlowMods (+buffer_id) in OF1.3, it worked. But if you are sure the non-empty FlowMod is being installed, then something has changed in the core for sure... because in #110 the situation was different. @schwabe , could you clarify? |
I have not touched the code since then. I will try to look into it on Monday. Sorry I am busy with another higher priority work today :/ |
Hi @ElisaRojas , |
Ok @doriguzzi , if you have time, I'd recommend using OF1.3 instead (which was the one working for us thanks to the buffer_id feature and the core has not changed since then). Otherwise, if you feel comfortable with your current demo, then it's ok 👍 |
Hi,
using the composition spec at https://github.com/fp7-netide/Engine/blob/master/core/specification/TwoSwitches.xml, I noticed a strange behavior.
If the FlowMod does not carry any action (which implicitly means DROP packet), it is not considered by the core, even if the module has a higher priority.
A module with higher priority is also ignored when it does not generate any response, the core uses the response of the other module even if the latter has a lower priority.
Any idea?
The text was updated successfully, but these errors were encountered: