From 48a241789265cae9f3f3744b0d9a004c4d067cb4 Mon Sep 17 00:00:00 2001 From: xnumad <34810600+xnumad@users.noreply.github.com> Date: Mon, 26 Aug 2024 10:50:20 +0200 Subject: [PATCH] gnrc/ipv6: `nib route`: hide off-link PLEs --- sys/include/net/gnrc/ipv6/nib/ft.h | 3 ++- sys/net/gnrc/network_layer/ipv6/nib/nib_ft.c | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/include/net/gnrc/ipv6/nib/ft.h b/sys/include/net/gnrc/ipv6/nib/ft.h index 817c5a394e..0d8182ce58 100644 --- a/sys/include/net/gnrc/ipv6/nib/ft.h +++ b/sys/include/net/gnrc/ipv6/nib/ft.h @@ -112,7 +112,8 @@ void gnrc_ipv6_nib_ft_del(const ipv6_addr_t *dst, unsigned dst_len); * * The iteration over all forwarding table entries in the NIB includes all * entries added via @p gnrc_ipv6_nib_ft_add() and entries that are currently - * in the Destination Cache, in the Prefix List, and in the Default Router List. + * in the Destination Cache, in the Prefix List (only if they're on-link), + * and in the Default Router List. * * Usage example: * diff --git a/sys/net/gnrc/network_layer/ipv6/nib/nib_ft.c b/sys/net/gnrc/network_layer/ipv6/nib/nib_ft.c index f739de1df1..afbaf5f3ba 100644 --- a/sys/net/gnrc/network_layer/ipv6/nib/nib_ft.c +++ b/sys/net/gnrc/network_layer/ipv6/nib/nib_ft.c @@ -133,6 +133,7 @@ bool gnrc_ipv6_nib_ft_iter(const ipv6_addr_t *next_hop, unsigned iface, while ((offl = _nib_offl_iter(offl))) { assert(offl->mode != 0); if ((offl->next_hop != NULL) && + (offl->mode != _PL || offl->flags & _PFX_ON_LINK) && ((iface == 0) || (iface == _nib_onl_get_if(offl->next_hop))) && ((next_hop == NULL) || ipv6_addr_equal(&offl->next_hop->ipv6, next_hop))) {