← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1815913] [NEW] DVR can not work with multiple routers on single network.

 

Public bug reported:

Two routers on one network in DVR environment.
When instance create, neutron execute "ip neigh replace" command to qrouter.
But there is only one qrouter where commands are executed.

We expect neutron to execute "ip neigh replace" command to all qrouters.

example:
I build below commands in DVR environment.

    $ openstack network create --provider-network-type vxlan network
    $ openstack subnet create --network network --subnet-range 192.168.100.0/24 subnet
    $ openstack router create router1
    $ openstack router add subnet router1 subnet
    
    $ openstack router create router2
    $ openstack port create --network network --fixed-ip ip-address=192.168.100.254 router2-port
    $ openstack router add port router2 router2-port
    $ nova boot --flavor m1.tiny --image cirros --nic net-name=network vm01

When instance create, ARP entry is created at only router1 or only
router2.

Here's the the overall structure:

                                                +-------+  +-------+
                                                | vm03  |  | vm04  |
                                                +---+---+  +---+---+
       +--------------------------------------------+----------|---------- network2 (192.168.203.0/24)
       |   +---------------------------------------------------+---------- network3 (192.168.202.0/24)
       |   |
    +---------+
    | router2 |                                 +-------+  +-------+
    +---------+                                 | vm01  |  | vm02  |
         |                                      +---+---+  +---+---+
 --------+-----------------------+------------------+----------+---------- network1
                                 |                                         (192.168.100.0/24)
                            +---------+
                            | router1 |
                            +---------+
                                 |
 --------------------------------+---------------------------------------- external

  router1 is connecting the external network.
  router2 is connecting only internal network.
  I configure routes for network2 and network3 on router1.

   # neutron port-create --fixed-ip ip_address=192.168.100.254 --security-group sec-group network1
   # openstack router add port router2 <portID>

   # openstack router set --route destination=<network2 cidr>,gateway=192.168.100.254 router1
   # openstack router set --route destination=<network3 cidr>,gateway=192.168.100.254 router1

  I expect communication could be established from vm01, vm02 to vm03, vm04.
  But I could not communicate from vm01,vm02 to vm03, vm04 when arp entry on router2 is not created.

  Note: Default gateway of vm01 and vm02 are configured to router1.

** Affects: neutron
     Importance: Undecided
     Assignee: Slawek Kaplonski (slaweq)
         Status: New


** Tags: l3-dvr-backlog

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1815913

Title:
  DVR can not work with multiple routers on single network.

Status in neutron:
  New

Bug description:
  Two routers on one network in DVR environment.
  When instance create, neutron execute "ip neigh replace" command to qrouter.
  But there is only one qrouter where commands are executed.

  We expect neutron to execute "ip neigh replace" command to all
  qrouters.

  example:
  I build below commands in DVR environment.

      $ openstack network create --provider-network-type vxlan network
      $ openstack subnet create --network network --subnet-range 192.168.100.0/24 subnet
      $ openstack router create router1
      $ openstack router add subnet router1 subnet
      
      $ openstack router create router2
      $ openstack port create --network network --fixed-ip ip-address=192.168.100.254 router2-port
      $ openstack router add port router2 router2-port
      $ nova boot --flavor m1.tiny --image cirros --nic net-name=network vm01

  When instance create, ARP entry is created at only router1 or only
  router2.

  Here's the the overall structure:

                                                  +-------+  +-------+
                                                  | vm03  |  | vm04  |
                                                  +---+---+  +---+---+
         +--------------------------------------------+----------|---------- network2 (192.168.203.0/24)
         |   +---------------------------------------------------+---------- network3 (192.168.202.0/24)
         |   |
      +---------+
      | router2 |                                 +-------+  +-------+
      +---------+                                 | vm01  |  | vm02  |
           |                                      +---+---+  +---+---+
   --------+-----------------------+------------------+----------+---------- network1
                                   |                                         (192.168.100.0/24)
                              +---------+
                              | router1 |
                              +---------+
                                   |
   --------------------------------+---------------------------------------- external

    router1 is connecting the external network.
    router2 is connecting only internal network.
    I configure routes for network2 and network3 on router1.

     # neutron port-create --fixed-ip ip_address=192.168.100.254 --security-group sec-group network1
     # openstack router add port router2 <portID>

     # openstack router set --route destination=<network2 cidr>,gateway=192.168.100.254 router1
     # openstack router set --route destination=<network3 cidr>,gateway=192.168.100.254 router1

    I expect communication could be established from vm01, vm02 to vm03, vm04.
    But I could not communicate from vm01,vm02 to vm03, vm04 when arp entry on router2 is not created.

    Note: Default gateway of vm01 and vm02 are configured to router1.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1815913/+subscriptions


Follow ups