diff --git a/sys/net/gnrc/network_layer/ipv6/nib/nib_pl.c b/sys/net/gnrc/network_layer/ipv6/nib/nib_pl.c index 720ee6a976..312e303b38 100644 --- a/sys/net/gnrc/network_layer/ipv6/nib/nib_pl.c +++ b/sys/net/gnrc/network_layer/ipv6/nib/nib_pl.c @@ -69,7 +69,9 @@ int gnrc_ipv6_nib_pl_set(unsigned iface, (ipv6_addr_match_prefix(&netif->ipv6.addrs[idx], pfx) >= pfx_len)) { dst->flags |= _PFX_ON_LINK; } - if (netif->ipv6.aac_mode & GNRC_NETIF_AAC_AUTO) { + + /* Auto-configuration only works if the prefix is more than a single address */ + if ((netif->ipv6.aac_mode & GNRC_NETIF_AAC_AUTO) && (pfx_len < 128)) { dst->flags |= _PFX_SLAAC; } #if IS_ACTIVE(CONFIG_GNRC_IPV6_NIB_6LBR) && IS_ACTIVE(CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C)