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
This commit is contained in:
Prince Sunny 2020-11-10 14:20:13 -08:00 committed by Abhishek Dosi
parent fd73c84805
commit 1c2c30fccd
3 changed files with 11 additions and 2 deletions

View File

@ -79,7 +79,7 @@ iface eth0 {{ 'inet' if prefix | ipv4 else 'inet6' }} static
up cgset -r l3mdev.master-device=mgmt mgmt up cgset -r l3mdev.master-device=mgmt mgmt
{% endif %} {% endif %}
{% for route in MGMT_INTERFACE[(name, prefix)]['forced_mgmt_routes'] %} {% for route in MGMT_INTERFACE[(name, prefix)]['forced_mgmt_routes'] %}
up ip rule add to {{ route }} table {{ vrf_table }} up ip rule add pref 32764 to {{ route }} table {{ vrf_table }}
{% endfor %} {% endfor %}
# management port down rules # management port down rules
pre-down ip {{ '-4' if prefix | ipv4 else '-6' }} route delete default via {{ MGMT_INTERFACE[(name, prefix)]['gwaddr'] }} dev eth0 table {{ vrf_table }} pre-down ip {{ '-4' if prefix | ipv4 else '-6' }} route delete default via {{ MGMT_INTERFACE[(name, prefix)]['gwaddr'] }} dev eth0 table {{ vrf_table }}
@ -89,7 +89,7 @@ iface eth0 {{ 'inet' if prefix | ipv4 else 'inet6' }} static
down cgdelete -g l3mdev:mgmt down cgdelete -g l3mdev:mgmt
{% endif %} {% endif %}
{% for route in MGMT_INTERFACE[(name, prefix)]['forced_mgmt_routes'] %} {% for route in MGMT_INTERFACE[(name, prefix)]['forced_mgmt_routes'] %}
pre-down ip rule delete to {{ route }} table {{ vrf_table }} pre-down ip rule delete pref 32764 to {{ route }} table {{ vrf_table }}
{% endfor %} {% endfor %}
{# TODO: COPP policy type rules #} {# TODO: COPP policy type rules #}
{% endfor %} {% endfor %}

View File

@ -29,11 +29,15 @@ iface eth0 inet static
up ip -4 rule add pref 32765 from 10.0.0.100/32 table 5000 up ip -4 rule add pref 32765 from 10.0.0.100/32 table 5000
up cgcreate -g l3mdev:mgmt up cgcreate -g l3mdev:mgmt
up cgset -r l3mdev.master-device=mgmt mgmt up cgset -r l3mdev.master-device=mgmt mgmt
up ip rule add pref 32764 to 11.11.11.11 table 5000
up ip rule add pref 32764 to 22.22.22.0/23 table 5000
# management port down rules # management port down rules
pre-down ip -4 route delete default via 10.0.0.1 dev eth0 table 5000 pre-down ip -4 route delete default via 10.0.0.1 dev eth0 table 5000
pre-down ip -4 route delete 10.0.0.0/24 dev eth0 table 5000 pre-down ip -4 route delete 10.0.0.0/24 dev eth0 table 5000
pre-down ip -4 rule delete pref 32765 from 10.0.0.100/32 table 5000 pre-down ip -4 rule delete pref 32765 from 10.0.0.100/32 table 5000
down cgdelete -g l3mdev:mgmt down cgdelete -g l3mdev:mgmt
pre-down ip rule delete pref 32764 to 11.11.11.11 table 5000
pre-down ip rule delete pref 32764 to 22.22.22.0/23 table 5000
iface eth0 inet6 static iface eth0 inet6 static
address 2603:10e2:0:2902::8 address 2603:10e2:0:2902::8
netmask 64 netmask 64

View File

@ -393,6 +393,11 @@
<a:DeviceMetadata> <a:DeviceMetadata>
<a:Name>switch-t0</a:Name> <a:Name>switch-t0</a:Name>
<a:Properties> <a:Properties>
<a:DeviceProperty>
<a:Name>ForcedMgmtRoutes</a:Name>
<a:Reference i:nil="true"/>
<a:Value>11.11.11.11;22.22.22.0/23</a:Value>
</a:DeviceProperty>
<a:DeviceProperty> <a:DeviceProperty>
<a:Name>ErspanDestinationIpv4</a:Name> <a:Name>ErspanDestinationIpv4</a:Name>
<a:Reference i:nil="true"/> <a:Reference i:nil="true"/>