From 43d184682d640e438ad140b0743e2fd258455b12 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 9 Apr 2024 12:02:20 +0900 Subject: [PATCH] network/ndisc: allow to call ndisc_request_address() without sd_ndisc_router object Preparation for later commits. --- src/network/networkd-ndisc.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c index e1853bb31cc..487a1e63098 100644 --- a/src/network/networkd-ndisc.c +++ b/src/network/networkd-ndisc.c @@ -328,20 +328,19 @@ static int ndisc_address_handler(sd_netlink *rtnl, sd_netlink_message *m, Reques } static int ndisc_request_address(Address *address, Link *link, sd_ndisc_router *rt) { - struct in6_addr router; bool is_new; int r; assert(address); assert(link); - assert(rt); - r = sd_ndisc_router_get_sender_address(rt, &router); - if (r < 0) - return r; + if (rt) { + r = sd_ndisc_router_get_sender_address(rt, &address->provider.in6); + if (r < 0) + return r; - address->source = NETWORK_CONFIG_SOURCE_NDISC; - address->provider.in6 = router; + address->source = NETWORK_CONFIG_SOURCE_NDISC; + } r = free_and_strdup_warn(&address->netlabel, link->network->ndisc_netlabel); if (r < 0) -- 2.47.3