[NETVIRT-453] No connectivity between the networks with Inter VPN import and export of route targets Created: 31/Jan/17  Updated: 05/Apr/18  Resolved: 05/Apr/18

Status: Resolved
Project: netvirt
Component/s: General
Affects Version/s: Boron
Fix Version/s: None

Type: Bug Priority: Medium
Reporter: Bhargavan Aravamudan Assignee: Suraj Ranjan
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Linux
Platform: All


Attachments: Text File flow-dump-vpn-import-export.txt    
External issue ID: 7715
Priority: Normal

 Description   

ODL BORON SR2 with odl-netvirt-openstack and networking-odl
Openstack Newton installed via packstack and integrated with ODL

Import/Export of route target between two VPN instances are configured in a complementary manner

Prefixes from one VPN gets self-imported to another to both VRFs in odl-fib

Ping between VM on net10 and VM on net20 fails.
There is no router defined.
Testing if import/export between VPN instances allow connectivity between the networks without a router being associated to the networks or the VPN instances.

RD 1001:1 has

"export-RT": ["8800:1"],
"import-RT": ["4400:1","8800:1"],

RD 2002:1 has

"export-RT": ["4400:1"],
"import-RT": ["4400:1","8800:1"],

VMs:
Net10 : MAC: fa:16:3e:e4:4a:8f IP : 10.10.0.12
Net20 : MAC: fa:16:3e:34:97:38 IP : 20.20.0.3

dump flow is attached

/restconf/config/odl-fib:fibEntries/ is given below.VRF RD 222:1 is persisting in the FIB even after respective L3VPN is deleted.

{
"fibEntries": {
"vrfTables": [
{
"routeDistinguisher": "2222:1",
"vrfEntry": [

{ "destPrefix": "20.20.0.3/32", "label": 70034, "origin": "si" }

,

{ "destPrefix": "10.10.0.12/32", "label": 70027, "origin": "si" }

,

{ "destPrefix": "20.20.0.2/32", "label": 70033, "origin": "si" }

,

{ "destPrefix": "10.10.0.2/32", "label": 70035, "origin": "si" }

]
},
{
"routeDistinguisher": "1001:1",
"vrfEntry": [

{ "destPrefix": "20.20.0.3/32", "label": 70034, "origin": "l" }

,

{ "destPrefix": "10.10.0.12/32", "label": 70027, "origin": "si" }

,

{ "destPrefix": "20.20.0.2/32", "label": 70033, "origin": "l" }

,

{ "destPrefix": "10.10.0.2/32", "label": 70035, "origin": "si" }

]
},
{
"routeDistinguisher": "2002:1",
"vrfEntry": [

{ "destPrefix": "20.20.0.3/32", "label": 70034, "origin": "si" }

,

{ "destPrefix": "10.10.0.12/32", "label": 70027, "origin": "l" }

,

{ "destPrefix": "20.20.0.2/32", "label": 70033, "origin": "si" }

,

{ "destPrefix": "10.10.0.2/32", "label": 70035, "origin": "l" }

]
}
]
}
}



 Comments   
Comment by Bhargavan Aravamudan [ 31/Jan/17 ]

Attachment flow-dump-vpn-import-export.txt has been added with description: dump-flow

Comment by Bhargavan Aravamudan [ 31/Jan/17 ]

GROUP dumps:

[root@aioctrl01 ~]# ovs-ofctl -O OpenFlow13 dump-groups br-int
OFPST_GROUP_DESC reply (OF1.3) (xid=0x2):
group_id=150004,type=all,bucket=actions=set_field:fa:16:3e:e4:4a:8f->eth_dst,load:0xd00->NXM_NX_REG6[],resubmit(,220)
group_id=150001,type=all,bucket=actions=set_field:fa:16:3e:a5:38:de->eth_dst,load:0x400->NXM_NX_REG6[],resubmit(,220)
group_id=210012,type=all,bucket=actions=group:210011
group_id=210014,type=all,bucket=actions=group:210013
group_id=210013,type=all,bucket=actions=set_field:0x4->tun_id,resubmit(,55),bucket=actions=set_field:0x5->tun_id,resubmit(,55)
group_id=150003,type=all,bucket=actions=set_field:fa:16:3e:34:97:38->eth_dst,load:0x500->NXM_NX_REG6[],resubmit(,220)
group_id=150000,type=all,bucket=actions=set_field:fa:16:3e:a4:61:ac->eth_dst,load:0x300->NXM_NX_REG6[],resubmit(,220)
group_id=150002,type=all,bucket=actions=set_field:fa:16:3e:a4:61:ac->eth_dst,load:0x300->NXM_NX_REG6[],resubmit(,220)
group_id=5000,type=all,bucket=actions=CONTROLLER:65535,bucket=actions=resubmit(,17),bucket=actions=resubmit(,81)
group_id=210011,type=all,bucket=actions=set_field:0x3->tun_id,resubmit(,55),bucket=actions=set_field:0xd->tun_id,resubmit(,55)

Comment by Bhargavan Aravamudan [ 31/Jan/17 ]

Just to add, the networks are configured via Openstack Horizon UI with gateway as

NET 10 GW: 10.10.0.1
NET 20 GW : 20.20.0.1

Comment by Suraj Ranjan [ 01/Feb/17 ]

Tested with: Boron SR2

Steps followed:

1. Create 2 networks,2 subnets in Openstack Horizon
2. Create 2 VM instances via Horizon,1 in each network
3. Create two VPN instances with import/export not allowing exchange of routes
4. Associate each VPN instance to the two networks respectively
5. Verify od-fib for vrf entries and no orgin:si prefixes are learnt in both vrf
6. Delete one of the VPN instances and re-create with import/export RT values to exchange prefixes
7. Associate this VPN instances to second network
8. Check in odl-fib and find that the origin:si is learnt only in the first VRF
9. Delete both VPN instances and check odl-fib has the origin:si prefixes still lingering
10. Delete odl-fibentries via REST and check fib is cleared
11. Create two VPN instances with complemetary import/export
12. Associate each network to one VPN instance
13. Check odl-fib to see both VRFs are present with origin:si prefixes from the other network
14. Also,see that VRF entry from a delete VPN instance is still showing in odl-fib
15. Ping vms fail (VMs have default gw as x.x.x.1 but there is no port with this IP)

Comment by Vivekanandan Narasimhan [ 03/Apr/17 ]

Hi Bhargavan,

After the last email discussion we had on this, were you able to see this problem again?

Vivek

Comment by Bhargavan Aravamudan [ 04/Apr/17 ]

Hi Vivek,

Thanks for following up.My setup has got dis-mantled since then and haven't checked again.

Hope the logs and info collected during the initial discussions gave you some clues to look at the code and identify issues.

Thanks,
Bhargavan

Generated at Wed Feb 07 20:21:36 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.