X Tutup
Skip to content

Commit 5b80ece

Browse files
committed
network: replace detailed netlink append messages with a single generic message
This commit is the first in the series, and they generally follow the same idea: we had very detailed logging for message append operations which would only fail either with some type error or intrinsic limit (and then they would fail everywhere, so this would be noticed during development or in CI), or they would fail with ENOMEM, in which case the exact location is not very interesting since this is not repeatable. I am in general in favour of detailed logging messages, because it helps with diagnosis of errors, but I think case is an exception. Despite not being very useful, those messages required a lot of effort, because they were customized for each and every append operation. In fact some of the messages contained copy errors. The text of the messages (since they are generally unique) also added up to a considerable size. This removes the log messages after each sd_netlink_message_append_*() in fill_message_create() with a single line in netdev_create(). As described above, we are just appending fields to a message, so those calls would almost never fail. A forgotten 'return' was added in one place. $ size build/systemd-networkd{.0,} text data bss dec hex filename 1878634 394016 36 2272686 22adae build/systemd-networkd.0 1842450 394080 36 2236566 222096 build/systemd-networkd … so we save 30k too.
1 parent 5df66d7 commit 5b80ece

File tree

16 files changed

+161
-161
lines changed

16 files changed

+161
-161
lines changed

src/network/netdev/bareudp.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@ static int netdev_bare_udp_fill_message_create(NetDev *netdev, Link *link, sd_ne
3333

3434
r = sd_netlink_message_append_u16(m, IFLA_BAREUDP_ETHERTYPE, htobe16(u->iftype));
3535
if (r < 0)
36-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BAREUDP_ETHERTYPE attribute: %m");
36+
return r;
3737

3838
r = sd_netlink_message_append_u16(m, IFLA_BAREUDP_PORT, htobe16(u->dest_port));
3939
if (r < 0)
40-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BAREUDP_PORT attribute: %m");
40+
return r;
4141

4242
return 0;
4343
}

src/network/netdev/batadv.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,9 +190,9 @@ static int netdev_batadv_fill_message_create(NetDev *netdev, Link *link, sd_netl
190190

191191
r = sd_netlink_message_append_string(m, IFLA_BATADV_ALGO_NAME, batadv_routing_algorithm_kernel_to_string(b->routing_algorithm));
192192
if (r < 0)
193-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BATADV_ALGO_NAME attribute: %m");
193+
return r;
194194

195-
return r;
195+
return 0;
196196
}
197197

