From: Yu Watanabe Date: Tue, 29 Dec 2020 18:07:33 +0000 (+0900) Subject: network: set RoutingPolicyRule::family based on Family= setting X-Git-Tag: v248-rc1~443^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=49de8d5cedc9f381a8b61cc9dcd40781cacf7e68;p=thirdparty%2Fsystemd.git network: set RoutingPolicyRule::family based on Family= setting --- diff --git a/src/network/networkd-routing-policy-rule.c b/src/network/networkd-routing-policy-rule.c index 79c4b9adcd9..0012a4bfa94 100644 --- a/src/network/networkd-routing-policy-rule.c +++ b/src/network/networkd-routing-policy-rule.c @@ -1553,8 +1553,13 @@ static int routing_policy_rule_section_verify(RoutingPolicyRule *rule) { "specified by To= or From=. Ignoring [RoutingPolicyRule] section from line %u.", rule->section->filename, rule->section->line); - if (rule->family == AF_UNSPEC && rule->address_family == ADDRESS_FAMILY_NO) - rule->family = AF_INET; + if (rule->family == AF_UNSPEC) { + if (IN_SET(rule->address_family, ADDRESS_FAMILY_IPV4, ADDRESS_FAMILY_NO)) + rule->family = AF_INET; + else if (rule->address_family == ADDRESS_FAMILY_IPV6) + rule->family = AF_INET6; + /* rule->family can be AF_UNSPEC only when Family=both. */ + } /* Currently, [RoutingPolicyRule] does not have a setting to set FRA_L3MDEV flag. Please also * update routing_policy_rule_is_created_by_kernel() when a new setting which sets the flag is