From: Nick Cao Date: Sun, 28 Jul 2024 14:07:19 +0000 (-0400) Subject: network: Fixup Table when L3MasterDevice is set on routing policy rule X-Git-Tag: v257-rc1~808^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=615af2c77d996b2ba6e6d17d376f7a221c0e5822;p=thirdparty%2Fsystemd.git network: Fixup Table when L3MasterDevice is set on routing policy rule --- diff --git a/src/network/networkd-routing-policy-rule.c b/src/network/networkd-routing-policy-rule.c index 886b4da8e0a..c6b37799084 100644 --- a/src/network/networkd-routing-policy-rule.c +++ b/src/network/networkd-routing-policy-rule.c @@ -483,9 +483,7 @@ static int routing_policy_rule_set_netlink_message(const RoutingPolicyRule *rule return r; } - if (rule->l3mdev) - r = sd_rtnl_message_routing_policy_rule_set_table(m, RT_TABLE_UNSPEC); - else if (rule->table < 256) + if (rule->table < 256) r = sd_rtnl_message_routing_policy_rule_set_table(m, rule->table); else { r = sd_rtnl_message_routing_policy_rule_set_table(m, RT_TABLE_UNSPEC); @@ -1784,6 +1782,9 @@ static int routing_policy_rule_section_verify(RoutingPolicyRule *rule) { /* rule->family can be AF_UNSPEC only when Family=both. */ } + if (rule->l3mdev) + rule->table = RT_TABLE_UNSPEC; + return 0; }