X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-address.c;h=63ba33ea24ca9724d881da56e26cacdb1fceda18;hb=dff91e8b7fa396284768a22b62c36dbe23a3b206;hp=8f16a8c6c15851f9cb5b6c0a72f358d6c9881b6b;hpb=92fe133abf2de889659464ae8affd1db1710f72e;p=elogind.git diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index 8f16a8c6c..63ba33ea2 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -95,7 +95,10 @@ int address_configure(Address *address, Link *link, return r; } - r = sd_rtnl_message_append(req, IFA_LOCAL, &address->in_addr); + if (address->family == AF_INET) + r = sd_rtnl_message_append_in_addr(req, IFA_LOCAL, &address->in_addr.in); + else if (address->family == AF_INET6) + r = sd_rtnl_message_append_in6_addr(req, IFA_LOCAL, &address->in_addr.in6); if (r < 0) { log_error("Could not append IFA_LOCAL attribute: %s", strerror(-r)); @@ -107,7 +110,7 @@ int address_configure(Address *address, Link *link, broadcast.s_addr = address->in_addr.in.s_addr | address->netmask.s_addr; - r = sd_rtnl_message_append(req, IFA_BROADCAST, &broadcast); + r = sd_rtnl_message_append_in_addr(req, IFA_BROADCAST, &broadcast); if (r < 0) { log_error("Could not append IFA_BROADCAST attribute: %s", strerror(-r)); @@ -116,7 +119,7 @@ int address_configure(Address *address, Link *link, } if (address->label) { - r = sd_rtnl_message_append(req, IFA_LABEL, address->label); + r = sd_rtnl_message_append_string(req, IFA_LABEL, address->label); if (r < 0) { log_error("Could not append IFA_LABEL attribute: %s", strerror(-r));