[OPNFLWPLUG-30] ping between hosts not working with OF10 Created: 15/Jan/14 Updated: 27/Sep/21 Due: 17/Jan/14 Resolved: 26/Jan/14 |
|
| Status: | Resolved |
| Project: | OpenFlowPlugin |
| Component/s: | General |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Moiz Raja | Assignee: | Vaclav Demcak |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| Attachments: |
|
| External issue ID: | 306 |
| Description |
|
After adding a topology in mininet pinging two hosts does not work. Initially there were some issues with the md-sal/ad-sal adaptation layer. These issues have been addressed by this commit https://git.opendaylight.org/gerrit/#/c/4238/ After the controller changes the ping between two hosts is still not working. |
| Comments |
| Comment by Moiz Raja [ 18/Jan/14 ] |
|
Since 01/16/2014 ping should be working for OF1.3. It is not working yet for OF1.0. On investigation I have atleast ruled out the compatibility layer because it behaves similarly for both 1.3 and 1.0. I got to the point where the ModelDrivenSwitchImpl#addFlow is called twice for a ping as would be expected - since two flows need to be programmed for a ping to work. However only the last added flow ever gets installed on the switch. It's almost like the addFlow call modifies the first flow instead of adding another. Would be good if someone with more openflow knowledge could look at this. |
| Comment by Moiz Raja [ 21/Jan/14 ] |
|
Attachment flowmod.pcapng has been added with description: flowmod capture |
| Comment by Moiz Raja [ 21/Jan/14 ] |
|
Michal, I have attached a wireshark capture which shows the flow mod messages that are sent by the controller when a ping is done between two hosts. From my looking at the trace it seemed to me that openflowjava may not be properly serializing the match field for OF1.0. The reason for this suspicion is that wireshark is not able to decode the match field for OF1.0 whereas it is able to do it properly for OF1.3. From debugging the code I saw that the match field was being passed on to openflowjava ConnectionAdapterImpl@flowMod in the FlowModInput object in the _matchV10 field (_match is null). Hopefully you can start debugging from this point and see what may be going on. |
| Comment by Michal Polkorab [ 21/Jan/14 ] |
|
Hi Moiz, I am unable to reproduce this issue (although pinging host for longer period of time). I can see no errors in the osgi console either. FlowMod messages in attached wireshark capture look OK. Michal |
| Comment by Moiz Raja [ 21/Jan/14 ] |
|
Michal, As per our conversation - one difference between your environment and mine is that you are using ovs 1.1 and I am using ovs 2.0. Please try out this experiment with ovs 2.0 and see if you can reproduce this problem. |
| Comment by Michal Polkorab [ 22/Jan/14 ] |
|
Attachment flowModsWithOvs20.pcapng has been added with description: FlowMod messages while pinging |
| Comment by Michal Polkorab [ 22/Jan/14 ] |
|
Hello, i tried with OVS 2.0 and the result is same - ping working for me. I can see no errors in the osgi console, packets look ok on the wire (see attachment). Michal |
| Comment by Madhusudhan Ananderi [ 22/Jan/14 ] |
|
ARP Handler - Ping defect There is a defect for this one using OF10 mininet (sudo mn --controller=remote,ip=127.0.0.1 --topo tree,2). It was working fine two days ago for OF13 mininet, but when I try to retest it now (By taking the latest plugin using OF13 mininet, sudo mn --controller=remote,ip=127.0.0.1 --topo tree,2 --switch ovsk,protocols=OpenFlow13), it is failing now for OF13mininet too. -Madhusudhan |
| Comment by Hideyuki Tai [ 23/Jan/14 ] |
|
It was failed to ping between hosts with OF 1.0 Mininet. I used the latest artifacts for the Base Edition. Using this, I started up the controller like this: $ /run.sh -of13 After starting the controller, I run OF 1.0 mininet, and execute ping command. I saw the following in the log: 2014-01-23 08:03:32.976 EST [nioEventLoopGroup-9-3] INFO o.o.o.p.impl.core.OFFrameDecoder - OF Protocol message received, type:17 |
| Comment by Madhusudhan Ananderi [ 24/Jan/14 ] |
|
We see the same problem in our lab/setup. Here are the details. Please check if there is a bug for this otherwise open one: After doing h1 ping h4 (mininet OF1.0) BAD mininet@mininet-vm:~\> sudo ovs-ofctl dump-flows s1 After doing h1 ping h4 (mininet OF1.3) GOOD mininet@mininet-vm:~\> sudo ovs-ofctl -O OpenFlow13 dump-flows s1 |
| Comment by Michal Polkorab [ 24/Jan/14 ] |
|
I have checked the OF10StatsReplyMessageFactory.setTable() method. Looks fine. Can you provide wireshark capture with the failed MultiPartReply message ? Thanks |
| Comment by Michal Polkorab [ 25/Jan/14 ] |
|
Hello, the deserialization issue is fixed by: https://git.opendaylight.org/gerrit/#/c/4767/ It is a temporary fix, because this issue is caused by the ovs switch (sending wrong data / OF1.0 Table Statistics). Change will be reverted once the ovs switch will work. Michal |
| Comment by Ed Warnicke [ 25/Jan/14 ] |
|
Please verify fix |
| Comment by Vaclav Demcak [ 26/Jan/14 ] |
|
Test env: INPUT 1 INPUT 2 RESULT |
| Comment by Vaclav Demcak [ 26/Jan/14 ] |
|
fix couple of misstakes in reported test data: testd minintes: Input: http://localhost:8080/restconf/config/opendaylight-inventory:nodes/node/openflow:2/table/2/flow/23 mininet> h1 ping h2 mininet@debian:~$ sudo ovs-ofctl -O OpenFlow10 dump-flows s2 |
| Comment by Vaclav Demcak [ 26/Jan/14 ] |
|
mininet@debian:~$ sudo ovs-ofctl -O OpenFlow10 dump-flows s2 |