Messages in this thread | | | Date | Tue, 31 Jan 2023 09:03:45 -0700 | Subject | Re: [PATCH v5 1/2] ip/ip6_gre: Fix changing addr gen mode not generating IPv6 link local address | From | David Ahern <> |
| |
On 1/30/23 8:46 PM, Thomas Winter wrote: > For our point-to-point GRE tunnels, they have IN6_ADDR_GEN_MODE_NONE > when they are created then we set IN6_ADDR_GEN_MODE_EUI64 when they > come up to generate the IPv6 link local address for the interface. > Recently we found that they were no longer generating IPv6 addresses. > This issue would also have affected SIT tunnels. > > Commit e5dd729460ca changed the code path so that GRE tunnels > generate an IPv6 address based on the tunnel source address. > It also changed the code path so GRE tunnels don't call addrconf_addr_gen > in addrconf_dev_config which is called by addrconf_sysctl_addr_gen_mode > when the IN6_ADDR_GEN_MODE is changed. > > This patch aims to fix this issue by moving the code in addrconf_notify > which calls the addr gen for GRE and SIT into a separate function > and calling it in the places that expect the IPv6 address to be > generated. > > The previous addrconf_dev_config is renamed to addrconf_eth_config > since it only expected eth type interfaces and follows the > addrconf_gre/sit_config format. > > A part of this changes means that the loopback address will be > attempted to be configured when changing addr_gen_mode for lo. > This should not be a problem because the address should exist anyway > and if does already exist then no error is produced. > > Fixes: e5dd729460ca ("ip/ip6_gre: use the same logic as SIT interfaces when computing v6LL address") > Signed-off-by: Thomas Winter <Thomas.Winter@alliedtelesis.co.nz> > --- > net/ipv6/addrconf.c | 49 +++++++++++++++++++++++++-------------------- > 1 file changed, 27 insertions(+), 22 deletions(-) >
Reviewed-by: David Ahern <dsahern@kernel.org>
| |