[NETVIRT-724] Flows are not getting updated after neutron router static route got changed Created: 10/Jun/17  Updated: 02/Aug/17  Resolved: 02/Aug/17

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

Type: Bug
Reporter: Ravi Ranjan Assignee: Kency Kurian
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Zip Archive RouterUpdate_log.zip    
External issue ID: 8652

 Description   

Build : distribution-karaf-0.6.1-20170609.063104-235.tar.gz
first configured a ECMP route on neutron router with 5 next-hop and verified corresponding flows in Switches

stack@Ubuntu-97:~/devstack$ neutron router-show router1
------------------------------------------------------------------------------------+

Field Value

------------------------------------------------------------------------------------+

admin_state_up True
description  
distributed False
external_gateway_info  
id e1c6993b-e91f-45f4-8e61-f3da471cf5b4
name Router1
routes {"destination": "100.100.100.100/32", "nexthop": "10.10.1.2"}
  {"destination": "100.100.100.100/32", "nexthop": "10.10.1.3"}
  {"destination": "100.100.100.100/32", "nexthop": "10.10.1.4"}
  {"destination": "100.100.100.100/32", "nexthop": "10.10.1.5"}
  {"destination": "100.100.100.100/32", "nexthop": "10.10.2.2"}
status ACTIVE
tenant_id 3a1edb44fa474300b32fe1b1aabf7e87

------------------------------------------------------------------------------------+

Switch 1 flow/group :
---------------------
cookie=0x8000003, duration=147.593s, table=21, n_packets=0, n_bytes=0, priority=42,ip,metadata=0x30d42/0xfffffe,nw_dst=100.100.100.100 actions=group:150014

group_id=150014,type=select,bucket=actions=group:150008,bucket=actions=group:150012,bucket=actions=group:150013,bucket=actions=resubmit(,220),set_field:fa:16:3e:eb:d2:cb->eth_dst,load:0x300->NXM_NX_REG6[],set_field:0x186a9->tun_id,bucket=actions=resubmit(,220),set_field:fa:16:3e:8a:40:66->eth_dst,load:0x300->NXM_NX_REG6[],set_field:0x186a9->tun_id

Switch 2 flow/group:
--------------------
cookie=0x8000003, duration=305.027s, table=21, n_packets=0, n_bytes=0, priority=42,ip,metadata=0x30d42/0xfffffe,nw_dst=100.100.100.100 actions=group:150014

group_id=150014,type=select,bucket=actions=group:150010,bucket=actions=group:150011,bucket=actions=resubmit(,220),set_field:fa:16:3e:52:5d:f8->eth_dst,load:0x600->NXM_NX_REG6[],set_field:0x186a9->tun_id,bucket=actions=resubmit(,220),set_field:fa:16:3e:82:6c:df->eth_dst,load:0x600->NXM_NX_REG6[],set_field:0x186a9->tun_id,bucket=actions=resubmit(,220),set_field:fa:16:3e:d9:a3:21->eth_dst,load:0x600->NXM_NX_REG6[],set_field:0x186a9->tun_id

=====================================================================
Update ECMP route in neutron router

stack@Ubuntu-97:~/devstack$
stack@Ubuntu-97:~/devstack$ neutron router-update Router1 --routes type=dict list=true destination=100.100.100.100/32,nexthop=10.10.1.2 destination=100.100.100.100/32,nexthop=10.10.1.3 destination=100.100.100.100/32,nexthop=10.10.1.4 destination=100.100.100.100/32,nexthop=10.10.1.5
Updated router: Router1
stack@Ubuntu-97:~/devstack$
stack@Ubuntu-97:~/devstack$ neutron router-show router1
------------------------------------------------------------------------------------+

Field Value

------------------------------------------------------------------------------------+

admin_state_up True
description  
distributed False
external_gateway_info  
id e1c6993b-e91f-45f4-8e61-f3da471cf5b4
name Router1
routes {"destination": "100.100.100.100/32", "nexthop": "10.10.1.2"}
  {"destination": "100.100.100.100/32", "nexthop": "10.10.1.3"}
  {"destination": "100.100.100.100/32", "nexthop": "10.10.1.4"}
  {"destination": "100.100.100.100/32", "nexthop": "10.10.1.5"}
status ACTIVE
tenant_id 3a1edb44fa474300b32fe1b1aabf7e87

------------------------------------------------------------------------------------+
stack@Ubuntu-97:~/devstack$

Switch 1 flow/group after update:
---------------------------------
cookie=0x8000003, duration=622.128s, table=21, n_packets=0, n_bytes=0, priority=42,ip,metadata=0x30d42/0xfffffe,nw_dst=100.100.100.100 actions=group:150014

group_id=150014,type=select,bucket=actions=group:150008,bucket=actions=group:150012,bucket=actions=group:150013,bucket=actions=resubmit(,220),set_field:fa:16:3e:eb:d2:cb->eth_dst,load:0x300->NXM_NX_REG6[],set_field:0x186a9->tun_id,bucket=actions=resubmit(,220),set_field:fa:16:3e:8a:40:66->eth_dst,load:0x300->NXM_NX_REG6[],set_field:0x186a9->tun_id

Switch 2 flow/group after update:
---------------------------------
cookie=0x8000003, duration=643.647s, table=21, n_packets=0, n_bytes=0, priority=42,ip,metadata=0x30d42/0xfffffe,nw_dst=100.100.100.100 actions=group:150014

group_id=150014,type=select,bucket=actions=group:150010,bucket=actions=group:150011,bucket=actions=resubmit(,220),set_field:fa:16:3e:52:5d:f8->eth_dst,load:0x600->NXM_NX_REG6[],set_field:0x186a9->tun_id,bucket=actions=resubmit(,220),set_field:fa:16:3e:82:6c:df->eth_dst,load:0x600->NXM_NX_REG6[],set_field:0x186a9->tun_id,bucket=actions=resubmit(,220),set_field:fa:16:3e:d9:a3:21->eth_dst,load:0x600->NXM_NX_REG6[],set_field:0x186a9->tun_id



 Comments   
Comment by Ravi Ranjan [ 10/Jun/17 ]

Attachment RouterUpdate_log.zip has been added with description: karaf log and switch flow/group

Comment by Kency Kurian [ 02/Aug/17 ]

Couple of race conditions have been identified and fixed as part of:
1. https://git.opendaylight.org/gerrit/#/c/59752/
2. https://git.opendaylight.org/gerrit/#/c/59646/

Please verify the scenario again with the latest build.

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