neutron router static routes ecmp doesn't work

Bug #1549078 reported by Steve Ruan
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
neutron
Won't Fix
Medium
Hong Hui Xiao

Bug Description

Create 1 router and set gateway network, then create 2 static routes with same prefix.
~/devstack$ neutron router-show R2
+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| admin_state_up | True |
| availability_zone_hints | |
| availability_zones | nova |
| distributed | False |
| external_gateway_info | {"network_id": "d5d571b9-c7c2-443f-8591-7da9d40435a7", "enable_snat": true, "external_fixed_ips": [{"subnet_id": "4d033b6c-9a05-4aee-8462-ac909f86aa86", "ip_address": "172.16.3.3"}]} |
| ha | False |
| id | 1b2467b2-3b83-45bb-90e1-4d78c781d275 |
| name | R2 |
| routes | {"destination": "1.1.1.0/24", "nexthop": "172.16.3.100"} |
| | {"destination": "1.1.1.0/24", "nexthop": "172.16.3.101"} |
| status | ACTIVE |
| tenant_id | d1694a63f75a422b9c83e0693effa482 |
+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

~/devstack$ sudo ip netns exec qrouter-1b2467b2-3b83-45bb-90e1-4d78c781d275 ip neighbor show
172.16.3.101 dev qg-4515a36e-77 lladdr 00:00:01:00:00:02 PERMANENT
172.16.3.100 dev qg-4515a36e-77 lladdr 00:00:01:00:00:01 PERMANENT
fe80::f816:3eff:fe8e:a49f dev qg-4515a36e-77 lladdr fa:16:3e:8e:a4:9f STALE
fe80::5863:baff:fefe:c15e dev qg-4515a36e-77 lladdr 5a:63:ba:fe:c1:5e STALE
~/devstack$ sudo ip netns exec qrouter-1b2467b2-3b83-45bb-90e1-4d78c781d275 ip route
default via 172.16.3.1 dev qg-4515a36e-77
1.1.1.0/24 via 172.16.3.101 dev qg-4515a36e-77 ###ONLY 2nd route is installed.
172.16.3.0/24 dev qg-4515a36e-77 proto kernel scope link src 172.16.3.3

Revision history for this message
Hong Hui Xiao (xiaohhui) wrote :

I think the problem is not "it doesn't work", but is "it doesn't support". In the back end, every extra route is added to router namespace by "ip route replace" command. So, you can only see the 2nd route for a duplicated destination cidr.

Change to the route update policy can resolve the problem, but HA router and DVR may need more attention. I will look into it.

Changed in neutron:
assignee: nobody → Hong Hui Xiao (xiaohhui)
Revision history for this message
Steve Ruan (ruansx) wrote :

Yes. It's root cause.
But more attention, why it's "ip route replace", not "ip route add" when this code is submitted?

Changed in neutron:
status: New → Incomplete
status: Incomplete → Won't Fix
status: Won't Fix → Confirmed
importance: Undecided → Medium
Revision history for this message
Hong Hui Xiao (xiaohhui) wrote :

I think that both "ip route add" and "ip route replace" can't add the duplicated routes that ECMP wants. I was thinking of using "ip route append" for the purpose.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/288533

Changed in neutron:
status: Confirmed → In Progress
Hong Hui Xiao (xiaohhui)
summary: - neutron router static routes ecmp deesn't work
+ neutron router static routes ecmp doesn't work
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (master)

Change abandoned by Hong Hui Xiao (<email address hidden>) on branch: master
Review: https://review.openstack.org/288533
Reason: Seems not too much attention to this feature.

Revision history for this message
abdul nizamuddin (abdul-nizamuddin) wrote :

hi all.. to overcome this problem we have to use "ip route append <dest_ip> via <nexthop>.. am i correct?

Revision history for this message
Rodolfo Alonso (rodolfo-alonso-hernandez) wrote :

Bug closed due to lack of activity, please feel free to reopen if needed.

Changed in neutron:
status: In Progress → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.