← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1786169] [NEW] DVR: Missing fixed_ips info for IPv6 subnets

 

Public bug reported:

Reproduce Steps:

preconditions: DVR and DVR_SNAT enabled.

1. Create router, network, IPv4 subnet 
# neutron router-create test_router
# neutron net-create test_net
# neutron subnet-create test_net 40.40.40.0/24 --name test_v4_subnet

2. Create two SLAAC-enabled subnets
# neutron subnet-create --ip-version 6 --ipv6_address_mode=dhcpv6-stateless --ipv6_ra_mode=dhcpv6-stateless test_net fdf8:f53b:82e4::51/64
# neutron subnet-create --ip-version 6 --ipv6_address_mode=slaac --ipv6_ra_mode=slaac test_net fdf8:f84c:82e4::51/64

3. Attach those subnets(one v4 subnet and two v6 subnets) to router
# neutron router-interface-add test_router test_v4_subnet
# neutron router-interface-add test_router V6_SUBNET1_ID
# neutron router-interface-add test_router V6_SUBNET2_ID

4. Then set gateway for the router.
# neutron router-gateway-set test_router EXTERNAL_NETWORK

The CSNAT router interface for IPv6 will get fixed ip from one of the
IPv6 subnets.


If we set gateway for the router first, and then attach interface to the router.
The CSNAT router interface for IPv6 will get fixed ip from both IPv6 subnets.
In this situation, the csnat IPv6 address will update in _update_snat_v6_addrs_after_intf_update[1] after internal interface added.

So we also need to process correctly for multiple IPv6 subnets.

[1]
https://github.com/openstack/neutron/blob/master/neutron/db/l3_dvr_db.py

** Affects: neutron
     Importance: Undecided
     Assignee: Dongcan Ye (hellochosen)
         Status: New


** Tags: l3-dvr-backlog

** Changed in: neutron
     Assignee: (unassigned) => Dongcan Ye (hellochosen)

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

Title:
  DVR: Missing fixed_ips info for IPv6 subnets

Status in neutron:
  New

Bug description:
  Reproduce Steps:

  preconditions: DVR and DVR_SNAT enabled.

  1. Create router, network, IPv4 subnet 
  # neutron router-create test_router
  # neutron net-create test_net
  # neutron subnet-create test_net 40.40.40.0/24 --name test_v4_subnet

  2. Create two SLAAC-enabled subnets
  # neutron subnet-create --ip-version 6 --ipv6_address_mode=dhcpv6-stateless --ipv6_ra_mode=dhcpv6-stateless test_net fdf8:f53b:82e4::51/64
  # neutron subnet-create --ip-version 6 --ipv6_address_mode=slaac --ipv6_ra_mode=slaac test_net fdf8:f84c:82e4::51/64

  3. Attach those subnets(one v4 subnet and two v6 subnets) to router
  # neutron router-interface-add test_router test_v4_subnet
  # neutron router-interface-add test_router V6_SUBNET1_ID
  # neutron router-interface-add test_router V6_SUBNET2_ID

  4. Then set gateway for the router.
  # neutron router-gateway-set test_router EXTERNAL_NETWORK

  The CSNAT router interface for IPv6 will get fixed ip from one of the
  IPv6 subnets.

  
  If we set gateway for the router first, and then attach interface to the router.
  The CSNAT router interface for IPv6 will get fixed ip from both IPv6 subnets.
  In this situation, the csnat IPv6 address will update in _update_snat_v6_addrs_after_intf_update[1] after internal interface added.

  So we also need to process correctly for multiple IPv6 subnets.

  [1]
  https://github.com/openstack/neutron/blob/master/neutron/db/l3_dvr_db.py

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


Follow ups