[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: Text File 8_extra_route_not_working.txt     Text File 8_extra_routes_config.txt     Text File Update_2_issue.txt     Text File switch_entries_compute-0-1_after_update_2.log     Text File switch_entries_compute-0-2_update_2.log     Zip Archive update_2_logs.zip     File update_issue.tar     Text File update_issue_configurations.txt     File update_issue_repro_2.tar    

 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

4903030d-a195-4ac1-a6ea-ffc89e4f1295 PORT2-N1 fa:16:3e:9a:bb:f4 {"subnet_id": "779600e9-aec7-4910-95ba-04875df46587", "ip_address": "11.1.2.4"}                            

root@cic-1:~#

 

Updated configuration by replacing PORT2-N1 with PORT6-N2

 

root@cic-1:~# neutron port-list | grep PORT6-N2

36894e04-a8a4-43bb-891c-d4c1c53236a9 PORT6-N2 fa:16:3e:32:34:60 {"subnet_id": "e4094270-337e-48a7-bbad-7b81bddf9b54", "ip_address": "12.23.34.4"}         

              

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
-------------------------------------------------------------------
42d563c8-ccad-4369-846d-e44efe428d4a 11.1.2.4/32 192.168.113.11 100010 l
42d563c8-ccad-4369-846d-e44efe428d4a 11.1.2.3/32 192.168.113.10 100006 l
42d563c8-ccad-4369-846d-e44efe428d4a 2025:caf:3214:12:f816:3eff:fef0:9738/128 192.168.113.10 100013 l
42d563c8-ccad-4369-846d-e44efe428d4a 2025:caf:3214:12::1/128 0.0.0.0 100004 l
42d563c8-ccad-4369-846d-e44efe428d4a 11.1.2.5/32 192.168.113.10 100008 l
42d563c8-ccad-4369-846d-e44efe428d4a 11.1.2.6/32 192.168.113.11 100012 l
42d563c8-ccad-4369-846d-e44efe428d4a 15.0.0.0/24 192.168.113.11 100021 s
42d563c8-ccad-4369-846d-e44efe428d4a 15.0.0.0/24 192.168.113.10 100021 s
42d563c8-ccad-4369-846d-e44efe428d4a 2001:db8:abcd:11:f816:3eff:fe9a:bbf4/128 192.168.113.11 100009 l
42d563c8-ccad-4369-846d-e44efe428d4a 2025:caf:3214:12:f816:3eff:fe99:db53/128 192.168.113.10 100016 l
42d563c8-ccad-4369-846d-e44efe428d4a 2001:db8:abcd:11:f816:3eff:fe70:ca52/128 192.168.113.11 100011 l
42d563c8-ccad-4369-846d-e44efe428d4a 2025:caf:3214:12:f816:3eff:fe32:3460/128 192.168.113.11 100017 l
42d563c8-ccad-4369-846d-e44efe428d4a 11.1.2.1/32 0.0.0.0 100001 l
42d563c8-ccad-4369-846d-e44efe428d4a 2001:db8:abcd:11::1/128 0.0.0.0 100002 l
42d563c8-ccad-4369-846d-e44efe428d4a 12.23.34.1/32 0.0.0.0 100003 l
42d563c8-ccad-4369-846d-e44efe428d4a 2001:db8:abcd:11:f816:3eff:fe45:a00c/128 192.168.113.10 100007 l
42d563c8-ccad-4369-846d-e44efe428d4a 12.23.34.3/32 192.168.113.10 100014 l
42d563c8-ccad-4369-846d-e44efe428d4a 12.23.34.6/32 192.168.113.11 100019 l
42d563c8-ccad-4369-846d-e44efe428d4a 12.23.34.5/32 192.168.113.10 100015 l
42d563c8-ccad-4369-846d-e44efe428d4a 12.23.34.4/32 192.168.113.11 100018 l
42d563c8-ccad-4369-846d-e44efe428d4a 2111:12f:862:18::/64 192.168.113.10 100022 s
42d563c8-ccad-4369-846d-e44efe428d4a 2001:db8:abcd:11:f816:3eff:feb8:ef29/128 192.168.113.10 100005 l
42d563c8-ccad-4369-846d-e44efe428d4a 2025:caf:3214:12:f816:3eff:fe10:e5f1/128 192.168.113.11 100020 l

 

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

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