From: Yu Watanabe Date: Mon, 18 Nov 2024 05:45:03 +0000 (+0900) Subject: network/radv: modernize config_parse_router_preference() X-Git-Tag: v258-rc1~1520^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a10d6e0124bb6e202baef9170b019e2e6a7af1fd;p=thirdparty%2Fsystemd.git network/radv: modernize config_parse_router_preference() --- diff --git a/src/network/networkd-network-gperf.gperf b/src/network/networkd-network-gperf.gperf index 9a25be666be..09a718efdad 100644 --- a/src/network/networkd-network-gperf.gperf +++ b/src/network/networkd-network-gperf.gperf @@ -408,7 +408,7 @@ IPv6SendRA.ReachableTimeSec, config_parse_router_uint32_msec_use IPv6SendRA.RetransmitSec, config_parse_router_uint32_msec_usec, 0, offsetof(Network, router_retransmit_usec) IPv6SendRA.Managed, config_parse_bool, 0, offsetof(Network, router_managed) IPv6SendRA.OtherInformation, config_parse_bool, 0, offsetof(Network, router_other_information) -IPv6SendRA.RouterPreference, config_parse_router_preference, 0, 0 +IPv6SendRA.RouterPreference, config_parse_router_preference, 0, offsetof(Network, router_preference) IPv6SendRA.HopLimit, config_parse_uint8, 0, offsetof(Network, router_hop_limit) IPv6SendRA.EmitDNS, config_parse_bool, 0, offsetof(Network, router_emit_dns) IPv6SendRA.DNS, config_parse_radv_dns, 0, 0 diff --git a/src/network/networkd-radv.c b/src/network/networkd-radv.c index deb37c48509..9b1bd1287ad 100644 --- a/src/network/networkd-radv.c +++ b/src/network/networkd-radv.c @@ -1511,25 +1511,18 @@ int config_parse_router_preference( void *data, void *userdata) { - Network *network = userdata; + uint8_t *preference = ASSERT_PTR(data); - assert(filename); - assert(section); - assert(lvalue); - assert(rvalue); - assert(data); - - if (streq(rvalue, "high")) - network->router_preference = SD_NDISC_PREFERENCE_HIGH; - else if (STR_IN_SET(rvalue, "medium", "normal", "default")) - network->router_preference = SD_NDISC_PREFERENCE_MEDIUM; + if (isempty(rvalue) || STR_IN_SET(rvalue, "medium", "normal", "default")) + *preference = SD_NDISC_PREFERENCE_MEDIUM; + else if (streq(rvalue, "high")) + *preference = SD_NDISC_PREFERENCE_HIGH; else if (streq(rvalue, "low")) - network->router_preference = SD_NDISC_PREFERENCE_LOW; + *preference = SD_NDISC_PREFERENCE_LOW; else - log_syntax(unit, LOG_WARNING, filename, line, 0, - "Invalid router preference, ignoring assignment: %s", rvalue); + return log_syntax_parse_error(unit, filename, line, 0, lvalue, rvalue); - return 0; + return 1; } int config_parse_router_home_agent_lifetime(