summaryrefslogtreecommitdiff
path: root/src/network/networkd-ndisc.c
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2021-12-28 22:42:03 +0900
committerLuca Boccassi <luca.boccassi@gmail.com>2021-12-28 21:00:49 +0000
commit80bfc3b901317ca7c1aaede0cd69150789a6e9be (patch)
tree783dceef4fe8153ea8de65ba7b6ceca82cc38379 /src/network/networkd-ndisc.c
parent69b5c7cf2af8fa5f32a4623f325791d968789ca2 (diff)
downloadsystemd-80bfc3b901317ca7c1aaede0cd69150789a6e9be.tar.gz
network: ndisc: ignore route prefix to ::/0
Fixes #21912.
Diffstat (limited to 'src/network/networkd-ndisc.c')
-rw-r--r--src/network/networkd-ndisc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c
index 32cb536ee5..f616f2c9bc 100644
--- a/src/network/networkd-ndisc.c
+++ b/src/network/networkd-ndisc.c
@@ -612,6 +612,11 @@ static int ndisc_router_process_route(Link *link, sd_ndisc_router *rt) {
if (r < 0)
return log_link_error_errno(link, r, "Failed to get route prefix length: %m");
+ if (in6_addr_is_null(&dst) && prefixlen == 0) {
+ log_link_debug(link, "Route prefix is ::/0, ignoring");
+ return 0;
+ }
+
if (in6_prefix_is_filtered(&dst, prefixlen, link->network->ndisc_allow_listed_route_prefix, link->network->ndisc_deny_listed_route_prefix)) {
if (DEBUG_LOGGING) {
_cleanup_free_ char *buf = NULL;