yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #74485
[Bug 1786169] Re: DVR: Missing fixed_ips info for IPv6 subnets
Reviewed: https://review.openstack.org/590157
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=c6aac9041f98f971cd1362bee2768a04bbe5cf1d
Submitter: Zuul
Branch: master
commit c6aac9041f98f971cd1362bee2768a04bbe5cf1d
Author: Dongcan Ye <hellochosen@xxxxxxxxx>
Date: Thu Aug 9 07:16:51 2018 +0000
DVR: Add IPv6 csnat port address correctly
If router gateway info update, in l3_dvr_db will receive events,
We will get subnets from router attached DVR port, if exists
multiple IPv6 slaac-enabled subnets, previous code will create
csnat port form one of the IPv6 subnets.
This is inconsistency with router interface
udpate in _update_snat_v6_addrs_after_intf_update.
This patch adds all IPv6 subnets if the distributed
router port have multiple IPv6 subnets.
Change-Id: I02ffed238897ebc91b96aebb7f94ed90b7613769
Closes-Bug: #1786169
** Changed in: neutron
Status: In Progress => Fix Released
--
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:
Fix Released
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
References