X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-address.c;h=c92418967b48ec5185d878b4631e9fb65083f6da;hb=5c1d3fc93d91384bbac29adf01074fa4375317ea;hp=28dcf14c6e1cf1955b75c627dd667694053813b9;hpb=482e2ac193be708d183bdf2d893eb72435eb1d28;p=elogind.git diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index 28dcf14c6..c92418967 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -47,6 +47,7 @@ int address_new_static(Network *network, unsigned section, Address **ret) { return -ENOMEM; address->family = AF_UNSPEC; + address->scope = RT_SCOPE_UNIVERSE; address->network = network; @@ -71,6 +72,7 @@ int address_new_dynamic(Address **ret) { return -ENOMEM; address->family = AF_UNSPEC; + address->scope = RT_SCOPE_UNIVERSE; *ret = address; address = NULL; @@ -105,8 +107,8 @@ int address_drop(Address *address, Link *link, assert(link->manager); assert(link->manager->rtnl); - r = sd_rtnl_message_new_addr(link->manager->rtnl, RTM_DELADDR, - link->ifindex, address->family, &req); + r = sd_rtnl_message_new_addr(link->manager->rtnl, &req, RTM_DELADDR, + link->ifindex, address->family); if (r < 0) { log_error("Could not allocate RTM_DELADDR message: %s", strerror(-r)); @@ -150,8 +152,8 @@ int address_configure(Address *address, Link *link, assert(link->manager); assert(link->manager->rtnl); - r = sd_rtnl_message_new_addr(link->manager->rtnl, RTM_NEWADDR, - link->ifindex, address->family, &req); + r = sd_rtnl_message_new_addr(link->manager->rtnl, &req, RTM_NEWADDR, + link->ifindex, address->family); if (r < 0) { log_error("Could not allocate RTM_NEWADDR message: %s", strerror(-r)); @@ -170,7 +172,7 @@ int address_configure(Address *address, Link *link, return r; } - r = sd_rtnl_message_addr_set_scope(req, RT_SCOPE_UNIVERSE); + r = sd_rtnl_message_addr_set_scope(req, address->scope); if (r < 0) { log_error("Could not set scope: %s", strerror(-r)); return r;