Uploaded image for project: 'netvirt'
  1. netvirt
  2. NETVIRT-1355

neutron router-update programming incorrectly for ipv6 extra routes

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: High High
    • Oxygen-SR3, Fluorine
    • None
    • ipv6service
    • 3 node cluster with oxygen

      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"

                  }

              ]

          }

      }

       

       

       

       

       

        1. 8_extra_route_not_working.txt
          14 kB
        2. 8_extra_routes_config.txt
          11 kB
        3. switch_entries_compute-0-1_after_update_2.log
          81 kB
        4. switch_entries_compute-0-2_update_2.log
          81 kB
        5. Update_2_issue.txt
          2 kB
        6. update_2_logs.zip
          102 kB
        7. update_issue_configurations.txt
          4 kB
        8. update_issue_repro_2.tar
          4.62 MB
        9. update_issue.tar
          3.20 MB

            Karthikeyan Karthikeyan Krishnan
            Sindhuri Sindhuri B
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 3 days
                3d