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

ECMP buckets are not configured correctly after router dissociate and associate to VPN

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Medium Medium
    • None
    • Oxygen
    • ipv6service
    • None
    • 3 node cluster with oxygen

       

      Configuration:

      ->Configure 8 networks, 2 VMs  in each network and  1 VM on each compute(2 DPN)

      ->Configure router, associate subnets to router and vpn instance with 8 RDs

      ->Associate router to VPN

      ->Configure extra route with 8 VMs as nexthops

      ->Associate router to VPN

      Test Case:

      ->Dissociate router and check load balancing/ECMP groups ->Working

      ->Associate router and check load balancing/ECMP groups ->Not working. ECMP group on one compute is not programmed correctly

       

      Step-1:Dissociate router from VPN : Load balance is WORKING
      root@cic-1:~# neutron bgpvpn-router-assoc-delete f7c90e18-c0db-40a2-b54e-923cc87a9ef0 VPN1
      Deleted router_association: f7c90e18-c0db-40a2-b54e-923cc87a9ef0
      root@cic-1:~#

      Step-2: Associate the router back to VPN : Load balancing FAILS.
      root@cic-1:~# neutron bgpvpn-router-assoc-create VPN1 --router aaa7f0bb-cf03-4e32-ba90-4e2fa49789bd
      Created a new router_association:
      -----------------------------------------------+

      Field Value

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

      id ee0529a3-4408-44bd-bb56-199ec72e16f4
      router_id aaa7f0bb-cf03-4e32-ba90-4e2fa49789bd
      tenant_id b0bb63eaae6b4a64980490b59a37a3d9

      -----------------------------------------------+
      root@cic-1:~# neutron router-show R1
      ------------------------------------------------------------------------------------------------------------------+

      Field Value

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

      admin_state_up True
      description  
      distributed False
      external_gateway_info  
      id aaa7f0bb-cf03-4e32-ba90-4e2fa49789bd
      name R1
      routes {"destination": "20.0.0.0/24", "nexthop": "11.1.2.3"}
        {"destination": "20.0.0.0/24", "nexthop": "12.23.34.4"}
        {"destination": "20.0.0.0/24", "nexthop": "13.5.4.3"}
        {"destination": "20.0.0.0/24", "nexthop": "14.42.62.4"}
        {"destination": "20.0.0.0/24", "nexthop": "15.8.9.3"}
        {"destination": "20.0.0.0/24", "nexthop": "16.6.67.4"}
        {"destination": "20.0.0.0/24", "nexthop": "17.7.6.3"}
        {"destination": "20.0.0.0/24", "nexthop": "18.6.6.4"}
        {"destination": "2111:12f:862:18::/64", "nexthop": "2001:db8:abcd:11:f816:3eff:fe47:5af1"}
        {"destination": "2111:12f:862:18::/64", "nexthop": "2025:caf:3214:12:f816:3eff:fef1:8ac5"}
        {"destination": "2111:12f:862:18::/64", "nexthop": "2033:456a:f012:13:f816:3eff:feeb:b485"}
        {"destination": "2111:12f:862:18::/64", "nexthop": "2056:212:d562:14:f816:3eff:fee9:c346"}
        {"destination": "2111:12f:862:18::/64", "nexthop": "2062:321:543:15:f816:3eff:feb8:9957"}
        {"destination": "2111:12f:862:18::/64", "nexthop": "2078:fde:2cd:16:f816:3eff:fe30:3d70"}
        {"destination": "2111:12f:862:18::/64", "nexthop": "2123:13f:565:17:f816:3eff:feb8:26fa"}
        {"destination": "2111:12f:862:18::/64", "nexthop": "2234:777:222:18:f816:3eff:fe8f:cfa3"}
      status ACTIVE
      tenant_id b0bb63eaae6b4a64980490b59a37a3d9

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

      root@cic-1:~# neutron bgpvpn-router-assoc-list VPN1
      --------------------------------------------------------------------------+

      id router_id

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

      ee0529a3-4408-44bd-bb56-199ec72e16f4 aaa7f0bb-cf03-4e32-ba90-4e2fa49789bd

      --------------------------------------------------------------------------+
      root@cic-1:~# neutron router-list
      --------------------------------------------------------------------------+

      id name external_gateway_info distributed

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

      aaa7f0bb-cf03-4e32-ba90-4e2fa49789bd R1 null False

      --------------------------------------------------------------------------+
      root@cic-1:~#
      root@cic-1:~# neutron bgpvpn-show VPN1
      ----------------------------------------------------------+

      Field Value

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

      export_targets 100:1
      id a0b7227d-6c66-47a5-bd00-7c4d1b260509
      import_targets 100:11
      name VPN1
      networks  
      route_distinguishers 100:21
        100:22
        100:23
        100:24
        100:25
        100:26
        100:27
        100:28
      route_targets  
      routers aaa7f0bb-cf03-4e32-ba90-4e2fa49789bd
      tenant_id b0bb63eaae6b4a64980490b59a37a3d9
      type l3

      ----------------------------------------------------------+
      root@cic-1:~#

      On Compute-0-2:
      ==============
      After Step-1: WORKING

      root@compute-0-2:~# sh table.sh 21 | grep 2111
      cookie=0x8000003, duration=69.039s, table=21, n_packets=0, n_bytes=0, priority=74,ipv6,metadata=0x30d40/0xfffffe,ipv6_dst=2111:12f:862:18::/64 actions=group:150078
      root@compute-0-2:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150078
      group_id=150078,type=select,bucket=actions=group:150075,bucket=actions=group:150077,bucket=actions=group:150076,bucket=actions=group:150082,bucket=actions=set_field:0x420->tun_id,set_field:fa:16:3e:47:5a:f1->eth_dst,output:186,bucket=actions=set_field:0x430->tun_id,set_field:fa:16:3e:b8:26:fa->eth_dst,output:186,bucket=actions=set_field:0x427->tun_id,set_field:fa:16:3e:b8:99:57->eth_dst,output:186,bucket=actions=set_field:0x434->tun_id,set_field:fa:16:3e:eb:b4:85->eth_dst,output:186

      After Step-2: NOT WOKING

      root@compute-0-2:~# sh table.sh 21 | grep 2111
      cookie=0x8000003, duration=172.879s, table=21, n_packets=0, n_bytes=0, priority=74,ipv6,metadata=0x30d9e/0xfffffe,ipv6_dst=2111:12f:862:18::/64 actions=group:150118

      root@compute-0-2:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150118
      group_id=150118,type=select,bucket=actions=group:150123,bucket=actions=set_field:0x18747->tun_id,set_field:fa:16:3e:47:5a:f1->eth_dst,output:186,bucket=actions=set_field:0x18747->tun_id,set_field:fa:16:3e:b8:26:fa->eth_dst,output:186,bucket=actions=set_field:0x18747->tun_id,set_field:fa:16:3e:b8:99:57->eth_dst,output:186,bucket=actions=set_field:0x18747->tun_id,set_field:fa:16:3e:eb:b4:85->eth_dst,output:186

      root@compute-0-2:~# sh table.sh 20 | grep 100167
      cookie=0x8000002, duration=5894.392s, table=20, n_packets=0, n_bytes=0, priority=10,mpls,mpls_label=100167 actions=pop_mpls:0x86dd,group:150119
      root@compute-0-2:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150119
      group_id=150119,type=select,bucket=actions=group:150123

      On compute-0-1:
      ==============
      After Step-1: WORKING

      root@compute-0-1:~# sh table.sh 21 | grep 2111
      cookie=0x8000003, duration=27.687s, table=21, n_packets=0, n_bytes=0, priority=74,ipv6,metadata=0x30d40/0xfffffe,ipv6_dst=2111:12f:862:18::/64 actions=group:150078
      root@compute-0-1:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150078
      group_id=150078,type=select,bucket=actions=group:150090,bucket=actions=group:150084,bucket=actions=group:150094,bucket=actions=group:150080,bucket=actions=set_field:0x44d->tun_id,set_field:fa:16:3e:30:3d:70->eth_dst,output:88,bucket=actions=set_field:0x438->tun_id,set_field:fa:16:3e:8f:cf:a3->eth_dst,output:88,bucket=actions=set_field:0x3f0->tun_id,set_field:fa:16:3e:f1:8a:c5->eth_dst,output:88,bucket=actions=set_field:0x408->tun_id,set_field:fa:16:3e:e9:c3:46->eth_dst,output:88

      After Step-2: WORKING

      root@compute-0-1:~# sh table.sh 21 | grep 2111
      cookie=0x8000003, duration=20.020s, table=21, n_packets=0, n_bytes=0, priority=74,ipv6,metadata=0x30d9e/0xfffffe,ipv6_dst=2111:12f:862:18::/64 actions=group:150118
      root@compute-0-1:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150118
      group_id=150118,type=select,bucket=actions=group:150121,bucket=actions=group:150122,bucket=actions=group:150126,bucket=actions=group:150120,bucket=actions=set_field:0x18747->tun_id,set_field:fa:16:3e:8f:cf:a3->eth_dst,output:88,bucket=actions=set_field:0x18747->tun_id,set_field:fa:16:3e:30:3d:70->eth_dst,output:88,bucket=actions=set_field:0x18747->tun_id,set_field:fa:16:3e:e9:c3:46->eth_dst,output:88,bucket=actions=set_field:0x18747->tun_id,set_field:fa:16:3e:f1:8a:c5->eth_dst,output:88

      root@compute-0-1:~# sh table.sh 20 | grep 100167
      cookie=0x8000002, duration=5876.602s, table=20, n_packets=0, n_bytes=0, priority=10,mpls,mpls_label=100167 actions=pop_mpls:0x86dd,group:150119
      root@compute-0-1:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150119
      group_id=150119,type=select,bucket=actions=group:150121,bucket=actions=group:150122,bucket=actions=group:150126,bucket=actions=group:150120

      Detail issue description is attached.

            eceghkl Manu B
            Sindhuri Sindhuri B
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: