From 0c9a6cab9118fd4ebcdb5277ccf66756fe4f2ec8 Mon Sep 17 00:00:00 2001 From: Jens Harbott Date: Thu, 19 Sep 2019 13:57:43 +0000 Subject: [PATCH] Enable accept_ra before enabling forwarding 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 --- lib/neutron_plugins/services/l3 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/neutron_plugins/services/l3 b/lib/neutron_plugins/services/l3 index ec289f6656..69536bbe58 100644 --- a/lib/neutron_plugins/services/l3 +++ b/lib/neutron_plugins/services/l3 @@ -395,8 +395,6 @@ function _neutron_configure_router_v6 { # This logic is specific to using the l3-agent for layer 3 if is_service_enabled q-l3 || is_service_enabled neutron-l3; then - # Ensure IPv6 forwarding is enabled on the host - sudo sysctl -w net.ipv6.conf.all.forwarding=1 # if the Linux host considers itself to be a router then it will # ignore all router advertisements # Ensure IPv6 RAs are accepted on interfaces with a default route. @@ -409,6 +407,8 @@ function _neutron_configure_router_v6 { # device name would be reinterpreted as a slash, causing an error. sudo sysctl -w net/ipv6/conf/$d/accept_ra=2 done + # Ensure IPv6 forwarding is enabled on the host + sudo sysctl -w net.ipv6.conf.all.forwarding=1 # Configure and enable public bridge # Override global IPV6_ROUTER_GW_IP with the true value from neutron 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' ' ')