[NETVIRT-1355] neutron router-update programming incorrectly for ipv6 extra routes Created: 02/Jul/18 Updated: 31/Jul/18 Resolved: 17/Jul/18 |
|
| Status: | Verified |
| Project: | netvirt |
| Component/s: | ipv6service |
| Affects Version/s: | None |
| Fix Version/s: | Oxygen-SR3, Fluorine |
| Type: | Bug | Priority: | High |
| Reporter: | Sindhuri B | Assignee: | Karthikeyan Krishnan |
| Resolution: | Done | Votes: | 0 |
| Labels: | VPNV6 | ||
| Remaining Estimate: | 0 minutes | ||
| Time Spent: | 3 days | ||
| Original Estimate: | Not Specified | ||
| Environment: |
3 node cluster with oxygen |
||
| Attachments: |
|
| Description |
|
Test: === Update the extra routes using neutron router-update. (Remove one existing nexthop and add new nexthop for a route ) Issue: ==== Select group for ipv6 is not updated correctly. Display fib should have two entries for ipv6 extra route . But only one is present. Impact: ===== Load balance is impacted . Details: ===== Initial configuration:
root@cic-1:~# neutron router-update R1 --routes type=dict list=true destination=15.0.0.0/24,nexthop=11.1.2.3 destination=2111:12f:862:18::/64,nexthop=2001:db8:abcd:11:f816:3eff:feb8:ef29 destination=15.0.0.0/24,nexthop=11.1.2.4 destination=2111:12f:862:18::/64,nexthop=2001:db8:abcd:11:f816:3eff:fe9a:bbf4
oot@cic-1:~# neutron port-list | grep PORT2-N1
root@cic-1:~#
Updated configuration by replacing PORT2-N1 with PORT6-N2
root@cic-1:~# neutron port-list | grep PORT6-N2
root@cic-1:~# neutron router-update R1 --routes type=dict list=true destination=15.0.0.0/24,nexthop=11.1.2.3 destination=2111:12f:862:18::/64,nexthop=2001:db8:abcd:11:f816:3eff:feb8:ef29 destination=15.0.0.0/24,nexthop=12.23.34.4 destination=2111:12f:862:18::/64,nexthop=2025:caf:3214:12:f816:3eff:fe32:3460
In ipv4 selected group it is updated correctly and in ipv6 the previous entry is not removed.
In compute-0-1: ============ Bucket not removed in ipv6 nexthop group:
root@compute-0-1:~# sudo ovs-ofctl dump-flows br-int -O Openflow13 table=21 | grep 2111:12f:862:18 cookie=0x8000003, duration=91.745s, table=21, n_packets=16, n_bytes=1888, priority=74,ipv6,metadata=0x30d40/0xfffffe,ipv6_dst=2111:12f:862:18::/64 actions=group:150018 root@compute-0-1:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150018 group_id=150018,type=select,bucket=actions=group:150002,bucket=actions=set_field:0x444->tun_id,set_field:fa:16:3e:9a:bb:f4->eth_dst,load:0x200->NXM_NX_REG6[],resubmit(,220),bucket=actions=set_field:0x430->tun_id,set_field:fa:16:3e:32:34:60->eth_dst,load:0x200->NXM_NX_REG6[],resubmit(,220)
ipv4 nexthop group for reference:
root@compute-0-1:~# sudo ovs-ofctl dump-flows br-int -O Openflow13 table=21 | grep 15.0.0. cookie=0x8000003, duration=117.282s, table=21, n_packets=0, n_bytes=0, priority=34,ip,metadata=0x30d40/0xfffffe,nw_dst=15.0.0.0/24 actions=group:150017 root@compute-0-1:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150018
root@compute-0-1:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150017 group_id=150017,type=select,bucket=actions=group:150001,bucket=actions=set_field:0x430->tun_id,set_field:fa:16:3e:32:34:60->eth_dst,load:0x200->NXM_NX_REG6[],resubmit(,220)
In compute-0-2: ============ Ipv6 nexthop entries not updated correctly:
root@compute-0-2:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150018 group_id=150018,type=select,bucket=actions=group:150006,bucket=actions=group:150013,bucket=actions=set_field:0x444->tun_id,set_field:fa:16:3e:b8:ef:29->eth_dst,load:0x500->NXM_NX_REG6[],resubmit(,220)
root@compute-0-2:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150006 group_id=150006,type=all,bucket=actions=set_field:fa:16:3e:fd:61:02->eth_src,set_field:fa:16:3e:9a:bb:f4->eth_dst,load:0xf00->NXM_NX_REG6[],resubmit(,220)
root@compute-0-2:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150013 group_id=150013,type=all,bucket=actions=set_field:fa:16:3e:93:27:fd->eth_src,set_field:fa:16:3e:32:34:60->eth_dst,load:0x1300->NXM_NX_REG6[],resubmit(,220)
Ipv4 nexthop entries for reference:
root@compute-0-2:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150017 group_id=150017,type=select,bucket=actions=group:150014,bucket=actions=set_field:0x444->tun_id,set_field:fa:16:3e:b8:ef:29->eth_dst,load:0x500->NXM_NX_REG6[],resubmit(,220)
root@compute-0-2:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150014 group_id=150014,type=all,bucket=actions=set_field:fa:16:3e:93:27:fd->eth_src,set_field:fa:16:3e:32:34:60->eth_dst,load:0x1300->NXM_NX_REG6[],resubmit(,220)
Entry 2111:12f:862:18::/64 with nexthop 192.168.113.11 is missing. display fib output RD Prefix NextHop Label Origin
From config DS: ============ Config neutron:neutron/routers : http://localhost:8181/restconf/config/neutron:neutron/routers/ { "routers": { "router": [ { "admin-state-up": true, "distributed": false, "name": "R1", "routes": [ { "destination": "15.0.0.0/24", "nexthop": "11.1.2.3" } , { "destination": "15.0.0.0/24", "nexthop": "12.23.34.4" } , { "destination": "2111:12f:862:18::/64", "nexthop": "2001:db8:abcd:11:f816:3eff:feb8:ef29" } , { "destination": "2111:12f:862:18::/64", "nexthop": "2025:caf:3214:12:f816:3eff:fe32:3460" } ], "tenant-id": "b0bb63ea-ae6b-4a64-9804-90b59a37a3d9", "uuid": "42d563c8-ccad-4369-846d-e44efe428d4a" } ] } }
|
| Comments |
| Comment by Sindhuri B [ 11/Jul/18 ] |
|
The following scenarios are not working due to this issue. 1) More than 3 extra route configuration for IPv6 destination is not working. One of the IPv6 destination action was missing in the corresponding ECMP group. 2) Changing existing IPv6 extra route destination from one hop to another hop is not working. 3) Clearing all extra route configuration is not working. (neutron router-update <route-name> --no-routes) |
| Comment by Karthikeyan Krishnan [ 17/Jul/18 ] |
|
Hi, Issue- 1(More than 3 extra route configuration for IPv6 destination) and 2 (Neutron router-update with changing next hops) --> These issues are not reproduced in Upstream latest Oxygen build(karaf-0.8.3-20180716.003258-308). Since required fix[0] is already merged into upstream oxygen branch by last week only. [0]: https://git.opendaylight.org/gerrit/#/c/73806/
Working on the issue-3 (Clearing all extra route configuration) fix.
Thanks & Regards, Karthikeyan. |
| Comment by Karthikeyan Krishnan [ 17/Jul/18 ] |
|
Please refer the below gerrit link for fix got merged into Fluorine release. https://git.opendaylight.org/gerrit/#/c/74108/
Please refer the below gerrit link for fix got merged into Stable/Oxygen SR3 release. https://git.opendaylight.org/gerrit/#/c/74109/
|
| Comment by Sindhuri B [ 27/Jul/18 ] |
|
On verification of fix, 1) router-update --no-routes : Working 2)Initial extra route configuration :Working 3) router-update :Working in multiple scenarios, except one
Non working case: router-update with 8 extra routes is not working. Logs, configurations and detail issue description is attached.
|
| Comment by Sindhuri B [ 31/Jul/18 ] |
|
Verified this issue to be working |
| Comment by Sindhuri B [ 31/Jul/18 ] |
|
Verified to be working |