198198
const NetDevVTable batadv_vtable = {

src/network/netdev/bond.c

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -71,136 +71,136 @@ static int netdev_bond_fill_message_create(NetDev *netdev, Link *link, sd_netlin
7171
if (b->mode != _NETDEV_BOND_MODE_INVALID) {
7272
r = sd_netlink_message_append_u8(m, IFLA_BOND_MODE, b->mode);
7373
if (r < 0)
74-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_MODE attribute: %m");
74+
return r;
7575
}
7676

7777
if (b->xmit_hash_policy != _NETDEV_BOND_XMIT_HASH_POLICY_INVALID) {
7878
r = sd_netlink_message_append_u8(m, IFLA_BOND_XMIT_HASH_POLICY, b->xmit_hash_policy);
7979
if (r < 0)
80-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_XMIT_HASH_POLICY attribute: %m");
80+
return r;
8181
}
8282

8383
if (b->lacp_rate != _NETDEV_BOND_LACP_RATE_INVALID &&
8484
b->mode == NETDEV_BOND_MODE_802_3AD) {
8585
r = sd_netlink_message_append_u8(m, IFLA_BOND_AD_LACP_RATE, b->lacp_rate);
8686
if (r < 0)
87-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_AD_LACP_RATE attribute: %m");
87+
return r;
8888
}
8989

9090
if (b->miimon != 0) {
9191
r = sd_netlink_message_append_u32(m, IFLA_BOND_MIIMON, b->miimon / USEC_PER_MSEC);
9292
if (r < 0)
93-
log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_BOND_MIIMON attribute: %m");
93+
return r;
9494
}
9595

9696
if (b->downdelay != 0) {
9797
r = sd_netlink_message_append_u32(m, IFLA_BOND_DOWNDELAY, b->downdelay / USEC_PER_MSEC);
9898
if (r < 0)
99-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_DOWNDELAY attribute: %m");
99+
return r;
100100
}
101101

102102
if (b->updelay != 0) {
103103
r = sd_netlink_message_append_u32(m, IFLA_BOND_UPDELAY, b->updelay / USEC_PER_MSEC);
104104
if (r < 0)
105-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_UPDELAY attribute: %m");
105+
return r;
106106
}
107107

108108
if (b->arp_interval != 0) {
109109
r = sd_netlink_message_append_u32(m, IFLA_BOND_ARP_INTERVAL, b->arp_interval / USEC_PER_MSEC);
110110
if (r < 0)
111-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_ARP_INTERVAL attribute: %m");
111+
return r;
112112

113113
if (b->lp_interval >= LEARNING_PACKETS_INTERVAL_MIN_SEC &&
114114
b->lp_interval <= LEARNING_PACKETS_INTERVAL_MAX_SEC) {
115115
r = sd_netlink_message_append_u32(m, IFLA_BOND_LP_INTERVAL, b->lp_interval / USEC_PER_SEC);
116116
if (r < 0)
117-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_LP_INTERVAL attribute: %m");
117+
return r;
118118
}
119119
}
120120

121121
if (b->ad_select != _NETDEV_BOND_AD_SELECT_INVALID &&
122122
b->mode == NETDEV_BOND_MODE_802_3AD) {
123123
r = sd_netlink_message_append_u8(m, IFLA_BOND_AD_SELECT, b->ad_select);
124124
if (r < 0)
125-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_AD_SELECT attribute: %m");
125+
return r;
126126
}
127127

128128
if (b->fail_over_mac != _NETDEV_BOND_FAIL_OVER_MAC_INVALID &&
129129
b->mode == NETDEV_BOND_MODE_ACTIVE_BACKUP) {
130130
r = sd_netlink_message_append_u8(m, IFLA_BOND_FAIL_OVER_MAC, b->fail_over_mac);
131131
if (r < 0)
132-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_FAIL_OVER_MAC attribute: %m");
132+
return r;
133133
}
134134

135135
if (b->arp_validate != _NETDEV_BOND_ARP_VALIDATE_INVALID) {
136136
r = sd_netlink_message_append_u32(m, IFLA_BOND_ARP_VALIDATE, b->arp_validate);
137137
if (r < 0)
138-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_ARP_VALIDATE attribute: %m");
138+
return r;
139139
}
140140

141141
if (b->arp_all_targets != _NETDEV_BOND_ARP_ALL_TARGETS_INVALID) {
142142
r = sd_netlink_message_append_u32(m, IFLA_BOND_ARP_ALL_TARGETS, b->arp_all_targets);
143143
if (r < 0)
144-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_ARP_ALL_TARGETS attribute: %m");
144+
return r;
145145
}
146146

147147
if (b->primary_reselect != _NETDEV_BOND_PRIMARY_RESELECT_INVALID) {
148148
r = sd_netlink_message_append_u8(m, IFLA_BOND_PRIMARY_RESELECT, b->primary_reselect);
149149
if (r < 0)
150-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_PRIMARY_RESELECT attribute: %m");
150+
return r;
151151
}
152152

153153
if (b->resend_igmp <= RESEND_IGMP_MAX) {
154154
r = sd_netlink_message_append_u32(m, IFLA_BOND_RESEND_IGMP, b->resend_igmp);
155155
if (r < 0)
156-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_RESEND_IGMP attribute: %m");
156+
return r;
157157
}
158158

159159
if (b->packets_per_slave <= PACKETS_PER_SLAVE_MAX &&
160160
b->mode == NETDEV_BOND_MODE_BALANCE_RR) {
161161
r = sd_netlink_message_append_u32(m, IFLA_BOND_PACKETS_PER_SLAVE, b->packets_per_slave);
162162
if (r < 0)
163-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_PACKETS_PER_SLAVE attribute: %m");
163+
return r;
164164
}
165165

166166
if (b->num_grat_arp <= GRATUITOUS_ARP_MAX) {
167167
r = sd_netlink_message_append_u8(m, IFLA_BOND_NUM_PEER_NOTIF, b->num_grat_arp);
168168
if (r < 0)
169-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_NUM_PEER_NOTIF attribute: %m");
169+
return r;
170170
}
171171

172172
if (b->min_links != 0) {
173173
r = sd_netlink_message_append_u32(m, IFLA_BOND_MIN_LINKS, b->min_links);
174174
if (r < 0)
175-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_MIN_LINKS attribute: %m");
175+
return r;
176176
}
177177

178178
if (b->ad_actor_sys_prio != 0) {
179179
r = sd_netlink_message_append_u16(m, IFLA_BOND_AD_ACTOR_SYS_PRIO, b->ad_actor_sys_prio);
180180
if (r < 0)
181-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_AD_ACTOR_SYS_PRIO attribute: %m");
181+
return r;
182182
}
183183

184184
if (b->ad_user_port_key != 0) {
185185
r = sd_netlink_message_append_u16(m, IFLA_BOND_AD_USER_PORT_KEY, b->ad_user_port_key);
186186
if (r < 0)
187-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_AD_USER_PORT_KEY attribute: %m");
187+
return r;
188188
}
189189

190190
if (!ether_addr_is_null(&b->ad_actor_system)) {
191191
r = sd_netlink_message_append_ether_addr(m, IFLA_BOND_AD_ACTOR_SYSTEM, &b->ad_actor_system);
192192
if (r < 0)
193-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_AD_ACTOR_SYSTEM attribute: %m");
193+
return r;
194194
}
195195

196196
r = sd_netlink_message_append_u8(m, IFLA_BOND_ALL_SLAVES_ACTIVE, b->all_slaves_active);
197197
if (r < 0)
198-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_ALL_SLAVES_ACTIVE attribute: %m");
198+
return r;
199199

200200
if (b->tlb_dynamic_lb >= 0) {
201201
r = sd_netlink_message_append_u8(m, IFLA_BOND_TLB_DYNAMIC_LB, b->tlb_dynamic_lb);
202202
if (r < 0)
203-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_TLB_DYNAMIC_LB attribute: %m");
203+
return r;
204204
}
205205

206206
if (b->arp_interval > 0 && !ordered_set_isempty(b->arp_ip_targets)) {
@@ -209,17 +209,17 @@ static int netdev_bond_fill_message_create(NetDev *netdev, Link *link, sd_netlin
209209

210210
r = sd_netlink_message_open_container(m, IFLA_BOND_ARP_IP_TARGET);
211211
if (r < 0)
212-
return log_netdev_error_errno(netdev, r, "Could not open contaniner IFLA_BOND_ARP_IP_TARGET : %m");
212+
return r;
213213

214214
ORDERED_SET_FOREACH(val, b->arp_ip_targets) {
215215
r = sd_netlink_message_append_u32(m, n++, PTR_TO_UINT32(val));
216216
if (r < 0)
217-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_BOND_ARP_ALL_TARGETS attribute: %m");
217+
return r;
218218
}
219219

220220
r = sd_netlink_message_close_container(m);
221221
if (r < 0)
222-
return log_netdev_error_errno(netdev, r, "Could not close contaniner IFLA_BOND_ARP_IP_TARGET : %m");
222+
return r;
223223
}
224224

225225
return 0;

src/network/netdev/geneve.c

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ static int netdev_geneve_fill_message_create(NetDev *netdev, Link *link, sd_netl
3939
if (v->id <= GENEVE_VID_MAX) {
4040
r = sd_netlink_message_append_u32(m, IFLA_GENEVE_ID, v->id);
4141
if (r < 0)
42-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_GENEVE_ID attribute: %m");
42+
return r;
4343
}
4444

4545
if (in_addr_is_set(v->remote_family, &v->remote)) {
@@ -48,51 +48,51 @@ static int netdev_geneve_fill_message_create(NetDev *netdev, Link *link, sd_netl
4848
else
4949
r = sd_netlink_message_append_in6_addr(m, IFLA_GENEVE_REMOTE6, &v->remote.in6);
5050
if (r < 0)
51-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_GENEVE_REMOTE/IFLA_GENEVE_REMOTE6 attribute: %m");
51+
return r;
5252
}
5353

5454
if (v->inherit) {
5555
r = sd_netlink_message_append_u8(m, IFLA_GENEVE_TTL_INHERIT, 1);
5656
if (r < 0)
57-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_GENEVE_TTL_INHERIT attribute: %m");
57+
return r;
5858
} else {
5959
r = sd_netlink_message_append_u8(m, IFLA_GENEVE_TTL, v->ttl);
6060
if (r < 0)
61-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_GENEVE_TTL attribute: %m");
61+
return r;
6262
}
6363

6464
r = sd_netlink_message_append_u8(m, IFLA_GENEVE_TOS, v->tos);
6565
if (r < 0)
66-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_GENEVE_TOS attribute: %m");
66+
return r;
6767

6868
r = sd_netlink_message_append_u8(m, IFLA_GENEVE_UDP_CSUM, v->udpcsum);
6969
if (r < 0)
70-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_GENEVE_UDP_CSUM attribute: %m");
70+
return r;
7171

7272
r = sd_netlink_message_append_u8(m, IFLA_GENEVE_UDP_ZERO_CSUM6_TX, v->udp6zerocsumtx);
7373
if (r < 0)
74-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_GENEVE_UDP_ZERO_CSUM6_TX attribute: %m");
74+
return r;
7575

7676
r = sd_netlink_message_append_u8(m, IFLA_GENEVE_UDP_ZERO_CSUM6_RX, v->udp6zerocsumrx);
7777
if (r < 0)
78-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_GENEVE_UDP_ZERO_CSUM6_RX attribute: %m");
78+
return r;
7979

8080
if (v->dest_port != DEFAULT_GENEVE_DESTINATION_PORT) {
8181
r = sd_netlink_message_append_u16(m, IFLA_GENEVE_PORT, htobe16(v->dest_port));
8282
if (r < 0)
83-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_GENEVE_PORT attribute: %m");
83+
return r;
8484
}
8585

8686
if (v->flow_label > 0) {
8787
r = sd_netlink_message_append_u32(m, IFLA_GENEVE_LABEL, htobe32(v->flow_label));
8888
if (r < 0)
89-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_GENEVE_LABEL attribute: %m");
89+
return r;
9090
}
9191

9292
if (v->geneve_df != _NETDEV_GENEVE_DF_INVALID) {
9393
r = sd_netlink_message_append_u8(m, IFLA_GENEVE_DF, v->geneve_df);
9494
if (r < 0)
95-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_GENEVE_DF attribute: %m");
95+
return r;
9696
}
9797

9898
return 0;

src/network/netdev/ipoib.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,19 +39,19 @@ static int netdev_ipoib_fill_message_create(NetDev *netdev, Link *link, sd_netli
3939
if (ipoib->pkey > 0) {
4040
r = sd_netlink_message_append_u16(m, IFLA_IPOIB_PKEY, ipoib->pkey);
4141
if (r < 0)
42-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_IPOIB_PKEY attribute: %m");
42+
return r;
4343
}
4444

4545
if (ipoib->mode >= 0) {
4646
r = sd_netlink_message_append_u16(m, IFLA_IPOIB_MODE, ipoib->mode);
4747
if (r < 0)
48-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_IPOIB_MODE attribute: %m");
48+
return r;
4949
}
5050

5151
if (ipoib->umcast >= 0) {
5252
r = sd_netlink_message_append_u16(m, IFLA_IPOIB_UMCAST, ipoib->umcast);
5353
if (r < 0)
54-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_IPOIB_UMCAST attribute: %m");
54+
return r;
5555
}
5656

5757
return 0;

src/network/netdev/ipvlan.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ static int netdev_ipvlan_fill_message_create(NetDev *netdev, Link *link, sd_netl
3131
if (m->mode != _NETDEV_IPVLAN_MODE_INVALID) {
3232
r = sd_netlink_message_append_u16(req, IFLA_IPVLAN_MODE, m->mode);
3333
if (r < 0)
34-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_IPVLAN_MODE attribute: %m");
34+
return r;
3535
}
3636

3737
if (m->flags != _NETDEV_IPVLAN_FLAGS_INVALID) {
3838
r = sd_netlink_message_append_u16(req, IFLA_IPVLAN_FLAGS, m->flags);
3939
if (r < 0)
40-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_IPVLAN_FLAGS attribute: %m");
40+
return r;
4141
}
4242

4343
return 0;

src/network/netdev/macsec.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -516,20 +516,20 @@ static int netdev_macsec_fill_message_create(NetDev *netdev, Link *link, sd_netl
516516
if (v->port > 0) {
517517
r = sd_netlink_message_append_u16(m, IFLA_MACSEC_PORT, v->port);
518518
if (r < 0)
519-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_MACSEC_PORT attribute: %m");
519+
return r;
520520
}
521521

522522
if (v->encrypt >= 0) {
523523
r = sd_netlink_message_append_u8(m, IFLA_MACSEC_ENCRYPT, v->encrypt);
524524
if (r < 0)
525-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_MACSEC_ENCRYPT attribute: %m");
525+
return r;
526526
}
527527

528528
r = sd_netlink_message_append_u8(m, IFLA_MACSEC_ENCODING_SA, v->encoding_an);
529529
if (r < 0)
530-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_MACSEC_ENCODING_SA attribute: %m");
530+
return r;
531531

532-
return r;
532+
return 0;
533533
}
534534

535535
int config_parse_macsec_port(

src/network/netdev/macvlan.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,40 +33,40 @@ static int netdev_macvlan_fill_message_create(NetDev *netdev, Link *link, sd_net
3333

3434
r = sd_netlink_message_append_u32(req, IFLA_MACVLAN_MACADDR_MODE, MACVLAN_MACADDR_SET);
3535
if (r < 0)
36-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_MACVLAN_MACADDR_MODE attribute: %m");
36+
return r;
3737

3838
r = sd_netlink_message_open_container(req, IFLA_MACVLAN_MACADDR_DATA);
3939
if (r < 0)
40-
return log_netdev_error_errno(netdev, r, "Could not open IFLA_MACVLAN_MACADDR_DATA container: %m");
40+
return r;
4141

4242
SET_FOREACH(mac_addr, m->match_source_mac) {
4343
r = sd_netlink_message_append_ether_addr(req, IFLA_MACVLAN_MACADDR, mac_addr);
4444
if (r < 0)
45-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_MACVLAN_MACADDR attribute: %m");
45+
return r;
4646
}
4747

4848
r = sd_netlink_message_close_container(req);
4949
if (r < 0)
50-
return log_netdev_error_errno(netdev, r, "Could not close IFLA_MACVLAN_MACADDR_DATA container: %m");
50+
return r;
5151
}
5252

5353
if (m->mode != _NETDEV_MACVLAN_MODE_INVALID) {
5454
r = sd_netlink_message_append_u32(req, IFLA_MACVLAN_MODE, m->mode);
5555
if (r < 0)
56-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_MACVLAN_MODE attribute: %m");
56+
return r;
5757
}
5858

5959
/* set the nopromisc flag if Promiscuous= of the link is explicitly set to false */
6060
if (m->mode == NETDEV_MACVLAN_MODE_PASSTHRU && link->network->promiscuous == 0) {
6161
r = sd_netlink_message_append_u16(req, IFLA_MACVLAN_FLAGS, MACVLAN_FLAG_NOPROMISC);
6262
if (r < 0)
63-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_MACVLAN_FLAGS attribute: %m");
63+
return r;
6464
}
6565

6666
if (m->bc_queue_length != UINT32_MAX) {
6767
r = sd_netlink_message_append_u32(req, IFLA_MACVLAN_BC_QUEUE_LEN, m->bc_queue_length);
6868
if (r < 0)
69-
return log_netdev_error_errno(netdev, r, "Could not append IFLA_MACVLAN_BC_QUEUE_LEN attribute: %m");
69+
return r;
7070
}
7171

7272
return 0;

src/network/netdev/netdev.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -540,7 +540,7 @@ static int netdev_create(NetDev *netdev, Link *link, link_netlink_message_handle
540540

541541
r = NETDEV_VTABLE(netdev)->fill_message_create(netdev, link, m);
542542
if (r < 0)
543-
return r;
543+
return log_netdev_error_errno(netdev, r, "Could not create netlink message: %m");
544544

545545
r = sd_netlink_message_close_container(m);
546546
if (r < 0)

0 commit comments

Comments
 (0)
X Tutup