From: Yu Watanabe Date: Sat, 13 Jan 2024 21:26:00 +0000 (+0900) Subject: network/route: reorder getters in manager_rtnl_process_route() X-Git-Tag: v256-rc1~1136^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=00138639728e689132bcd5c3cd5267835cf44610;p=thirdparty%2Fsystemd.git network/route: reorder getters in manager_rtnl_process_route() No functional change, just refactoring and preparation for later commits. --- diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c index 6c25043b27d..4b8bdb39f32 100644 --- a/src/network/networkd-route.c +++ b/src/network/networkd-route.c @@ -1438,6 +1438,7 @@ int manager_rtnl_process_route(sd_netlink *rtnl, sd_netlink_message *message, Ma if (r < 0) return log_oom(); + /* rtmsg header */ r = sd_rtnl_message_route_get_family(message, &tmp->family); if (r < 0) { log_warning_errno(r, "rtnl: received route message without family, ignoring: %m"); @@ -1447,63 +1448,70 @@ int manager_rtnl_process_route(sd_netlink *rtnl, sd_netlink_message *message, Ma return 0; } - r = sd_rtnl_message_route_get_protocol(message, &tmp->protocol); + r = sd_rtnl_message_route_get_dst_prefixlen(message, &tmp->dst_prefixlen); if (r < 0) { - log_warning_errno(r, "rtnl: received route message without route protocol, ignoring: %m"); + log_warning_errno(r, "rtnl: received route message with invalid destination prefixlen, ignoring: %m"); return 0; } - r = sd_rtnl_message_route_get_flags(message, &tmp->flags); + r = sd_rtnl_message_route_get_src_prefixlen(message, &tmp->src_prefixlen); if (r < 0) { - log_warning_errno(r, "rtnl: received route message without route flags, ignoring: %m"); + log_warning_errno(r, "rtnl: received route message with invalid source prefixlen, ignoring: %m"); return 0; } - r = netlink_message_read_in_addr_union(message, RTA_DST, tmp->family, &tmp->dst); - if (r < 0 && r != -ENODATA) { - log_warning_errno(r, "rtnl: received route message without valid destination, ignoring: %m"); + r = sd_rtnl_message_route_get_tos(message, &tmp->tos); + if (r < 0) { + log_warning_errno(r, "rtnl: received route message with invalid tos, ignoring: %m"); return 0; } - r = netlink_message_read_in_addr_union(message, RTA_SRC, tmp->family, &tmp->src); - if (r < 0 && r != -ENODATA) { - log_warning_errno(r, "rtnl: received route message without valid source, ignoring: %m"); + r = sd_rtnl_message_route_get_protocol(message, &tmp->protocol); + if (r < 0) { + log_warning_errno(r, "rtnl: received route message without route protocol, ignoring: %m"); return 0; } - r = netlink_message_read_in_addr_union(message, RTA_PREFSRC, tmp->family, &tmp->prefsrc); - if (r < 0 && r != -ENODATA) { - log_warning_errno(r, "rtnl: received route message without valid preferred source, ignoring: %m"); + r = sd_rtnl_message_route_get_scope(message, &tmp->scope); + if (r < 0) { + log_warning_errno(r, "rtnl: received route message with invalid scope, ignoring: %m"); return 0; } - r = sd_rtnl_message_route_get_dst_prefixlen(message, &tmp->dst_prefixlen); + r = sd_rtnl_message_route_get_type(message, &tmp->type); if (r < 0) { - log_warning_errno(r, "rtnl: received route message with invalid destination prefixlen, ignoring: %m"); + log_warning_errno(r, "rtnl: received route message with invalid type, ignoring: %m"); return 0; } - r = sd_rtnl_message_route_get_src_prefixlen(message, &tmp->src_prefixlen); + r = sd_rtnl_message_route_get_flags(message, &tmp->flags); if (r < 0) { - log_warning_errno(r, "rtnl: received route message with invalid source prefixlen, ignoring: %m"); + log_warning_errno(r, "rtnl: received route message without route flags, ignoring: %m"); return 0; } - r = sd_rtnl_message_route_get_scope(message, &tmp->scope); - if (r < 0) { - log_warning_errno(r, "rtnl: received route message with invalid scope, ignoring: %m"); + /* attributes */ + r = netlink_message_read_in_addr_union(message, RTA_DST, tmp->family, &tmp->dst); + if (r < 0 && r != -ENODATA) { + log_warning_errno(r, "rtnl: received route message without valid destination, ignoring: %m"); return 0; } - r = sd_rtnl_message_route_get_tos(message, &tmp->tos); - if (r < 0) { - log_warning_errno(r, "rtnl: received route message with invalid tos, ignoring: %m"); + r = netlink_message_read_in_addr_union(message, RTA_SRC, tmp->family, &tmp->src); + if (r < 0 && r != -ENODATA) { + log_warning_errno(r, "rtnl: received route message without valid source, ignoring: %m"); return 0; } - r = sd_rtnl_message_route_get_type(message, &tmp->type); - if (r < 0) { - log_warning_errno(r, "rtnl: received route message with invalid type, ignoring: %m"); + r = sd_netlink_message_read_u32(message, RTA_PRIORITY, &tmp->priority); + if (r < 0 && r != -ENODATA) { + log_warning_errno(r, "rtnl: received route message with invalid priority, ignoring: %m"); + return 0; + } + + r = netlink_message_read_in_addr_union(message, RTA_PREFSRC, tmp->family, &tmp->prefsrc); + if (r < 0 && r != -ENODATA) { + log_warning_errno(r, "rtnl: received route message without valid preferred source, ignoring: %m"); return 0; } @@ -1520,9 +1528,9 @@ int manager_rtnl_process_route(sd_netlink *rtnl, sd_netlink_message *message, Ma return 0; } - r = sd_netlink_message_read_u32(message, RTA_PRIORITY, &tmp->priority); + r = sd_netlink_message_read_u8(message, RTA_PREF, &tmp->pref); if (r < 0 && r != -ENODATA) { - log_warning_errno(r, "rtnl: received route message with invalid priority, ignoring: %m"); + log_warning_errno(r, "rtnl: received route message with invalid preference, ignoring: %m"); return 0; }