summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2021-05-24 22:47:01 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2021-05-25 08:26:00 +0900
commitf318f6438835c6321a1c4ea2a5299942bdc956fb (patch)
tree351e465d3ea3425c494eae18db44505c19e26e9b /src
parent97bb863c257e11870583485e22c4b6d9747ce952 (diff)
downloadsystemd-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.c3
-rw-r--r--src/libsystemd/sd-netlink/test-netlink.c4
-rw-r--r--src/network/networkd-address.c4
-rw-r--r--src/shared/local-addresses.c4
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;