diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-12-28 22:42:03 +0900 |
---|---|---|
committer | Luca Boccassi <luca.boccassi@gmail.com> | 2021-12-28 21:00:49 +0000 |
commit | 80bfc3b901317ca7c1aaede0cd69150789a6e9be (patch) | |
tree | 783dceef4fe8153ea8de65ba7b6ceca82cc38379 /src/network/networkd-ndisc.c | |
parent | 69b5c7cf2af8fa5f32a4623f325791d968789ca2 (diff) | |
download | systemd-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.c | 5 |
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; |