We need to enable accept_ra before we enable forwarding, otherwise
existing addresses and routes may get dropped until the next RA is
received, possibly causing connection errors in the meantime.
Change-Id: I1fdeede59547de896ed89222ecf121fd9e6b810d
| ... | ... |
@@ -395,8 +395,6 @@ function _neutron_configure_router_v6 {
|
| 395 | 395 |
|
| 396 | 396 |
# This logic is specific to using the l3-agent for layer 3 |
| 397 | 397 |
if is_service_enabled q-l3 || is_service_enabled neutron-l3; then |
| 398 |
- # Ensure IPv6 forwarding is enabled on the host |
|
| 399 |
- sudo sysctl -w net.ipv6.conf.all.forwarding=1 |
|
| 400 | 398 |
# if the Linux host considers itself to be a router then it will |
| 401 | 399 |
# ignore all router advertisements |
| 402 | 400 |
# Ensure IPv6 RAs are accepted on interfaces with a default route. |
| ... | ... |
@@ -409,6 +407,8 @@ function _neutron_configure_router_v6 {
|
| 409 | 409 |
# device name would be reinterpreted as a slash, causing an error. |
| 410 | 410 |
sudo sysctl -w net/ipv6/conf/$d/accept_ra=2 |
| 411 | 411 |
done |
| 412 |
+ # Ensure IPv6 forwarding is enabled on the host |
|
| 413 |
+ sudo sysctl -w net.ipv6.conf.all.forwarding=1 |
|
| 412 | 414 |
# Configure and enable public bridge |
| 413 | 415 |
# Override global IPV6_ROUTER_GW_IP with the true value from neutron |
| 414 | 416 |
IPV6_ROUTER_GW_IP=$(openstack --os-cloud devstack-admin --os-region "$REGION_NAME" port list -c 'Fixed IP Addresses' | grep $ipv6_pub_subnet_id | awk -F'ip_address' '{ print $2 }' | cut -f2 -d\' | tr '\n' ' ')
|