From: Yu Watanabe Date: Tue, 9 Apr 2024 03:02:20 +0000 (+0900) Subject: network/ndisc: allow to call ndisc_request_address() without sd_ndisc_router object X-Git-Tag: v256-rc1~233^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=43d184682d640e438ad140b0743e2fd258455b12;p=thirdparty%2Fsystemd.git network/ndisc: allow to call ndisc_request_address() without sd_ndisc_router object Preparation for later commits. --- 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)