Skip to content

Commit 1eaaf64

Browse files
authored
Set preference for forced mgmt routes (#5844)
When forced mgmt routes are present, the issue fixed as part of #5754 is not complete. Added a preference(priority) field to forced mgmt route ip rules
1 parent 2b41f6b commit 1eaaf64

File tree

4 files changed

+15
-2
lines changed

4 files changed

+15
-2
lines changed

files/image_config/interfaces/interfaces.j2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,14 +80,14 @@ iface eth0 {{ 'inet' if prefix | ipv4 else 'inet6' }} static
8080
up ip {{ '-4' if prefix | ipv4 else '-6' }} route add {{ prefix | network }}/{{ prefix | prefixlen }} dev eth0 table {{ vrf_table }}
8181
up ip {{ '-4' if prefix | ipv4 else '-6' }} rule add pref 32765 from {{ prefix | ip }}/{{ '32' if prefix | ipv4 else '128' }} table {{ vrf_table }}
8282
{% for route in MGMT_INTERFACE[(name, prefix)]['forced_mgmt_routes'] %}
83-
up ip rule add to {{ route }} table {{ vrf_table }}
83+
up ip rule add pref 32764 to {{ route }} table {{ vrf_table }}
8484
{% endfor %}
8585
# management port down rules
8686
pre-down ip {{ '-4' if prefix | ipv4 else '-6' }} route delete default via {{ MGMT_INTERFACE[(name, prefix)]['gwaddr'] }} dev eth0 table {{ vrf_table }}
8787
pre-down ip {{ '-4' if prefix | ipv4 else '-6' }} route delete {{ prefix | network }}/{{ prefix | prefixlen }} dev eth0 table {{ vrf_table }}
8888
pre-down ip {{ '-4' if prefix | ipv4 else '-6' }} rule delete pref 32765 from {{ prefix | ip }}/{{ '32' if prefix | ipv4 else '128' }} table {{ vrf_table }}
8989
{% for route in MGMT_INTERFACE[(name, prefix)]['forced_mgmt_routes'] %}
90-
pre-down ip rule delete to {{ route }} table {{ vrf_table }}
90+
pre-down ip rule delete pref 32764 to {{ route }} table {{ vrf_table }}
9191
{% endfor %}
9292
{# TODO: COPP policy type rules #}
9393
{% endfor %}

src/sonic-config-engine/tests/sample_output/py2/mvrf_interfaces

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,14 @@ iface eth0 inet static
3232
up ip -4 route add default via 10.0.0.1 dev eth0 table 5000 metric 201
3333
up ip -4 route add 10.0.0.0/24 dev eth0 table 5000
3434
up ip -4 rule add pref 32765 from 10.0.0.100/32 table 5000
35+
up ip rule add pref 32764 to 11.11.11.11 table 5000
36+
up ip rule add pref 32764 to 22.22.22.0/23 table 5000
3537
# management port down rules
3638
pre-down ip -4 route delete default via 10.0.0.1 dev eth0 table 5000
3739
pre-down ip -4 route delete 10.0.0.0/24 dev eth0 table 5000
3840
pre-down ip -4 rule delete pref 32765 from 10.0.0.100/32 table 5000
41+
pre-down ip rule delete pref 32764 to 11.11.11.11 table 5000
42+
pre-down ip rule delete pref 32764 to 22.22.22.0/23 table 5000
3943
iface eth0 inet6 static
4044
address 2603:10e2:0:2902::8
4145
netmask 64

src/sonic-config-engine/tests/sample_output/py3/mvrf_interfaces

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,14 @@ iface eth0 inet static
3232
up ip -4 route add default via 10.0.0.1 dev eth0 table 5000 metric 201
3333
up ip -4 route add 10.0.0.0/24 dev eth0 table 5000
3434
up ip -4 rule add pref 32765 from 10.0.0.100/32 table 5000
35+
up ip rule add pref 32764 to 11.11.11.11 table 5000
36+
up ip rule add pref 32764 to 22.22.22.0/23 table 5000
3537
# management port down rules
3638
pre-down ip -4 route delete default via 10.0.0.1 dev eth0 table 5000
3739
pre-down ip -4 route delete 10.0.0.0/24 dev eth0 table 5000
3840
pre-down ip -4 rule delete pref 32765 from 10.0.0.100/32 table 5000
41+
pre-down ip rule delete pref 32764 to 11.11.11.11 table 5000
42+
pre-down ip rule delete pref 32764 to 22.22.22.0/23 table 5000
3943
iface eth0 inet6 static
4044
address 2603:10e2:0:2902::8
4145
netmask 64

src/sonic-config-engine/tests/t0-sample-graph-mvrf.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,11 @@
393393
<a:DeviceMetadata>
394394
<a:Name>switch-t0</a:Name>
395395
<a:Properties>
396+
<a:DeviceProperty>
397+
<a:Name>ForcedMgmtRoutes</a:Name>
398+
<a:Reference i:nil="true"/>
399+
<a:Value>11.11.11.11;22.22.22.0/23</a:Value>
400+
</a:DeviceProperty>
396401
<a:DeviceProperty>
397402
<a:Name>ErspanDestinationIpv4</a:Name>
398403
<a:Reference i:nil="true"/>

0 commit comments

Comments
 (0)