* [PATCH net-next] ipv6: Simplify link-local address generation for IPv6 GRE.
@ 2025-06-16 11:58 Guillaume Nault
2025-06-17 16:46 ` Ido Schimmel
2025-06-19 10:20 ` patchwork-bot+netdevbpf
0 siblings, 2 replies; 3+ messages in thread
From: Guillaume Nault @ 2025-06-16 11:58 UTC (permalink / raw)
To: David Miller, Jakub Kicinski, Paolo Abeni, Eric Dumazet
Cc: netdev, Simon Horman, David Ahern, Ido Schimmel
Since commit 3e6a0243ff00 ("gre: Fix again IPv6 link-local address
generation."), addrconf_gre_config() has stopped handling IP6GRE
devices specially and just calls the regular addrconf_addr_gen()
function to create their link-local IPv6 addresses.
We can thus avoid using addrconf_gre_config() for IP6GRE devices and
use the normal IPv6 initialisation path instead (that is, jump directly
to addrconf_dev_config() in addrconf_init_auto_addrs()).
See commit 3e6a0243ff00 ("gre: Fix again IPv6 link-local address
generation.") for a deeper explanation on how and why GRE devices
started handling their IPv6 link-local address generation specially,
why it was a problem, and why this is not even necessary in most cases
(especially for GRE over IPv6).
Signed-off-by: Guillaume Nault <gnault@redhat.com>
---
net/ipv6/addrconf.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index ba2ec7c870cc..9c297974d3a6 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -3208,7 +3208,7 @@ static void add_addr(struct inet6_dev *idev, const struct in6_addr *addr,
}
}
-#if IS_ENABLED(CONFIG_IPV6_SIT) || IS_ENABLED(CONFIG_NET_IPGRE) || IS_ENABLED(CONFIG_IPV6_GRE)
+#if IS_ENABLED(CONFIG_IPV6_SIT) || IS_ENABLED(CONFIG_NET_IPGRE)
static void add_v4_addrs(struct inet6_dev *idev)
{
struct in6_addr addr;
@@ -3463,6 +3463,7 @@ static void addrconf_dev_config(struct net_device *dev)
(dev->type != ARPHRD_IEEE1394) &&
(dev->type != ARPHRD_TUNNEL6) &&
(dev->type != ARPHRD_6LOWPAN) &&
+ (dev->type != ARPHRD_IP6GRE) &&
(dev->type != ARPHRD_TUNNEL) &&
(dev->type != ARPHRD_NONE) &&
(dev->type != ARPHRD_RAWIP)) {
@@ -3518,7 +3519,7 @@ static void addrconf_sit_config(struct net_device *dev)
}
#endif
-#if IS_ENABLED(CONFIG_NET_IPGRE) || IS_ENABLED(CONFIG_IPV6_GRE)
+#if IS_ENABLED(CONFIG_NET_IPGRE)
static void addrconf_gre_config(struct net_device *dev)
{
struct inet6_dev *idev;
@@ -3536,7 +3537,7 @@ static void addrconf_gre_config(struct net_device *dev)
* which is in EUI64 mode (as __ipv6_isatap_ifid() would fail in this
* case). Such devices fall back to add_v4_addrs() instead.
*/
- if (!(dev->type == ARPHRD_IPGRE && *(__be32 *)dev->dev_addr == 0 &&
+ if (!(*(__be32 *)dev->dev_addr == 0 &&
idev->cnf.addr_gen_mode == IN6_ADDR_GEN_MODE_EUI64)) {
addrconf_addr_gen(idev, true);
return;
@@ -3557,8 +3558,7 @@ static void addrconf_init_auto_addrs(struct net_device *dev)
addrconf_sit_config(dev);
break;
#endif
-#if IS_ENABLED(CONFIG_NET_IPGRE) || IS_ENABLED(CONFIG_IPV6_GRE)
- case ARPHRD_IP6GRE:
+#if IS_ENABLED(CONFIG_NET_IPGRE)
case ARPHRD_IPGRE:
addrconf_gre_config(dev);
break;
--
2.39.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH net-next] ipv6: Simplify link-local address generation for IPv6 GRE.
2025-06-16 11:58 [PATCH net-next] ipv6: Simplify link-local address generation for IPv6 GRE Guillaume Nault
@ 2025-06-17 16:46 ` Ido Schimmel
2025-06-19 10:20 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: Ido Schimmel @ 2025-06-17 16:46 UTC (permalink / raw)
To: Guillaume Nault
Cc: David Miller, Jakub Kicinski, Paolo Abeni, Eric Dumazet, netdev,
Simon Horman, David Ahern
On Mon, Jun 16, 2025 at 01:58:29PM +0200, Guillaume Nault wrote:
> Since commit 3e6a0243ff00 ("gre: Fix again IPv6 link-local address
> generation."), addrconf_gre_config() has stopped handling IP6GRE
> devices specially and just calls the regular addrconf_addr_gen()
> function to create their link-local IPv6 addresses.
>
> We can thus avoid using addrconf_gre_config() for IP6GRE devices and
> use the normal IPv6 initialisation path instead (that is, jump directly
> to addrconf_dev_config() in addrconf_init_auto_addrs()).
>
> See commit 3e6a0243ff00 ("gre: Fix again IPv6 link-local address
> generation.") for a deeper explanation on how and why GRE devices
> started handling their IPv6 link-local address generation specially,
> why it was a problem, and why this is not even necessary in most cases
> (especially for GRE over IPv6).
>
> Signed-off-by: Guillaume Nault <gnault@redhat.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH net-next] ipv6: Simplify link-local address generation for IPv6 GRE.
2025-06-16 11:58 [PATCH net-next] ipv6: Simplify link-local address generation for IPv6 GRE Guillaume Nault
2025-06-17 16:46 ` Ido Schimmel
@ 2025-06-19 10:20 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-06-19 10:20 UTC (permalink / raw)
To: Guillaume Nault
Cc: davem, kuba, pabeni, edumazet, netdev, horms, dsahern, idosch
Hello:
This patch was applied to netdev/net-next.git (main)
by Paolo Abeni <pabeni@redhat.com>:
On Mon, 16 Jun 2025 13:58:29 +0200 you wrote:
> Since commit 3e6a0243ff00 ("gre: Fix again IPv6 link-local address
> generation."), addrconf_gre_config() has stopped handling IP6GRE
> devices specially and just calls the regular addrconf_addr_gen()
> function to create their link-local IPv6 addresses.
>
> We can thus avoid using addrconf_gre_config() for IP6GRE devices and
> use the normal IPv6 initialisation path instead (that is, jump directly
> to addrconf_dev_config() in addrconf_init_auto_addrs()).
>
> [...]
Here is the summary with links:
- [net-next] ipv6: Simplify link-local address generation for IPv6 GRE.
https://git.kernel.org/netdev/net-next/c/d3623dd5bd4e
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-06-19 10:19 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-16 11:58 [PATCH net-next] ipv6: Simplify link-local address generation for IPv6 GRE Guillaume Nault
2025-06-17 16:46 ` Ido Schimmel
2025-06-19 10:20 ` patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).