[OPNFLWPLUG-184] Notification of FLOW_REMOVED is not sent when using the new OF plugin. Created: 09/Jun/14 Updated: 27/Sep/21 Resolved: 19/Jun/14 |
|
| Status: | Resolved |
| Project: | OpenFlowPlugin |
| Component/s: | General |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Hideyuki Tai | Assignee: | Hideyuki Tai |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: Linux |
||
| Issue Links: |
|
||||||||
| External issue ID: | 1167 | ||||||||
| Description |
|
I run the Virtualization edition with vtn option with the new OF plugin, and I had VTN Manager install flow entries whose idle timeout was configured to 300. Please note that when I run without the new OF plugin, but with the old OF plugin, IFlowProgrammerListener.flowRemoved(Node, Flow) was invoked correctly. What I used The latest version of the Virtualization Edition on 5th June. $ pwd odc180 $ git log -3 --oneline How to produce 1. Start up the Virtualization edition with -of13 and vtn option. $ ./run.sh -of13 -virt vtn 2. Create a virtual bridge using REST API exposed by VTN Manager. curl --user "admin":"admin" -H "Accept: application/json" -H \ ' curl --user "admin":"admin" -H "Accept: application/json" -H \ curl --user "admin":"admin" -H "Accept: application/json" -H \ curl --user "admin":"admin" -H "Accept: application/json" -H \ curl --user "admin":"admin" -H "Accept: application/json" -H \ , "port": {"name": "s3-eth1"}}' curl --user "admin":"admin" -H "Accept: application/json" -H \ , "port": {"name": "s7-eth2"}}' 3. Run Mininet and run OF1.0 switches. sudo mn --controller=remote,192.168.60.180 --topo tree,3 4. Send ping packets from h1 to h8. mininet> h1 ping h8 At this time, VTN Manager installs ten flow entries into the switches based on the above configuration. 5. Check flow entries in mininet. Two flow entries have "idle_timeout=300", in s3 and s7. mininet> dpctl dump-flows
6. Wait 300 seconds. 7. Check flow entries in mininet again. The two flow entries whose idle_timeout is configured 300 is removed. mininet> dpctl dump-flows
I captured all packets on the OpenFlow channels by using tcpdump, and confirmed that switches sent FLOW_REMOVED messages to the controller. |
| Comments |
| Comment by Michal Rehak [ 12/Jun/14 ] |
|
https://git.opendaylight.org/gerrit/#/c/7950/ Hideyuki, could you retest, please? |
| Comment by Hideyuki Tai [ 13/Jun/14 ] |
|
(In reply to michal rehak from comment #1) Thank you! |
| Comment by Abhijit Kumbhare [ 13/Jun/14 ] |
|
(In reply to Hideyuki Tai from comment #2) Looks like it needs merging into controller - adding EAW. |
| Comment by Hideyuki Tai [ 13/Jun/14 ] |
|
(In reply to michal rehak from comment #1) Hi Michal, I pulled the latest code of Integration Git repository, and built the Virtualization Edition on 13th June. After that, I re-executed the same scenario I written in comment #1. When OpenFlow switches on Mininet sent FLOW_REMOVED messages to the controller, I saw the following TRACE messages output by VTN Manager. 2014-06-13 10:24:54.332 EDT [md-sal-binding-notification-247] TRACE o.o.v.m.internal.VTNManagerImpl - default: flowRemoved() called: node=MD_SAL|openflow:7, , matches=14], actions = null, priori , matches=14], actions = null, priori However, action information in FLOW_REMOVED notification was wrong. |
| Comment by Michal Rehak [ 19/Jun/14 ] |
|
Right - missing instructions are caused by yang model. There are 2 types of flow removed notifications - one is fired upon successful sending of flowMod message to device and second is fired upon flow removal confirmation message received from device. Is this necessary for VTN manager to have instructions contained in flowRemoved notification? The reason for not having instructions here is simple - instructions are not sent within this message (as defined by OF-1.3 spec.). And flow can be identified by combination of priority and match. In case that instructions are necessary here, I would vote for creating another bug. Thank you. |
| Comment by Hideyuki Tai [ 19/Jun/14 ] |
|
(In reply to michal rehak from comment #5) Thank you for your confirmation. It is fine for VTN Manager to not have instructions in flowRemoved notification. |
| Comment by Michal Rehak [ 19/Jun/14 ] |
|
Great, |