mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 08:25:20 +09:00
Merge pull request #33853 from NickCao/l3mdev
network: Fixup Table when L3MasterDevice is set on routing policy rule
This commit is contained in:
@@ -1682,7 +1682,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
|
||||
one of predefined names <literal>default</literal>, <literal>main</literal>, and
|
||||
<literal>local</literal>, and names defined in <varname>RouteTable=</varname> in
|
||||
<citerefentry><refentrytitle>networkd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||||
or a number between 1 and 4294967295. Defaults to <literal>main</literal>.</para>
|
||||
or a number between 1 and 4294967295. Defaults to <literal>main</literal>.
|
||||
Ignored if <varname>L3MasterDevice=</varname> is true.</para>
|
||||
|
||||
<xi:include href="version-info.xml" xpointer="v235"/>
|
||||
</listitem>
|
||||
@@ -2053,7 +2054,7 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
|
||||
<command>ip route show table <replaceable>num</replaceable></command>. If unset and
|
||||
<varname>Type=</varname> is <literal>local</literal>, <literal>broadcast</literal>,
|
||||
<literal>anycast</literal>, or <literal>nat</literal>, then <literal>local</literal> is used.
|
||||
In other cases, defaults to <literal>main</literal>. Ignored if <varname>L3MasterDevice=</varname> is true.</para>
|
||||
In other cases, defaults to <literal>main</literal>.</para>
|
||||
|
||||
<xi:include href="version-info.xml" xpointer="v230"/>
|
||||
</listitem>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user