diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-05-24 22:47:01 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-05-25 08:26:00 +0900 |
commit | f318f6438835c6321a1c4ea2a5299942bdc956fb (patch) | |
tree | 351e465d3ea3425c494eae18db44505c19e26e9b /src | |
parent | 97bb863c257e11870583485e22c4b6d9747ce952 (diff) | |
download | systemd-f318f6438835c6321a1c4ea2a5299942bdc956fb.tar.gz |
sd-netlink: do not enable dump flag by default for RTM_GETADDR message
Diffstat (limited to 'src')
-rw-r--r-- | src/libsystemd/sd-netlink/rtnl-message.c | 3 | ||||
-rw-r--r-- | src/libsystemd/sd-netlink/test-netlink.c | 4 | ||||
-rw-r--r-- | src/network/networkd-address.c | 4 | ||||
-rw-r--r-- | src/shared/local-addresses.c | 4 |
4 files changed, 10 insertions, 5 deletions
diff --git a/src/libsystemd/sd-netlink/rtnl-message.c b/src/libsystemd/sd-netlink/rtnl-message.c index e971012420..681c32aed1 100644 --- a/src/libsystemd/sd-netlink/rtnl-message.c +++ b/src/libsystemd/sd-netlink/rtnl-message.c @@ -664,9 +664,6 @@ int sd_rtnl_message_new_addr(sd_netlink *rtnl, sd_netlink_message **ret, if (r < 0) return r; - if (nlmsg_type == RTM_GETADDR) - (*ret)->hdr->nlmsg_flags |= NLM_F_DUMP; - ifa = NLMSG_DATA((*ret)->hdr); ifa->ifa_index = index; diff --git a/src/libsystemd/sd-netlink/test-netlink.c b/src/libsystemd/sd-netlink/test-netlink.c index 41787c5a3e..cbae36472c 100644 --- a/src/libsystemd/sd-netlink/test-netlink.c +++ b/src/libsystemd/sd-netlink/test-netlink.c @@ -114,7 +114,7 @@ static void test_address_get(sd_netlink *rtnl, int ifindex) { assert_se(sd_rtnl_message_new_addr(rtnl, &m, RTM_GETADDR, ifindex, AF_INET) >= 0); assert_se(m); - + assert_se(sd_netlink_message_request_dump(m, true) >= 0); assert_se(sd_netlink_call(rtnl, m, -1, &r) == 1); assert_se(sd_netlink_message_read_in_addr(r, IFA_LOCAL, &in_data) == 0); @@ -479,7 +479,7 @@ static void test_get_addresses(sd_netlink *rtnl) { sd_netlink_message *m; assert_se(sd_rtnl_message_new_addr(rtnl, &req, RTM_GETADDR, 0, AF_UNSPEC) >= 0); - + assert_se(sd_netlink_message_request_dump(req, true) >= 0); assert_se(sd_netlink_call(rtnl, req, 0, &reply) >= 0); for (m = reply; m; m = sd_netlink_message_next(m)) { diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index 28a525da25..22f1049b7d 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -759,6 +759,10 @@ static int link_enumerate_ipv6_tentative_addresses(Link *link) { if (r < 0) return r; + r = sd_netlink_message_request_dump(req, true); + if (r < 0) + return r; + r = sd_netlink_call(link->manager->rtnl, req, 0, &reply); if (r < 0) return r; diff --git a/src/shared/local-addresses.c b/src/shared/local-addresses.c index 66e452adad..f037c5281f 100644 --- a/src/shared/local-addresses.c +++ b/src/shared/local-addresses.c @@ -83,6 +83,10 @@ int local_addresses( if (r < 0) return r; + r = sd_netlink_message_request_dump(req, true); + if (r < 0) + return r; + r = sd_netlink_call(rtnl, req, 0, &reply); if (r < 0) return r; |