[ipdecap]: Setup decap destination IP based on platform (#2191)
This commit is contained in:
parent
c3c6de4e5f
commit
b954fa9c13
@ -1,11 +1,15 @@
|
|||||||
{% set ipv4_addresses = [] %}
|
{% set ipv4_addresses = [] %}
|
||||||
{% set ipv6_addresses = [] %}
|
{% set ipv6_addresses = [] %}
|
||||||
|
{% set ipv4_loopback_addresses = [] %}
|
||||||
|
{% set ipv6_loopback_addresses = [] %}
|
||||||
{% for (name, prefix) in LOOPBACK_INTERFACE %}
|
{% for (name, prefix) in LOOPBACK_INTERFACE %}
|
||||||
{%- if prefix | ipv4 and name == 'Loopback0' %}
|
{%- if prefix | ipv4 and name == 'Loopback0' %}
|
||||||
{%- set ipv4_addresses = ipv4_addresses.append(prefix) %}
|
{%- set ipv4_addresses = ipv4_addresses.append(prefix) %}
|
||||||
|
{%- set ipv4_loopback_addresses = ipv4_loopback_addresses.append(prefix) %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if prefix | ipv6 and name == 'Loopback0' %}
|
{%- if prefix | ipv6 and name == 'Loopback0' %}
|
||||||
{%- set ipv6_addresses = ipv6_addresses.append(prefix) %}
|
{%- set ipv6_addresses = ipv6_addresses.append(prefix) %}
|
||||||
|
{%- set ipv6_loopback_addresses = ipv6_loopback_addresses.append(prefix) %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% for (name, prefix) in INTERFACE %}
|
{% for (name, prefix) in INTERFACE %}
|
||||||
@ -33,15 +37,16 @@
|
|||||||
{%- endif %}
|
{%- endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
[
|
[
|
||||||
{% if ipv4_addresses %}
|
{% if ipv4_loopback_addresses %}
|
||||||
{
|
{
|
||||||
"TUNNEL_DECAP_TABLE:IPINIP_TUNNEL" : {
|
"TUNNEL_DECAP_TABLE:IPINIP_TUNNEL" : {
|
||||||
"tunnel_type":"IPINIP",
|
"tunnel_type":"IPINIP",
|
||||||
"dst_ip":"{% for prefix in ipv4_addresses %}{{ prefix | ip }}{% if not loop.last %},{% endif %}{% endfor %}",
|
|
||||||
{% if "mlnx" in DEVICE_METADATA.localhost.platform %}
|
{% if "mlnx" in DEVICE_METADATA.localhost.platform %}
|
||||||
|
"dst_ip":"{% for prefix in ipv4_loopback_addresses %}{{ prefix | ip }}{% if not loop.last %},{% endif %}{% endfor %},
|
||||||
"dscp_mode":"uniform",
|
"dscp_mode":"uniform",
|
||||||
"ecn_mode":"standard",
|
"ecn_mode":"standard",
|
||||||
{% else %}
|
{% else %}
|
||||||
|
"dst_ip":"{% for prefix in ipv4_addresses %}{{ prefix | ip }}{% if not loop.last %},{% endif %}{% endfor %}",
|
||||||
"dscp_mode":"pipe",
|
"dscp_mode":"pipe",
|
||||||
"ecn_mode":"copy_from_outer",
|
"ecn_mode":"copy_from_outer",
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -50,17 +55,18 @@
|
|||||||
"OP": "SET"
|
"OP": "SET"
|
||||||
}
|
}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if ipv4_addresses and ipv6_addresses %} ,
|
{% if ipv4_loopback_addresses and ipv6_loopback_addresses %} ,
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if ipv6_addresses %}
|
{% if ipv6_loopback_addresses %}
|
||||||
{
|
{
|
||||||
"TUNNEL_DECAP_TABLE:IPINIP_V6_TUNNEL" : {
|
"TUNNEL_DECAP_TABLE:IPINIP_V6_TUNNEL" : {
|
||||||
"tunnel_type":"IPINIP",
|
"tunnel_type":"IPINIP",
|
||||||
"dst_ip":"{% for prefix in ipv6_addresses %}{{ prefix | ip }}{% if not loop.last %},{% endif %}{% endfor %}",
|
|
||||||
{% if "mlnx" in DEVICE_METADATA.localhost.platform %}
|
{% if "mlnx" in DEVICE_METADATA.localhost.platform %}
|
||||||
|
"dst_ip":"{% for prefix in ipv6_loopback_addresses %}{{ prefix | ip }}{% if not loop.last %},{% endif %}{% endfor %},
|
||||||
"dscp_mode":"uniform",
|
"dscp_mode":"uniform",
|
||||||
"ecn_mode":"standard",
|
"ecn_mode":"standard",
|
||||||
{% else %}
|
{% else %}
|
||||||
|
"dst_ip":"{% for prefix in ipv6_addresses %}{{ prefix | ip }}{% if not loop.last %},{% endif %}{% endfor %}",
|
||||||
"dscp_mode":"pipe",
|
"dscp_mode":"pipe",
|
||||||
"ecn_mode":"copy_from_outer",
|
"ecn_mode":"copy_from_outer",
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
Reference in New Issue
Block a user