[NETVIRT-871] SNAT not working from Non-NAPT switch node Created: 25/Aug/17 Updated: 08/Apr/19 Resolved: 10/Oct/17 |
|
| Status: | Resolved |
| Project: | netvirt |
| Component/s: | General |
| Affects Version/s: | Carbon |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | YOGA LAKSHMI SWETHA PAYYAVULA | Assignee: | Unassigned |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| External issue ID: | 9053 | ||||||||
| Description |
|
ISSUE : The SNAT implementation in the ODL chooses a NAPT switch among the control and compute nodes. In this NAPT switch node only the table 21 flows are written and in the non-NAPT switch these flows are absent. Due to this in the SNAT scenario when we initiate communication from the non-napt switch, it fails. This is due to the table 47 and table 21(few flows) flows that are absent in the non-napt switch node. This issue is seen in both the controller and conntrack mode, but the behavior is different in both these nodes. IN Controller Mode - The SNAT scenario when we initiate communication from the non-napt switch, it fails during the first attempt.Then when we try from the napt switch node SNAT works perfectly fine, After this step when we try to communicate from the other VM (non-napt switch node) it succeeds. This is due to the table 47 and table 21(few flows) flows that are absent in the non-napt switch node. Once we establish the communication from the VM in the napt switch node, the table 21 flow occurs in the non-napt switch node. IN Conntrack Mode - From the non-napt switch SNAT fails completely , even after trying SNAT from the napt switch node VM. SNAT from the non-napt switch fails. |
| Comments |
| Comment by Aswin Suryanarayanan [ 28/Aug/17 ] |
|
The non-NAPT switches will not have the table 47 entries. The packet will be forwarded to tunnel from table 26 to the NAPT switch and translation happens in NAPT switch. Could you please provide the flow dumps in NAPT and Non NAPT switches. |
| Comment by YOGA LAKSHMI SWETHA PAYYAVULA [ 01/Sep/17 ] |
|
PFA for the dump flows for napt and non-napt switches |
| Comment by YOGA LAKSHMI SWETHA PAYYAVULA [ 01/Sep/17 ] |
|
Attachment dump_flows_9035 has been added with description: dump flows |
| Comment by YOGA LAKSHMI SWETHA PAYYAVULA [ 18/Sep/17 ] |
|
Please ignore the previous attachment |
| Comment by YOGA LAKSHMI SWETHA PAYYAVULA [ 18/Sep/17 ] |
|
Attachment Dumpflows_9053.txt has been added with description: Napt and no-napt flows |
| Comment by YOGA LAKSHMI SWETHA PAYYAVULA [ 18/Sep/17 ] |
|
Steps to Reproduce the Issue in Controller Mode : 1. Create Internal Network, Subnet SNAT Communication FAILS 6. From the Napt Switch VM initiate the SNAT communication it succeeds IN Conntrack Mode - From the non-napt switch SNAT fails completely , even after trying SNAT from the napt switch node VM. SNAT from the non-napt switch fails. |
| Comment by Aswin Suryanarayanan [ 19/Sep/17 ] |
|
Could you please upload the flows in conntrack mode as well? Also where you able to locate where exactly the packet is dropped? In conntrack mode ping is supported so you can try it , which will give sufficient packet count to trace where it is dropped. I don't see packet counts for table 26 and for router mac flow in table 19 in the flow dump. Is it passing successfully through the acl tables? |
| Comment by balakrishnan k [ 22/Sep/17 ] |
|
Attachment karaf.log.zip has been added with description: ODL log |
| Comment by balakrishnan k [ 22/Sep/17 ] |
|
(In reply to Aswin Suryanarayanan from comment #5) Aswin, case1: initiate ping from Non NAPT switch at first. ERROR: when we initiate ping from the VM instance (30.0.0.8) napt switch , dynamic flow created "cookie=0x8000003, duration=2223.586s, table=21, n_packets=63, n_bytes=6174, priority=42,ip,metadata=0x30d42/0xfffffe,nw_dst=192.168.90.1 actions=set_field:00:0c:29:4d:9a:b5->eth_dst,load:0x400->NXM_NX_REG6[],resubmit(,220)" case 2: initiate ping from Non NAPT switch after ping succeed from NAPT switch. In this case also ping from Non NAPT failed. attached case1 and case2 complete logs. |
| Comment by balakrishnan k [ 22/Sep/17 ] |
|
Attachment compute1_napt_case1.zip has been added with description: compute node1 dump flow for case 1 |
| Comment by balakrishnan k [ 22/Sep/17 ] |
|
Attachment compute1_napt_case2.zip has been added with description: compute node1 dump flow for case 2 |
| Comment by balakrishnan k [ 22/Sep/17 ] |
|
Attachment compute2_non_napt_case1.zip has been added with description: compute node2 dump flow for case 1 |
| Comment by balakrishnan k [ 22/Sep/17 ] |
|
Attachment compute2_non_napt_case2.zip has been added with description: compute node2 dump flow for case 2 |
| Comment by balakrishnan k [ 22/Sep/17 ] |
|
Attachment control_node_case1.zip has been added with description: control node dump flow for case 1 |
| Comment by balakrishnan k [ 22/Sep/17 ] |
|
Attachment control_node_case2.zip has been added with description: controlnode dump flow for case 2 |
| Comment by Aswin Suryanarayanan [ 22/Sep/17 ] |
|
Is this 192.168.90.1 your gateway? If so, the table21 flow should be installed when the router g/w is set and not by the subnet route handler, if you had set the g/w while creating the subnet. If it is a PNF you may be hitting [1]. are you working with the latest code? [1]https://bugs.opendaylight.org/show_bug.cgi?id=8882 |
| Comment by balakrishnan k [ 26/Sep/17 ] |
|
(In reply to Aswin Suryanarayanan from comment #14) Hi Aswin, 192.168.90.1 is not gateway. tried to evaluate the same in latest build[1] seems patch part auto creation is failing. after executing below commands old code creating patch port between br-int and br-ex with new code patch port is not created automatically, [1]https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf/0.6.2-SNAPSHOT/distribution-karaf-0.6.2-20170925.072222-788.tar.gz |
| Comment by balakrishnan k [ 27/Sep/17 ] |
|
Aswin, [1]https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf/0.6.2-SNAPSHOT/distribution-karaf-0.6.2-20170926.152417-792.tar.gz [2]https://bugs.opendaylight.org/show_bug.cgi?id=8882 I am using br-ex for external network communication c296d41b-bfe9-49a0-98b0-0e80d6303793 Port "tapebfc53aa-ab" Port "tun3811195a8d9" Bridge br-ex ovs_version: "2.6.1" |
| Comment by Aswin Suryanarayanan [ 27/Sep/17 ] |
|
Are you seeing any error logs ? Did you use conntrack/controller mode? Ping works only in conntrack mode. |
| Comment by YOGA LAKSHMI SWETHA PAYYAVULA [ 04/Oct/17 ] |
|
Hi Ashwin, We tested the SNAT scenario from Non-Napt switch in the conntrack mode, It is working fine. But we are yet to test in the controller mode, [1]https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf/0.6.2-SNAPSHOT/distribution-karaf-0.6.2-20170925.072222-788.tar.gz. Thank you |
| Comment by YOGA LAKSHMI SWETHA PAYYAVULA [ 05/Oct/17 ] |
|
Hi Ashwin, We tested the SNAT scenario from Non-Napt switch in the conntrack mode, It is working fine. But we are yet to test in the controller mode, [1]https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf/0.6.2-SNAPSHOT/distribution-karaf-0.6.2-20170925.072222-788.tar.gz. Thank you |
| Comment by YOGA LAKSHMI SWETHA PAYYAVULA [ 05/Oct/17 ] |
|
Hi Ashwin, We tested the SNAT scenario from Non-Napt switch in the conntrack mode, It is working fine. But we are yet to test in the controller mode, [1]https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf/0.6.2-SNAPSHOT/distribution-karaf-0.6.2-20170925.072222-788.tar.gz. Thank you |
| Comment by YOGA LAKSHMI SWETHA PAYYAVULA [ 05/Oct/17 ] |
|
Hi Ashwin, We tested in the Controller mode, SNAT is working fine from a Non-Napt Switch node.We used the same distro (as mentioned in the last comment). Everything is working fine. Thank you |