[201911] Update Innovium device support (#5341)

- Add new device delta_evs-a-32q56 support for Innovium
- Update qos and buffer json files
- Update Innovium config files
This commit is contained in:
Tony Titus 2020-10-07 10:51:24 -07:00 committed by GitHub
parent cc135807d9
commit 05dc6834c2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
237 changed files with 20014 additions and 2043 deletions

View File

@ -1,6 +1,5 @@
{# Default values which will be used if no actual configura available #} {# Default values which will be used if no actual configura available #}
{% set default_cable = '300m' %} {% set default_cable = '40m' %}
{% set default_ports_num = 64 -%}
{# Port configuration to cable length look-up table #} {# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} {# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
@ -12,44 +11,53 @@
} }
%} %}
{%- macro cable_length(port_name) -%} {%- macro cable_length(port_name) %}
{%- set cable_len = [] -%} {%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR -%} {%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name -%} {%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type -%} {%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %} {%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role -%} {%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower -%} {%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower -%} {%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable -%} {%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) -%}{%- endif -%} {%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable -%} {%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) -%}{%- endif -%} {%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif -%} {%- endif %}
{%- endif -%} {%- endif %}
{%- endif -%} {%- endif %}
{%- endfor -%} {%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%} {%- if cable_len -%}
{{ cable_len.0 }} {{ cable_len.0 }}
{%- else -%} {%- else -%}
{{ default_cable }} {{ default_cable }}
{%- endif -%} {%- endif %}
{% endmacro %} {%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %} {%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} {%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%} {%- endif -%}
{# Generate list of ports if not defined #}
{% if PORT is not defined %}
{% set PORT = [] %}
{% for port_idx in range(0,default_ports_num) %}
{% if PORT.append("Ethernet%d" % (port_idx*4)) %}{% endif %}
{% endfor %}
{% endif -%}
{% set port_names_list = [] %} {% set port_names_list = [] %}
{% for port in PORT %} {% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %} {%- if port_names_list.append(port) %}{% endif %}
@ -57,6 +65,15 @@
{% set port_names = port_names_list | join(',') -%} {% set port_names = port_names_list | join(',') -%}
{ {
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": { "BUFFER_POOL": {
"ingress_lossless_pool": { "ingress_lossless_pool": {
"size": "47218432", "size": "47218432",
@ -64,7 +81,7 @@
"mode": "dynamic", "mode": "dynamic",
"xoff": "17708800" "xoff": "17708800"
}, },
"egress_lossy_pool": { "lossy_pool": {
"size": "18874368", "size": "18874368",
"type": "egress", "type": "egress",
"mode": "dynamic", "mode": "dynamic",
@ -74,46 +91,46 @@
"BUFFER_PROFILE": { "BUFFER_PROFILE": {
"ingress_lossless_profile": { "ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",
"xoff":"1433600", "xoff":"38816",
"size":"1518", "size":"1518",
"dynamic_th":"-4", "dynamic_th":"3",
"xon_offset":"6272" "xon_offset":"13440"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"static_th":"9721600"
}, },
"egress_lossless_profile": { "egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0", "size":"0",
"static_th":"9721600" "static_th":"9497600"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
}, },
"egress_lossy_profile": { "egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]", "pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518", "size":"1518",
"dynamic_th":"3" "dynamic_th":"3"
} }
}, },
"BUFFER_PG": { "BUFFER_PG": {
"{{ port_names }}|0-3": { "{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}, },
"{{ port_names }}|4-5": { "{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
}, },
"{{ port_names }}|6-7": { "{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
} }
}, },
"BUFFER_QUEUE": { "BUFFER_QUEUE": {
"{{ port_names }}|4-5": { "{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
}, },
"{{ port_names }}|0-3": { "{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}, },
"{{ port_names }}|6-7": { "{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
} }
} }

View File

@ -0,0 +1,38 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"BUFFER_POOL": {
"lossy_pool": {
"size": "56985600",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
"BUFFER_PG": {
"{{ port_names }}|0-7": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_QUEUE": {
"{{ port_names }}|0-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}
}
}

View File

@ -0,0 +1,137 @@
{# Default values which will be used if no actual configura available #}
{% set default_cable = '40m' %}
{# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
{# Roles described in the minigraph #}
{% set ports2cable = {
'torrouter_server' : '5m',
'leafrouter_torrouter' : '40m',
'spinerouter_leafrouter' : '300m'
}
%}
{%- macro cable_length(port_name) %}
{%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%}
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "47218432",
"type": "ingress",
"mode": "dynamic",
"xoff": "17708800"
},
"lossy_pool": {
"size": "18874368",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
}
},
"BUFFER_PROFILE": {
"ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"xoff":"38816",
"size":"1518",
"dynamic_th":"3",
"xon_offset":"13440"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"static_th":"9497600"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
"BUFFER_PG": {
"{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
},
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
},
"{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_QUEUE": {
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
},
"{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
},
"{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}
}
}

View File

@ -10,6 +10,11 @@ nodes:
multi_interface: "yes" multi_interface: "yes"
buffer_management_mode: "api_driven" buffer_management_mode: "api_driven"
max_lossless_tc: "2" max_lossless_tc: "2"
pcie_attn: "14"
pcie_post: "18"
pcie_pre1: "0"
ilpm_enable: "1"
forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
txring: txring:
- txring_id: "0" - txring_id: "0"
desc_count: "1024" desc_count: "1024"
@ -57,452 +62,452 @@ nodes:
sysport: "128" sysport: "128"
type: "cpu" type: "cpu"
- fec: "KRFEC" - fec: "KRFEC"
id: "1" id: "249"
lanes: "0:4" lanes: "0:4"
serdes_group: "31" serdes_group: "31"
speed: "100G" speed: "100G"
sysport: "1" sysport: "249"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "2" id: "253"
lanes: "4:4" lanes: "4:4"
serdes_group: "31" serdes_group: "31"
speed: "100G" speed: "100G"
sysport: "2" sysport: "253"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "3" id: "245"
lanes: "4:4" lanes: "4:4"
serdes_group: "30" serdes_group: "30"
speed: "100G" speed: "100G"
sysport: "3" sysport: "245"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "4" id: "241"
lanes: "0:4" lanes: "0:4"
serdes_group: "30" serdes_group: "30"
speed: "100G" speed: "100G"
sysport: "4" sysport: "241"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "5" id: "233"
lanes: "0:4" lanes: "0:4"
serdes_group: "29" serdes_group: "29"
speed: "100G" speed: "100G"
sysport: "5" sysport: "233"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "6" id: "237"
lanes: "4:4" lanes: "4:4"
serdes_group: "29" serdes_group: "29"
speed: "100G" speed: "100G"
sysport: "6" sysport: "237"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "7" id: "229"
lanes: "4:4" lanes: "4:4"
serdes_group: "28" serdes_group: "28"
speed: "100G" speed: "100G"
sysport: "7" sysport: "229"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "8" id: "225"
lanes: "0:4" lanes: "0:4"
serdes_group: "28" serdes_group: "28"
speed: "100G" speed: "100G"
sysport: "8" sysport: "225"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "9" id: "217"
lanes: "0:4" lanes: "0:4"
serdes_group: "27" serdes_group: "27"
speed: "100G" speed: "100G"
sysport: "9" sysport: "217"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "10" id: "221"
lanes: "4:4" lanes: "4:4"
serdes_group: "27" serdes_group: "27"
speed: "100G" speed: "100G"
sysport: "10" sysport: "221"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "11" id: "213"
lanes: "4:4" lanes: "4:4"
serdes_group: "26" serdes_group: "26"
speed: "100G" speed: "100G"
sysport: "11" sysport: "213"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "12" id: "209"
lanes: "0:4" lanes: "0:4"
serdes_group: "26" serdes_group: "26"
speed: "100G" speed: "100G"
sysport: "12" sysport: "209"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "13" id: "201"
lanes: "0:4" lanes: "0:4"
serdes_group: "25" serdes_group: "25"
speed: "100G" speed: "100G"
sysport: "13" sysport: "201"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "14" id: "205"
lanes: "4:4" lanes: "4:4"
serdes_group: "25" serdes_group: "25"
speed: "100G" speed: "100G"
sysport: "14" sysport: "205"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "15" id: "197"
lanes: "4:4" lanes: "4:4"
serdes_group: "24" serdes_group: "24"
speed: "100G" speed: "100G"
sysport: "15" sysport: "197"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "16" id: "193"
lanes: "0:4" lanes: "0:4"
serdes_group: "24" serdes_group: "24"
speed: "100G" speed: "100G"
sysport: "16" sysport: "193"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "17" id: "185"
lanes: "0:4" lanes: "0:4"
serdes_group: "23" serdes_group: "23"
speed: "100G" speed: "100G"
sysport: "17" sysport: "185"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "18" id: "189"
lanes: "4:4" lanes: "4:4"
serdes_group: "23" serdes_group: "23"
speed: "100G" speed: "100G"
sysport: "18" sysport: "189"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "19" id: "181"
lanes: "4:4" lanes: "4:4"
serdes_group: "22" serdes_group: "22"
speed: "100G" speed: "100G"
sysport: "19" sysport: "181"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "20" id: "177"
lanes: "0:4" lanes: "0:4"
serdes_group: "22" serdes_group: "22"
speed: "100G" speed: "100G"
sysport: "20" sysport: "177"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "21" id: "169"
lanes: "0:4" lanes: "0:4"
serdes_group: "21" serdes_group: "21"
speed: "100G" speed: "100G"
sysport: "21" sysport: "169"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "22" id: "173"
lanes: "4:4" lanes: "4:4"
serdes_group: "21" serdes_group: "21"
speed: "100G" speed: "100G"
sysport: "22" sysport: "173"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "23" id: "165"
lanes: "4:4" lanes: "4:4"
serdes_group: "20" serdes_group: "20"
speed: "100G" speed: "100G"
sysport: "23" sysport: "165"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "24" id: "161"
lanes: "0:4" lanes: "0:4"
serdes_group: "20" serdes_group: "20"
speed: "100G" speed: "100G"
sysport: "24" sysport: "161"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "25" id: "153"
lanes: "0:4" lanes: "0:4"
serdes_group: "19" serdes_group: "19"
speed: "100G" speed: "100G"
sysport: "25" sysport: "153"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "26" id: "157"
lanes: "4:4" lanes: "4:4"
serdes_group: "19" serdes_group: "19"
speed: "100G" speed: "100G"
sysport: "26" sysport: "157"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "27" id: "149"
lanes: "4:4" lanes: "4:4"
serdes_group: "18" serdes_group: "18"
speed: "100G" speed: "100G"
sysport: "27" sysport: "149"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "28" id: "145"
lanes: "0:4" lanes: "0:4"
serdes_group: "18" serdes_group: "18"
speed: "100G" speed: "100G"
sysport: "28" sysport: "145"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "29" id: "137"
lanes: "0:4" lanes: "0:4"
serdes_group: "17" serdes_group: "17"
speed: "100G" speed: "100G"
sysport: "29" sysport: "137"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "30" id: "141"
lanes: "4:4" lanes: "4:4"
serdes_group: "17" serdes_group: "17"
speed: "100G" speed: "100G"
sysport: "30" sysport: "141"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "31" id: "133"
lanes: "4:4" lanes: "4:4"
serdes_group: "16" serdes_group: "16"
speed: "100G" speed: "100G"
sysport: "31" sysport: "133"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "32" id: "129"
lanes: "0:4" lanes: "0:4"
serdes_group: "16" serdes_group: "16"
speed: "100G" speed: "100G"
sysport: "32" sysport: "129"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "33" id: "121"
lanes: "0:4" lanes: "0:4"
serdes_group: "15" serdes_group: "15"
speed: "100G" speed: "100G"
sysport: "33" sysport: "121"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "34" id: "125"
lanes: "4:4" lanes: "4:4"
serdes_group: "15" serdes_group: "15"
speed: "100G" speed: "100G"
sysport: "34" sysport: "125"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "35" id: "117"
lanes: "4:4" lanes: "4:4"
serdes_group: "14" serdes_group: "14"
speed: "100G" speed: "100G"
sysport: "35" sysport: "117"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "36" id: "113"
lanes: "0:4" lanes: "0:4"
serdes_group: "14" serdes_group: "14"
speed: "100G" speed: "100G"
sysport: "36" sysport: "113"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "37" id: "105"
lanes: "0:4" lanes: "0:4"
serdes_group: "13" serdes_group: "13"
speed: "100G" speed: "100G"
sysport: "37" sysport: "105"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "38" id: "109"
lanes: "4:4" lanes: "4:4"
serdes_group: "13" serdes_group: "13"
speed: "100G" speed: "100G"
sysport: "38" sysport: "109"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "39" id: "101"
lanes: "4:4" lanes: "4:4"
serdes_group: "12" serdes_group: "12"
speed: "100G" speed: "100G"
sysport: "39" sysport: "101"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "40" id: "97"
lanes: "0:4" lanes: "0:4"
serdes_group: "12" serdes_group: "12"
speed: "100G" speed: "100G"
sysport: "40" sysport: "97"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "41" id: "89"
lanes: "0:4" lanes: "0:4"
serdes_group: "11" serdes_group: "11"
speed: "100G" speed: "100G"
sysport: "41" sysport: "89"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "42" id: "93"
lanes: "4:4" lanes: "4:4"
serdes_group: "11" serdes_group: "11"
speed: "100G" speed: "100G"
sysport: "42" sysport: "93"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "43" id: "85"
lanes: "4:4" lanes: "4:4"
serdes_group: "10" serdes_group: "10"
speed: "100G" speed: "100G"
sysport: "43" sysport: "85"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "44" id: "81"
lanes: "0:4" lanes: "0:4"
serdes_group: "10" serdes_group: "10"
speed: "100G" speed: "100G"
sysport: "44" sysport: "81"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "45" id: "73"
lanes: "0:4" lanes: "0:4"
serdes_group: "9" serdes_group: "9"
speed: "100G" speed: "100G"
sysport: "45" sysport: "73"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "46" id: "77"
lanes: "4:4" lanes: "4:4"
serdes_group: "9" serdes_group: "9"
speed: "100G" speed: "100G"
sysport: "46" sysport: "77"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "47" id: "69"
lanes: "4:4" lanes: "4:4"
serdes_group: "8" serdes_group: "8"
speed: "100G" speed: "100G"
sysport: "47" sysport: "69"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "48" id: "65"
lanes: "0:4" lanes: "0:4"
serdes_group: "8" serdes_group: "8"
speed: "100G" speed: "100G"
sysport: "48" sysport: "65"
type: "eth"
- fec: "KRFEC"
id: "49"
lanes: "0:4"
serdes_group: "7"
speed: "100G"
sysport: "49"
type: "eth"
- fec: "KRFEC"
id: "50"
lanes: "4:4"
serdes_group: "7"
speed: "100G"
sysport: "50"
type: "eth"
- fec: "KRFEC"
id: "51"
lanes: "4:4"
serdes_group: "6"
speed: "100G"
sysport: "51"
type: "eth"
- fec: "KRFEC"
id: "52"
lanes: "0:4"
serdes_group: "6"
speed: "100G"
sysport: "52"
type: "eth"
- fec: "KRFEC"
id: "53"
lanes: "0:4"
serdes_group: "5"
speed: "100G"
sysport: "53"
type: "eth"
- fec: "KRFEC"
id: "54"
lanes: "4:4"
serdes_group: "5"
speed: "100G"
sysport: "54"
type: "eth"
- fec: "KRFEC"
id: "55"
lanes: "4:4"
serdes_group: "4"
speed: "100G"
sysport: "55"
type: "eth"
- fec: "KRFEC"
id: "56"
lanes: "0:4"
serdes_group: "4"
speed: "100G"
sysport: "56"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "57" id: "57"
lanes: "0:4" lanes: "0:4"
serdes_group: "3" serdes_group: "7"
speed: "100G" speed: "100G"
sysport: "57" sysport: "57"
type: "eth" type: "eth"
- fec: "KRFEC"
id: "58"
lanes: "4:4"
serdes_group: "3"
speed: "100G"
sysport: "58"
type: "eth"
- fec: "KRFEC"
id: "59"
lanes: "4:4"
serdes_group: "2"
speed: "100G"
sysport: "59"
type: "eth"
- fec: "KRFEC"
id: "60"
lanes: "0:4"
serdes_group: "2"
speed: "100G"
sysport: "60"
type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "61" id: "61"
lanes: "0:4" lanes: "4:4"
serdes_group: "1" serdes_group: "7"
speed: "100G" speed: "100G"
sysport: "61" sysport: "61"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "62" id: "53"
lanes: "4:4"
serdes_group: "6"
speed: "100G"
sysport: "53"
type: "eth"
- fec: "KRFEC"
id: "49"
lanes: "0:4"
serdes_group: "6"
speed: "100G"
sysport: "49"
type: "eth"
- fec: "KRFEC"
id: "41"
lanes: "0:4"
serdes_group: "5"
speed: "100G"
sysport: "41"
type: "eth"
- fec: "KRFEC"
id: "45"
lanes: "4:4"
serdes_group: "5"
speed: "100G"
sysport: "45"
type: "eth"
- fec: "KRFEC"
id: "37"
lanes: "4:4"
serdes_group: "4"
speed: "100G"
sysport: "37"
type: "eth"
- fec: "KRFEC"
id: "33"
lanes: "0:4"
serdes_group: "4"
speed: "100G"
sysport: "33"
type: "eth"
- fec: "KRFEC"
id: "25"
lanes: "0:4"
serdes_group: "3"
speed: "100G"
sysport: "25"
type: "eth"
- fec: "KRFEC"
id: "29"
lanes: "4:4"
serdes_group: "3"
speed: "100G"
sysport: "29"
type: "eth"
- fec: "KRFEC"
id: "21"
lanes: "4:4"
serdes_group: "2"
speed: "100G"
sysport: "21"
type: "eth"
- fec: "KRFEC"
id: "17"
lanes: "0:4"
serdes_group: "2"
speed: "100G"
sysport: "17"
type: "eth"
- fec: "KRFEC"
id: "9"
lanes: "0:4"
serdes_group: "1"
speed: "100G"
sysport: "9"
type: "eth"
- fec: "KRFEC"
id: "13"
lanes: "4:4" lanes: "4:4"
serdes_group: "1" serdes_group: "1"
speed: "100G" speed: "100G"
sysport: "62" sysport: "13"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "63" id: "5"
lanes: "4:4" lanes: "4:4"
serdes_group: "0" serdes_group: "0"
speed: "100G" speed: "100G"
sysport: "63" sysport: "5"
type: "eth" type: "eth"
- fec: "KRFEC" - fec: "KRFEC"
id: "64" id: "1"
lanes: "0:4" lanes: "0:4"
serdes_group: "0" serdes_group: "0"
speed: "100G" speed: "100G"
sysport: "64" sysport: "1"
type: "eth" type: "eth"
isg: isg:
- id: "0" - id: "0"

View File

@ -0,0 +1,9 @@
IFCS_INIT_FILE : "/usr/share/sonic/hwsku/config_64x100G_midstone200i.yaml"
IFCS_SKU_FILE : "/usr/share/sonic/hwsku/innovium.77700_B"
IFCS_INNO_CLI_PORT : "9999"
IFCS_TARGET : "device"
INNOVIUM_DIR : "/innovium"
PYTHONPATH : "$INNOVIUM_DIR:$INNOVIUM_DIR/cmds:$INNOVIUM_DIR/scripts:$INNOVIUM_DIR/test/:$INNOVIUM_DIR/test/utils:$INNOVIUM_DIR/utils:$INNOVIUM_DIR/pyctypes"
AVG_IPG_RESERVED_SIZE: "1518"
AVG_QUEUE_RESERVED_SIZE: "1518"
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"

View File

@ -0,0 +1,9 @@
ISAI_PARAM_P0_0_LS : "4608 4608 4608 4608 2880 2880"
ISAI_PARAM_P0_1_LS : "2226 1946 1946 1890 1218 1218"
ISAI_PARAM_P0_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_0_LS : "1536 1536 1536 1536 960 960"
ISAI_PARAM_P1_0_LL : "3072 3072 3072 3072 1920 1920"
ISAI_PARAM_P1_1_LS : "1778 1498 1498 1442 938 938"
ISAI_PARAM_P1_1_LL : "2478 2478 2478 2478 2478 2478"
ISAI_PARAM_P1_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_1_ALL : "126 126 126 126 126 126"

View File

@ -0,0 +1,14 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
25000 5m 1518 0 15680 3 13440
50000 5m 1518 0 21152 3 13440
100000 5m 1518 0 34336 3 13440
400000 5m 1518 0 117376 3 13440
25000 40m 1518 0 16800 3 13440
50000 40m 1518 0 23392 3 13440
100000 40m 1518 0 38816 3 13440
400000 40m 1518 0 135296 3 13440
25000 300m 1518 0 25120 3 13440
50000 300m 1518 0 40032 3 13440
100000 300m 1518 0 72096 3 13440
400000 300m 1518 0 268416 3 13440

View File

@ -1,65 +1,65 @@
# name lanes speed index mtu # name lanes speed index mtu
Ethernet0 249,250,251,252 100000 1 9126 Ethernet0 249,250,251,252 100000 0 9126
Ethernet4 253,254,255,256 100000 2 9126 Ethernet4 253,254,255,256 100000 1 9126
Ethernet8 245,246,247,248 100000 3 9126 Ethernet8 245,246,247,248 100000 2 9126
Ethernet12 241,242,243,244 100000 4 9126 Ethernet12 241,242,243,244 100000 3 9126
Ethernet16 233,234,235,236 100000 5 9126 Ethernet16 233,234,235,236 100000 4 9126
Ethernet20 237,238,239,240 100000 6 9126 Ethernet20 237,238,239,240 100000 5 9126
Ethernet24 229,230,231,232 100000 7 9126 Ethernet24 229,230,231,232 100000 6 9126
Ethernet28 225,226,227,228 100000 8 9126 Ethernet28 225,226,227,228 100000 7 9126
Ethernet32 217,218,219,220 100000 9 9126 Ethernet32 217,218,219,220 100000 8 9126
Ethernet36 221,222,223,224 100000 10 9126 Ethernet36 221,222,223,224 100000 9 9126
Ethernet40 213,214,215,216 100000 11 9126 Ethernet40 213,214,215,216 100000 10 9126
Ethernet44 209,210,211,212 100000 12 9126 Ethernet44 209,210,211,212 100000 11 9126
Ethernet48 201,202,203,204 100000 13 9126 Ethernet48 201,202,203,204 100000 12 9126
Ethernet52 205,206,207,208 100000 14 9126 Ethernet52 205,206,207,208 100000 13 9126
Ethernet56 197,198,199,200 100000 15 9126 Ethernet56 197,198,199,200 100000 14 9126
Ethernet60 193,194,195,196 100000 16 9126 Ethernet60 193,194,195,196 100000 15 9126
Ethernet64 185,186,187,188 100000 17 9126 Ethernet64 185,186,187,188 100000 16 9126
Ethernet68 189,190,191,192 100000 18 9126 Ethernet68 189,190,191,192 100000 17 9126
Ethernet72 181,182,183,184 100000 19 9126 Ethernet72 181,182,183,184 100000 18 9126
Ethernet76 177,178,179,180 100000 20 9126 Ethernet76 177,178,179,180 100000 19 9126
Ethernet80 169,170,171,172 100000 21 9126 Ethernet80 169,170,171,172 100000 20 9126
Ethernet84 173,174,175,176 100000 22 9126 Ethernet84 173,174,175,176 100000 21 9126
Ethernet88 165,166,167,168 100000 23 9126 Ethernet88 165,166,167,168 100000 22 9126
Ethernet92 161,162,163,164 100000 24 9126 Ethernet92 161,162,163,164 100000 23 9126
Ethernet96 153,154,155,156 100000 25 9126 Ethernet96 153,154,155,156 100000 24 9126
Ethernet100 157,158,159,160 100000 26 9126 Ethernet100 157,158,159,160 100000 25 9126
Ethernet104 149,150,151,152 100000 27 9126 Ethernet104 149,150,151,152 100000 26 9126
Ethernet108 145,146,147,148 100000 28 9126 Ethernet108 145,146,147,148 100000 27 9126
Ethernet112 137,138,139,140 100000 29 9126 Ethernet112 137,138,139,140 100000 28 9126
Ethernet116 141,142,143,144 100000 30 9126 Ethernet116 141,142,143,144 100000 29 9126
Ethernet120 133,134,135,136 100000 31 9126 Ethernet120 133,134,135,136 100000 30 9126
Ethernet124 129,130,131,132 100000 32 9126 Ethernet124 129,130,131,132 100000 31 9126
Ethernet128 121,122,123,124 100000 33 9126 Ethernet128 121,122,123,124 100000 32 9126
Ethernet132 125,126,127,128 100000 34 9126 Ethernet132 125,126,127,128 100000 33 9126
Ethernet136 117,118,119,120 100000 35 9126 Ethernet136 117,118,119,120 100000 34 9126
Ethernet140 113,114,115,116 100000 36 9126 Ethernet140 113,114,115,116 100000 35 9126
Ethernet144 105,106,107,108 100000 37 9126 Ethernet144 105,106,107,108 100000 36 9126
Ethernet148 109,110,111,112 100000 38 9126 Ethernet148 109,110,111,112 100000 37 9126
Ethernet152 101,102,103,104 100000 39 9126 Ethernet152 101,102,103,104 100000 38 9126
Ethernet156 97,98,99,100 100000 40 9126 Ethernet156 97,98,99,100 100000 39 9126
Ethernet160 89,90,91,92 100000 41 9126 Ethernet160 89,90,91,92 100000 40 9126
Ethernet164 93,94,95,96 100000 42 9126 Ethernet164 93,94,95,96 100000 41 9126
Ethernet168 85,86,87,88 100000 43 9126 Ethernet168 85,86,87,88 100000 42 9126
Ethernet172 81,82,83,84 100000 44 9126 Ethernet172 81,82,83,84 100000 43 9126
Ethernet176 73,74,75,76 100000 45 9126 Ethernet176 73,74,75,76 100000 44 9126
Ethernet180 77,78,79,80 100000 46 9126 Ethernet180 77,78,79,80 100000 45 9126
Ethernet184 69,70,71,72 100000 47 9126 Ethernet184 69,70,71,72 100000 46 9126
Ethernet188 65,66,67,68 100000 48 9126 Ethernet188 65,66,67,68 100000 47 9126
Ethernet192 57,58,59,60 100000 49 9126 Ethernet192 57,58,59,60 100000 48 9126
Ethernet196 61,62,63,64 100000 50 9126 Ethernet196 61,62,63,64 100000 49 9126
Ethernet200 53,54,55,56 100000 51 9126 Ethernet200 53,54,55,56 100000 50 9126
Ethernet204 49,50,51,52 100000 52 9126 Ethernet204 49,50,51,52 100000 51 9126
Ethernet208 41,42,43,44 100000 53 9126 Ethernet208 41,42,43,44 100000 52 9126
Ethernet212 45,46,47,48 100000 54 9126 Ethernet212 45,46,47,48 100000 53 9126
Ethernet216 37,38,39,40 100000 55 9126 Ethernet216 37,38,39,40 100000 54 9126
Ethernet220 33,34,35,36 100000 56 9126 Ethernet220 33,34,35,36 100000 55 9126
Ethernet224 25,26,27,28 100000 57 9126 Ethernet224 25,26,27,28 100000 56 9126
Ethernet228 29,30,31,32 100000 58 9126 Ethernet228 29,30,31,32 100000 57 9126
Ethernet232 21,22,23,24 100000 59 9126 Ethernet232 21,22,23,24 100000 58 9126
Ethernet236 17,18,19,20 100000 60 9126 Ethernet236 17,18,19,20 100000 59 9126
Ethernet240 9,10,11,12 100000 61 9126 Ethernet240 9,10,11,12 100000 60 9126
Ethernet244 13,14,15,16 100000 62 9126 Ethernet244 13,14,15,16 100000 61 9126
Ethernet248 5,6,7,8 100000 63 9126 Ethernet248 5,6,7,8 100000 62 9126
Ethernet252 1,2,3,4 100000 64 9126 Ethernet252 1,2,3,4 100000 63 9126

View File

@ -1,14 +1,3 @@
{# Default values which will be used if no actual configura available #}
{% set default_ports_num = 64 -%}
{# Generate list of ports if not defined #}
{% if PORT is not defined %}
{% set PORT = [] %}
{% for port_idx in range(0,default_ports_num) %}
{% if PORT.append("Ethernet%d" % (port_idx*4)) %}{% endif %}
{% endfor %}
{% endif -%}
{% set port_names_list = [] %} {% set port_names_list = [] %}
{% for port in PORT %} {% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %} {%- if port_names_list.append(port) %}{% endif %}
@ -19,24 +8,24 @@
{ {
"TC_TO_QUEUE_MAP":{ "TC_TO_QUEUE_MAP":{
"AZURE":{ "AZURE":{
"1":"1",
"0":"0", "0":"0",
"3":"3", "1":"1",
"2":"2", "2":"2",
"5":"5", "3":"3",
"4":"4", "4":"4",
"7":"7", "5":"5",
"6":"6" "6":"6",
"7":"7"
} }
}, },
"TC_TO_PRIORITY_GROUP_MAP": { "TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": { "AZURE": {
"1": "0",
"0": "0", "0": "0",
"3": "0", "1": "0",
"2": "0", "2": "0",
"4": "1", "3": "1",
"5": "2", "4": "2",
"5": "0",
"6": "0", "6": "0",
"7": "0" "7": "0"
} }
@ -46,9 +35,9 @@
"0":"0", "0":"0",
"1":"0", "1":"0",
"2":"0", "2":"0",
"3":"0", "3":"3",
"4":"4", "4":"4",
"5":"5", "5":"0",
"6":"0", "6":"0",
"7":"0", "7":"0",
"8":"1", "8":"1",
@ -114,7 +103,12 @@
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]", "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]", "tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]", "dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]",
"pfc_enable": "4,5" "pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"red_min_threshold":"50000"
} }
} }
} }

View File

@ -0,0 +1,118 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"TC_TO_QUEUE_MAP":{
"AZURE":{
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7"
}
},
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "1",
"4": "2",
"5": "0",
"6": "0",
"7": "0"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"0",
"4":"0",
"5":"0",
"6":"0",
"7":"0",
"8":"0",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"PORT_QOS_MAP": {
"{{ port_names }}": {
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]"
}
},
"SCHEDULER": {
"scheduler.7": {
"type": "STRICT"
}
},
"QUEUE": {
"{{ port_names }}|7": {
"scheduler": "[SCHEDULER|scheduler.7]"
}
}
}

View File

@ -0,0 +1,114 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"TC_TO_QUEUE_MAP":{
"AZURE":{
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7"
}
},
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "1",
"4": "2",
"5": "0",
"6": "0",
"7": "0"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"3",
"4":"4",
"5":"0",
"6":"0",
"7":"0",
"8":"1",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"PORT_QOS_MAP": {
"{{ port_names }}": {
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]",
"pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"red_min_threshold":"50000"
}
}
}

View File

@ -1 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/inno.config.yaml SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/ivm.sai.config.yaml

View File

@ -1,6 +1,5 @@
{# Default values which will be used if no actual configura available #} {# Default values which will be used if no actual configura available #}
{% set default_cable = '300m' %} {% set default_cable = '40m' %}
{% set default_ports_num = 128 -%}
{# Port configuration to cable length look-up table #} {# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} {# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
@ -12,44 +11,53 @@
} }
%} %}
{%- macro cable_length(port_name) -%} {%- macro cable_length(port_name) %}
{%- set cable_len = [] -%} {%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR -%} {%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name -%} {%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type -%} {%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %} {%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role -%} {%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower -%} {%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower -%} {%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable -%} {%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) -%}{%- endif -%} {%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable -%} {%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) -%}{%- endif -%} {%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif -%} {%- endif %}
{%- endif -%} {%- endif %}
{%- endif -%} {%- endif %}
{%- endfor -%} {%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%} {%- if cable_len -%}
{{ cable_len.0 }} {{ cable_len.0 }}
{%- else -%} {%- else -%}
{{ default_cable }} {{ default_cable }}
{%- endif -%} {%- endif %}
{% endmacro %} {%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %} {%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} {%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%} {%- endif -%}
{# Generate list of ports if not defined #}
{% if PORT is not defined %}
{% set PORT = [] %}
{% for port_idx in range(0,default_ports_num) %}
{% if PORT.append("Ethernet%d" % (port_idx*2)) %}{% endif %}
{% endfor %}
{% endif -%}
{% set port_names_list = [] %} {% set port_names_list = [] %}
{% for port in PORT %} {% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %} {%- if port_names_list.append(port) %}{% endif %}
@ -57,6 +65,15 @@
{% set port_names = port_names_list | join(',') -%} {% set port_names = port_names_list | join(',') -%}
{ {
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": { "BUFFER_POOL": {
"ingress_lossless_pool": { "ingress_lossless_pool": {
"size": "47218432", "size": "47218432",
@ -64,7 +81,7 @@
"mode": "dynamic", "mode": "dynamic",
"xoff": "17708800" "xoff": "17708800"
}, },
"egress_lossy_pool": { "lossy_pool": {
"size": "18874368", "size": "18874368",
"type": "egress", "type": "egress",
"mode": "dynamic", "mode": "dynamic",
@ -74,46 +91,46 @@
"BUFFER_PROFILE": { "BUFFER_PROFILE": {
"ingress_lossless_profile": { "ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",
"xoff":"1433600", "xoff":"38816",
"size":"1518", "size":"1518",
"dynamic_th":"-4", "dynamic_th":"3",
"xon_offset":"6272" "xon_offset":"13440"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"static_th":"9721600"
}, },
"egress_lossless_profile": { "egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0", "size":"0",
"static_th":"9721600" "static_th":"9497600"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
}, },
"egress_lossy_profile": { "egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]", "pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518", "size":"1518",
"dynamic_th":"3" "dynamic_th":"3"
} }
}, },
"BUFFER_PG": { "BUFFER_PG": {
"{{ port_names }}|0-3": { "{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}, },
"{{ port_names }}|4-5": { "{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
}, },
"{{ port_names }}|6-7": { "{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
} }
}, },
"BUFFER_QUEUE": { "BUFFER_QUEUE": {
"{{ port_names }}|4-5": { "{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
}, },
"{{ port_names }}|0-3": { "{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}, },
"{{ port_names }}|6-7": { "{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
} }
} }

View File

@ -0,0 +1,38 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"BUFFER_POOL": {
"lossy_pool": {
"size": "56985600",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
"BUFFER_PG": {
"{{ port_names }}|0-7": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_QUEUE": {
"{{ port_names }}|0-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}
}
}

View File

@ -0,0 +1,137 @@
{# Default values which will be used if no actual configura available #}
{% set default_cable = '40m' %}
{# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
{# Roles described in the minigraph #}
{% set ports2cable = {
'torrouter_server' : '5m',
'leafrouter_torrouter' : '40m',
'spinerouter_leafrouter' : '300m'
}
%}
{%- macro cable_length(port_name) %}
{%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%}
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "47218432",
"type": "ingress",
"mode": "dynamic",
"xoff": "17708800"
},
"lossy_pool": {
"size": "18874368",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
}
},
"BUFFER_PROFILE": {
"ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"xoff":"38816",
"size":"1518",
"dynamic_th":"3",
"xon_offset":"13440"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"static_th":"9497600"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
"BUFFER_PG": {
"{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
},
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
},
"{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_QUEUE": {
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
},
"{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
},
"{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}
}
}

View File

@ -10,6 +10,8 @@ nodes:
multi_interface: "yes" multi_interface: "yes"
buffer_management_mode: "api_driven" buffer_management_mode: "api_driven"
max_lossless_tc: "2" max_lossless_tc: "2"
ilpm_enable: "1"
forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
txring: txring:
- txring_id: "0" - txring_id: "0"
desc_count: "1024" desc_count: "1024"
@ -951,20 +953,6 @@ nodes:
speed: "100G" speed: "100G"
sysport: "3" sysport: "3"
type: "eth" type: "eth"
- fec: "NONE"
id: "257"
lanes: "0:1"
serdes_group: "32"
speed: "10G"
sysport: "257"
type: "mgmt 0"
- fec: "NONE"
id: "258"
lanes: "1:1"
serdes_group: "32"
speed: "10G"
sysport: "258"
type: "mgmt 1"
isg: isg:
- id: "0" - id: "0"
lane_swap: "01234567" lane_swap: "01234567"

View File

@ -0,0 +1,9 @@
IFCS_INIT_FILE : "/usr/share/sonic/hwsku/config_128x100G_midstone200i.yaml"
IFCS_SKU_FILE : "/usr/share/sonic/hwsku/innovium.77700_B"
IFCS_INNO_CLI_PORT : "9999"
IFCS_TARGET : "device"
INNOVIUM_DIR : "/innovium"
PYTHONPATH : "$INNOVIUM_DIR:$INNOVIUM_DIR/cmds:$INNOVIUM_DIR/scripts:$INNOVIUM_DIR/test/:$INNOVIUM_DIR/test/utils:$INNOVIUM_DIR/utils:$INNOVIUM_DIR/pyctypes"
AVG_IPG_RESERVED_SIZE: "1518"
AVG_QUEUE_RESERVED_SIZE: "1518"
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"

View File

@ -0,0 +1,9 @@
ISAI_PARAM_P0_0_LS : "4608 4608 4608 4608 2880 2880"
ISAI_PARAM_P0_1_LS : "2226 1946 1946 1890 1218 1218"
ISAI_PARAM_P0_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_0_LS : "1536 1536 1536 1536 960 960"
ISAI_PARAM_P1_0_LL : "3072 3072 3072 3072 1920 1920"
ISAI_PARAM_P1_1_LS : "1778 1498 1498 1442 938 938"
ISAI_PARAM_P1_1_LL : "2478 2478 2478 2478 2478 2478"
ISAI_PARAM_P1_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_1_ALL : "126 126 126 126 126 126"

View File

@ -0,0 +1,14 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
25000 5m 1518 0 15680 3 13440
50000 5m 1518 0 21152 3 13440
100000 5m 1518 0 34336 3 13440
400000 5m 1518 0 117376 3 13440
25000 40m 1518 0 16800 3 13440
50000 40m 1518 0 23392 3 13440
100000 40m 1518 0 38816 3 13440
400000 40m 1518 0 135296 3 13440
25000 300m 1518 0 25120 3 13440
50000 300m 1518 0 40032 3 13440
100000 300m 1518 0 72096 3 13440
400000 300m 1518 0 268416 3 13440

View File

@ -1,131 +1,129 @@
# name lanes speed index mtu # name lanes alias speed index mtu
Ethernet0 249,250 100000 0 9126 Ethernet0 249,250 Eth1/1 100000 0 9126
Ethernet2 251,252 100000 0 9126 Ethernet2 251,252 Eth1/2 100000 0 9126
Ethernet4 253,254 100000 1 9126 Ethernet4 253,254 Eth2/1 100000 1 9126
Ethernet6 255,256 100000 1 9126 Ethernet6 255,256 Eth2/2 100000 1 9126
Ethernet8 245,246 100000 2 9126 Ethernet8 245,246 Eth3/1 100000 2 9126
Ethernet10 247,248 100000 2 9126 Ethernet10 247,248 Eth3/2 100000 2 9126
Ethernet12 241,242 100000 3 9126 Ethernet12 241,242 Eth4/1 100000 3 9126
Ethernet14 243,244 100000 3 9126 Ethernet14 243,244 Eth4/2 100000 3 9126
Ethernet16 233,234 100000 4 9126 Ethernet16 233,234 Eth5/1 100000 4 9126
Ethernet18 235,236 100000 4 9126 Ethernet18 235,236 Eth5/2 100000 4 9126
Ethernet20 237,238 100000 5 9126 Ethernet20 237,238 Eth6/1 100000 5 9126
Ethernet22 239,240 100000 5 9126 Ethernet22 239,240 Eth6/2 100000 5 9126
Ethernet24 229,230 100000 6 9126 Ethernet24 229,230 Eth7/1 100000 6 9126
Ethernet26 231,232 100000 6 9126 Ethernet26 231,232 Eth7/2 100000 6 9126
Ethernet28 225,226 100000 7 9126 Ethernet28 225,226 Eth8/1 100000 7 9126
Ethernet30 227,228 100000 7 9126 Ethernet30 227,228 Eth8/2 100000 7 9126
Ethernet32 217,218 100000 8 9126 Ethernet32 217,218 Eth9/1 100000 8 9126
Ethernet34 219,220 100000 8 9126 Ethernet34 219,220 Eth9/2 100000 8 9126
Ethernet36 221,222 100000 9 9126 Ethernet36 221,222 Eth10/1 100000 9 9126
Ethernet38 223,224 100000 9 9126 Ethernet38 223,224 Eth10/2 100000 9 9126
Ethernet40 213,214 100000 10 9126 Ethernet40 213,214 Eth11/1 100000 10 9126
Ethernet42 215,216 100000 10 9126 Ethernet42 215,216 Eth11/2 100000 10 9126
Ethernet44 209,210 100000 11 9126 Ethernet44 209,210 Eth12/1 100000 11 9126
Ethernet46 211,212 100000 11 9126 Ethernet46 211,212 Eth12/2 100000 11 9126
Ethernet48 201,202 100000 12 9126 Ethernet48 201,202 Eth13/1 100000 12 9126
Ethernet50 203,204 100000 12 9126 Ethernet50 203,204 Eth13/2 100000 12 9126
Ethernet52 205,206 100000 13 9126 Ethernet52 205,206 Eth14/1 100000 13 9126
Ethernet54 207,208 100000 13 9126 Ethernet54 207,208 Eth14/2 100000 13 9126
Ethernet56 197,198 100000 14 9126 Ethernet56 197,198 Eth15/1 100000 14 9126
Ethernet58 199,200 100000 14 9126 Ethernet58 199,200 Eth15/2 100000 14 9126
Ethernet60 193,194 100000 15 9126 Ethernet60 193,194 Eth16/1 100000 15 9126
Ethernet62 195,196 100000 15 9126 Ethernet62 195,196 Eth16/2 100000 15 9126
Ethernet64 185,186 100000 16 9126 Ethernet64 185,186 Eth17/1 100000 16 9126
Ethernet66 187,188 100000 16 9126 Ethernet66 187,188 Eth17/2 100000 16 9126
Ethernet68 189,190 100000 17 9126 Ethernet68 189,190 Eth18/1 100000 17 9126
Ethernet70 191,192 100000 17 9126 Ethernet70 191,192 Eth18/2 100000 17 9126
Ethernet72 181,182 100000 18 9126 Ethernet72 181,182 Eth19/1 100000 18 9126
Ethernet74 183,184 100000 18 9126 Ethernet74 183,184 Eth19/2 100000 18 9126
Ethernet76 177,178 100000 19 9126 Ethernet76 177,178 Eth20/1 100000 19 9126
Ethernet78 179,180 100000 19 9126 Ethernet78 179,180 Eth20/2 100000 19 9126
Ethernet80 169,170 100000 20 9126 Ethernet80 169,170 Eth21/1 100000 20 9126
Ethernet82 171,172 100000 20 9126 Ethernet82 171,172 Eth21/2 100000 20 9126
Ethernet84 173,174 100000 21 9126 Ethernet84 173,174 Eth22/1 100000 21 9126
Ethernet86 175,176 100000 21 9126 Ethernet86 175,176 Eth22/2 100000 21 9126
Ethernet88 165,166 100000 22 9126 Ethernet88 165,166 Eth23/1 100000 22 9126
Ethernet90 167,168 100000 22 9126 Ethernet90 167,168 Eth23/2 100000 22 9126
Ethernet92 161,162 100000 23 9126 Ethernet92 161,162 Eth24/1 100000 23 9126
Ethernet94 163,164 100000 23 9126 Ethernet94 163,164 Eth24/2 100000 23 9126
Ethernet96 153,154 100000 24 9126 Ethernet96 153,154 Eth25/1 100000 24 9126
Ethernet98 155,156 100000 24 9126 Ethernet98 155,156 Eth25/2 100000 24 9126
Ethernet100 157,158 100000 25 9126 Ethernet100 157,158 Eth26/1 100000 25 9126
Ethernet102 159,160 100000 25 9126 Ethernet102 159,160 Eth26/2 100000 25 9126
Ethernet104 149,150 100000 26 9126 Ethernet104 149,150 Eth27/1 100000 26 9126
Ethernet106 151,152 100000 26 9126 Ethernet106 151,152 Eth27/2 100000 26 9126
Ethernet108 145,146 100000 27 9126 Ethernet108 145,146 Eth28/1 100000 27 9126
Ethernet110 147,148 100000 27 9126 Ethernet110 147,148 Eth28/2 100000 27 9126
Ethernet112 137,138 100000 28 9126 Ethernet112 137,138 Eth29/1 100000 28 9126
Ethernet114 139,140 100000 28 9126 Ethernet114 139,140 Eth29/2 100000 28 9126
Ethernet116 141,142 100000 29 9126 Ethernet116 141,142 Eth30/1 100000 29 9126
Ethernet118 143,144 100000 29 9126 Ethernet118 143,144 Eth30/2 100000 29 9126
Ethernet120 133,134 100000 30 9126 Ethernet120 133,134 Eth31/1 100000 30 9126
Ethernet122 135,136 100000 30 9126 Ethernet122 135,136 Eth31/2 100000 30 9126
Ethernet124 129,130 100000 31 9126 Ethernet124 129,130 Eth32/1 100000 31 9126
Ethernet126 131,132 100000 31 9126 Ethernet126 131,132 Eth32/2 100000 31 9126
Ethernet128 121,122 100000 32 9126 Ethernet128 121,122 Eth33/1 100000 32 9126
Ethernet130 123,124 100000 32 9126 Ethernet130 123,124 Eth33/2 100000 32 9126
Ethernet132 125,126 100000 33 9126 Ethernet132 125,126 Eth34/1 100000 33 9126
Ethernet134 127,128 100000 33 9126 Ethernet134 127,128 Eth34/2 100000 33 9126
Ethernet136 117,118 100000 34 9126 Ethernet136 117,118 Eth35/1 100000 34 9126
Ethernet138 119,120 100000 34 9126 Ethernet138 119,120 Eth35/2 100000 34 9126
Ethernet140 113,114 100000 35 9126 Ethernet140 113,114 Eth36/1 100000 35 9126
Ethernet142 115,116 100000 35 9126 Ethernet142 115,116 Eth36/2 100000 35 9126
Ethernet144 105,106 100000 36 9126 Ethernet144 105,106 Eth37/1 100000 36 9126
Ethernet146 107,108 100000 36 9126 Ethernet146 107,108 Eth37/2 100000 36 9126
Ethernet148 109,110 100000 37 9126 Ethernet148 109,110 Eth38/1 100000 37 9126
Ethernet150 111,112 100000 37 9126 Ethernet150 111,112 Eth38/2 100000 37 9126
Ethernet152 101,102 100000 38 9126 Ethernet152 101,102 Eth39/1 100000 38 9126
Ethernet154 103,104 100000 38 9126 Ethernet154 103,104 Eth39/2 100000 38 9126
Ethernet156 97,98 100000 39 9126 Ethernet156 97,98 Eth40/1 100000 39 9126
Ethernet158 99,100 100000 39 9126 Ethernet158 99,100 Eth40/2 100000 39 9126
Ethernet160 89,90 100000 40 9126 Ethernet160 89,90 Eth41/1 100000 40 9126
Ethernet162 91,92 100000 40 9126 Ethernet162 91,92 Eth41/2 100000 40 9126
Ethernet164 93,94 100000 41 9126 Ethernet164 93,94 Eth42/1 100000 41 9126
Ethernet166 95,96 100000 41 9126 Ethernet166 95,96 Eth42/2 100000 41 9126
Ethernet168 85,86 100000 42 9126 Ethernet168 85,86 Eth43/1 100000 42 9126
Ethernet170 87,88 100000 42 9126 Ethernet170 87,88 Eth43/2 100000 42 9126
Ethernet172 81,82 100000 43 9126 Ethernet172 81,82 Eth44/1 100000 43 9126
Ethernet174 83,84 100000 43 9126 Ethernet174 83,84 Eth44/2 100000 43 9126
Ethernet176 73,74 100000 44 9126 Ethernet176 73,74 Eth45/1 100000 44 9126
Ethernet178 75,76 100000 44 9126 Ethernet178 75,76 Eth45/2 100000 44 9126
Ethernet180 77,78 100000 45 9126 Ethernet180 77,78 Eth46/1 100000 45 9126
Ethernet182 79,80 100000 45 9126 Ethernet182 79,80 Eth46/2 100000 45 9126
Ethernet184 69,70 100000 46 9126 Ethernet184 69,70 Eth47/1 100000 46 9126
Ethernet186 71,72 100000 46 9126 Ethernet186 71,72 Eth47/2 100000 46 9126
Ethernet188 65,66 100000 47 9126 Ethernet188 65,66 Eth48/1 100000 47 9126
Ethernet190 67,68 100000 47 9126 Ethernet190 67,68 Eth48/2 100000 47 9126
Ethernet192 57,58 100000 48 9126 Ethernet192 57,58 Eth49/1 100000 48 9126
Ethernet194 59,60 100000 48 9126 Ethernet194 59,60 Eth49/2 100000 48 9126
Ethernet196 61,62 100000 49 9126 Ethernet196 61,62 Eth50/1 100000 49 9126
Ethernet198 63,64 100000 49 9126 Ethernet198 63,64 Eth50/2 100000 49 9126
Ethernet200 53,54 100000 50 9126 Ethernet200 53,54 Eth51/1 100000 50 9126
Ethernet202 55,56 100000 50 9126 Ethernet202 55,56 Eth51/2 100000 50 9126
Ethernet204 49,50 100000 51 9126 Ethernet204 49,50 Eth52/1 100000 51 9126
Ethernet206 51,52 100000 51 9126 Ethernet206 51,52 Eth52/2 100000 51 9126
Ethernet208 41,42 100000 52 9126 Ethernet208 41,42 Eth53/1 100000 52 9126
Ethernet210 43,44 100000 52 9126 Ethernet210 43,44 Eth53/2 100000 52 9126
Ethernet212 45,46 100000 53 9126 Ethernet212 45,46 Eth54/1 100000 53 9126
Ethernet214 47,48 100000 53 9126 Ethernet214 47,48 Eth54/2 100000 53 9126
Ethernet216 37,38 100000 54 9126 Ethernet216 37,38 Eth55/1 100000 54 9126
Ethernet218 39,40 100000 54 9126 Ethernet218 39,40 Eth55/2 100000 54 9126
Ethernet220 33,34 100000 55 9126 Ethernet220 33,34 Eth56/1 100000 55 9126
Ethernet222 35,36 100000 55 9126 Ethernet222 35,36 Eth56/2 100000 55 9126
Ethernet224 25,26 100000 56 9126 Ethernet224 25,26 Eth57/1 100000 56 9126
Ethernet226 27,28 100000 56 9126 Ethernet226 27,28 Eth57/2 100000 56 9126
Ethernet228 29,30 100000 57 9126 Ethernet228 29,30 Eth58/1 100000 57 9126
Ethernet230 31,32 100000 57 9126 Ethernet230 31,32 Eth58/2 100000 57 9126
Ethernet232 21,22 100000 58 9126 Ethernet232 21,22 Eth59/1 100000 58 9126
Ethernet234 23,24 100000 58 9126 Ethernet234 23,24 Eth59/2 100000 58 9126
Ethernet236 17,18 100000 59 9126 Ethernet236 17,18 Eth60/1 100000 59 9126
Ethernet238 19,20 100000 59 9126 Ethernet238 19,20 Eth60/2 100000 59 9126
Ethernet240 9,10 100000 60 9126 Ethernet240 9,10 Eth61/1 100000 60 9126
Ethernet242 11,12 100000 60 9126 Ethernet242 11,12 Eth61/2 100000 60 9126
Ethernet244 13,14 100000 61 9126 Ethernet244 13,14 Eth62/1 100000 61 9126
Ethernet246 15,16 100000 61 9126 Ethernet246 15,16 Eth62/2 100000 61 9126
Ethernet248 5,6 100000 62 9126 Ethernet248 5,6 Eth63/1 100000 62 9126
Ethernet250 7,8 100000 62 9126 Ethernet250 7,8 Eth63/2 100000 62 9126
Ethernet252 1,2 100000 63 9126 Ethernet252 1,2 Eth64/1 100000 63 9126
Ethernet254 3,4 100000 63 9126 Ethernet254 3,4 Eth64/2 100000 63 9126
Ethernet256 257 10000 64 9126
Ethernet257 258 10000 65 9126

View File

@ -1,14 +1,3 @@
{# Default values which will be used if no actual configura available #}
{% set default_ports_num = 128 -%}
{# Generate list of ports if not defined #}
{% if PORT is not defined %}
{% set PORT = [] %}
{% for port_idx in range(0,default_ports_num) %}
{% if PORT.append("Ethernet%d" % (port_idx*2)) %}{% endif %}
{% endfor %}
{% endif -%}
{% set port_names_list = [] %} {% set port_names_list = [] %}
{% for port in PORT %} {% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %} {%- if port_names_list.append(port) %}{% endif %}
@ -19,24 +8,24 @@
{ {
"TC_TO_QUEUE_MAP":{ "TC_TO_QUEUE_MAP":{
"AZURE":{ "AZURE":{
"1":"1",
"0":"0", "0":"0",
"3":"3", "1":"1",
"2":"2", "2":"2",
"5":"5", "3":"3",
"4":"4", "4":"4",
"7":"7", "5":"5",
"6":"6" "6":"6",
"7":"7"
} }
}, },
"TC_TO_PRIORITY_GROUP_MAP": { "TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": { "AZURE": {
"1": "0",
"0": "0", "0": "0",
"3": "0", "1": "0",
"2": "0", "2": "0",
"4": "1", "3": "1",
"5": "2", "4": "2",
"5": "0",
"6": "0", "6": "0",
"7": "0" "7": "0"
} }
@ -46,9 +35,9 @@
"0":"0", "0":"0",
"1":"0", "1":"0",
"2":"0", "2":"0",
"3":"0", "3":"3",
"4":"4", "4":"4",
"5":"5", "5":"0",
"6":"0", "6":"0",
"7":"0", "7":"0",
"8":"1", "8":"1",
@ -114,7 +103,12 @@
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]", "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]", "tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]", "dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]",
"pfc_enable": "4,5" "pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"red_min_threshold":"50000"
} }
} }
} }

View File

@ -0,0 +1,118 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"TC_TO_QUEUE_MAP":{
"AZURE":{
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7"
}
},
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "1",
"4": "2",
"5": "0",
"6": "0",
"7": "0"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"0",
"4":"0",
"5":"0",
"6":"0",
"7":"0",
"8":"0",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"PORT_QOS_MAP": {
"{{ port_names }}": {
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]"
}
},
"SCHEDULER": {
"scheduler.7": {
"type": "STRICT"
}
},
"QUEUE": {
"{{ port_names }}|7": {
"scheduler": "[SCHEDULER|scheduler.7]"
}
}
}

View File

@ -0,0 +1,114 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"TC_TO_QUEUE_MAP":{
"AZURE":{
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7"
}
},
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "1",
"4": "2",
"5": "0",
"6": "0",
"7": "0"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"3",
"4":"4",
"5":"0",
"6":"0",
"7":"0",
"8":"1",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"PORT_QOS_MAP": {
"{{ port_names }}": {
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]",
"pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"red_min_threshold":"50000"
}
}
}

View File

@ -1 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/inno.config.yaml SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/ivm.sai.config.yaml

View File

@ -1,6 +1,5 @@
{# Default values which will be used if no actual configura available #} {# Default values which will be used if no actual configura available #}
{% set default_cable = '300m' %} {% set default_cable = '40m' %}
{% set default_ports_num = 32 -%}
{# Port configuration to cable length look-up table #} {# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} {# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
@ -12,44 +11,53 @@
} }
%} %}
{%- macro cable_length(port_name) -%} {%- macro cable_length(port_name) %}
{%- set cable_len = [] -%} {%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR -%} {%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name -%} {%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type -%} {%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %} {%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role -%} {%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower -%} {%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower -%} {%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable -%} {%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) -%}{%- endif -%} {%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable -%} {%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) -%}{%- endif -%} {%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif -%} {%- endif %}
{%- endif -%} {%- endif %}
{%- endif -%} {%- endif %}
{%- endfor -%} {%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%} {%- if cable_len -%}
{{ cable_len.0 }} {{ cable_len.0 }}
{%- else -%} {%- else -%}
{{ default_cable }} {{ default_cable }}
{%- endif -%} {%- endif %}
{% endmacro %} {%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %} {%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} {%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%} {%- endif -%}
{# Generate list of ports if not defined #}
{% if PORT is not defined %}
{% set PORT = [] %}
{% for port_idx in range(0,default_ports_num) %}
{% if PORT.append("Ethernet%d" % (port_idx*4)) %}{% endif %}
{% endfor %}
{% endif -%}
{% set port_names_list = [] %} {% set port_names_list = [] %}
{% for port in PORT %} {% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %} {%- if port_names_list.append(port) %}{% endif %}
@ -57,6 +65,15 @@
{% set port_names = port_names_list | join(',') -%} {% set port_names = port_names_list | join(',') -%}
{ {
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": { "BUFFER_POOL": {
"ingress_lossless_pool": { "ingress_lossless_pool": {
"size": "47218432", "size": "47218432",
@ -64,7 +81,7 @@
"mode": "dynamic", "mode": "dynamic",
"xoff": "17708800" "xoff": "17708800"
}, },
"egress_lossy_pool": { "lossy_pool": {
"size": "18874368", "size": "18874368",
"type": "egress", "type": "egress",
"mode": "dynamic", "mode": "dynamic",
@ -74,46 +91,46 @@
"BUFFER_PROFILE": { "BUFFER_PROFILE": {
"ingress_lossless_profile": { "ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",
"xoff":"1433600", "xoff":"38816",
"size":"1518", "size":"1518",
"dynamic_th":"-4", "dynamic_th":"3",
"xon_offset":"6272" "xon_offset":"13440"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"static_th":"9721600"
}, },
"egress_lossless_profile": { "egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0", "size":"0",
"static_th":"9721600" "static_th":"9497600"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
}, },
"egress_lossy_profile": { "egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]", "pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518", "size":"1518",
"dynamic_th":"3" "dynamic_th":"3"
} }
}, },
"BUFFER_PG": { "BUFFER_PG": {
"{{ port_names }}|0-3": { "{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}, },
"{{ port_names }}|4-5": { "{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
}, },
"{{ port_names }}|6-7": { "{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
} }
}, },
"BUFFER_QUEUE": { "BUFFER_QUEUE": {
"{{ port_names }}|4-5": { "{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
}, },
"{{ port_names }}|0-3": { "{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}, },
"{{ port_names }}|6-7": { "{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
} }
} }

View File

@ -0,0 +1,38 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"BUFFER_POOL": {
"lossy_pool": {
"size": "56985600",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
"BUFFER_PG": {
"{{ port_names }}|0-7": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_QUEUE": {
"{{ port_names }}|0-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}
}
}

View File

@ -0,0 +1,137 @@
{# Default values which will be used if no actual configura available #}
{% set default_cable = '40m' %}
{# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
{# Roles described in the minigraph #}
{% set ports2cable = {
'torrouter_server' : '5m',
'leafrouter_torrouter' : '40m',
'spinerouter_leafrouter' : '300m'
}
%}
{%- macro cable_length(port_name) %}
{%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%}
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "47218432",
"type": "ingress",
"mode": "dynamic",
"xoff": "17708800"
},
"lossy_pool": {
"size": "18874368",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
}
},
"BUFFER_PROFILE": {
"ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"xoff":"38816",
"size":"1518",
"dynamic_th":"3",
"xon_offset":"13440"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"static_th":"9497600"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
"BUFFER_PG": {
"{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
},
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
},
"{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_QUEUE": {
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
},
"{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
},
"{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}
}
}

View File

@ -10,6 +10,8 @@ nodes:
multi_interface: "yes" multi_interface: "yes"
buffer_management_mode: "api_driven" buffer_management_mode: "api_driven"
max_lossless_tc: "2" max_lossless_tc: "2"
ilpm_enable: "1"
forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
txring: txring:
- txring_id: "0" - txring_id: "0"
desc_count: "1024" desc_count: "1024"
@ -280,20 +282,6 @@ nodes:
speed: "400G" speed: "400G"
sysport: "1" sysport: "1"
type: "eth" type: "eth"
- fec: "NONE"
id: "257"
lanes: "0:1"
serdes_group: "32"
speed: "10G"
sysport: "257"
type: "mgmt 0"
- fec: "NONE"
id: "258"
lanes: "1:1"
serdes_group: "32"
speed: "10G"
sysport: "258"
type: "mgmt 1"
isg: isg:
- id: "0" - id: "0"
lane_swap: "01234567" lane_swap: "01234567"

View File

@ -0,0 +1,9 @@
IFCS_INIT_FILE : "/usr/share/sonic/hwsku/config_32x400G_midstone200i.yaml"
IFCS_SKU_FILE : "/usr/share/sonic/hwsku/innovium.77700_A"
IFCS_INNO_CLI_PORT : "9999"
IFCS_TARGET : "device"
INNOVIUM_DIR : "/innovium"
PYTHONPATH : "$INNOVIUM_DIR:$INNOVIUM_DIR/cmds:$INNOVIUM_DIR/scripts:$INNOVIUM_DIR/test/:$INNOVIUM_DIR/test/utils:$INNOVIUM_DIR/utils:$INNOVIUM_DIR/pyctypes"
AVG_IPG_RESERVED_SIZE: "1518"
AVG_QUEUE_RESERVED_SIZE: "1518"
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"

View File

@ -0,0 +1,9 @@
ISAI_PARAM_P0_0_LS : "4608 4608 4608 4608 2880 2880"
ISAI_PARAM_P0_1_LS : "2226 1946 1946 1890 1218 1218"
ISAI_PARAM_P0_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_0_LS : "1536 1536 1536 1536 960 960"
ISAI_PARAM_P1_0_LL : "3072 3072 3072 3072 1920 1920"
ISAI_PARAM_P1_1_LS : "1778 1498 1498 1442 938 938"
ISAI_PARAM_P1_1_LL : "2478 2478 2478 2478 2478 2478"
ISAI_PARAM_P1_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_1_ALL : "126 126 126 126 126 126"

View File

@ -0,0 +1,14 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
25000 5m 1518 0 15680 3 13440
50000 5m 1518 0 21152 3 13440
100000 5m 1518 0 34336 3 13440
400000 5m 1518 0 117376 3 13440
25000 40m 1518 0 16800 3 13440
50000 40m 1518 0 23392 3 13440
100000 40m 1518 0 38816 3 13440
400000 40m 1518 0 135296 3 13440
25000 300m 1518 0 25120 3 13440
50000 300m 1518 0 40032 3 13440
100000 300m 1518 0 72096 3 13440
400000 300m 1518 0 268416 3 13440

View File

@ -1,35 +1,33 @@
# name lanes speed index mtu fec # name lanes alias speed index mtu fec
Ethernet0 249,250,251,252 400000 0 9126 rs Ethernet0 249,250,251,252,253,254,255,256 Ethernet0 400000 0 9126 rs
Ethernet8 241,242,243,244 400000 2 9126 rs Ethernet8 241,242,243,244,245,246,247,248 Ethernet8 400000 2 9126 rs
Ethernet16 233,234,235,236 400000 4 9126 rs Ethernet16 233,234,235,236,237,238,239,240 Ethernet6 400000 4 9126 rs
Ethernet24 225,226,227,228 400000 6 9126 rs Ethernet24 225,226,227,228,229,230,231,232 Ethernet24 400000 6 9126 rs
Ethernet32 217,218,219,220 400000 8 9126 rs Ethernet32 217,218,219,220,221,222,223,224 Ethernet32 400000 8 9126 rs
Ethernet40 209,210,211,212 400000 10 9126 rs Ethernet40 209,210,211,212,213,214,215,216 Ethernet40 400000 10 9126 rs
Ethernet48 201,202,203,204 400000 12 9126 rs Ethernet48 201,202,203,204,205,206,207,208 Ethernet48 400000 12 9126 rs
Ethernet56 193,194,195,196 400000 14 9126 rs Ethernet56 193,194,195,196,197,198,199,200 Ethernet56 400000 14 9126 rs
Ethernet64 185,186,187,188 400000 16 9126 rs Ethernet64 185,186,187,188,189,190,191,192 Ethernet64 400000 16 9126 rs
Ethernet72 177,178,179,180 400000 18 9126 rs Ethernet72 177,178,179,180,181,182,183,184 Ethernet72 400000 18 9126 rs
Ethernet80 169,170,171,172 400000 20 9126 rs Ethernet80 169,170,171,172,173,174,175,176 Ethernet80 400000 20 9126 rs
Ethernet88 161,162,163,164 400000 22 9126 rs Ethernet88 161,162,163,164,165,166,167,168 Ethernet88 400000 22 9126 rs
Ethernet96 153,154,155,156 400000 24 9126 rs Ethernet96 153,154,155,156,157,158,159,160 Ethernet96 400000 24 9126 rs
Ethernet104 145,146,147,148 400000 26 9126 rs Ethernet104 145,146,147,148,149,150,151,152 Ethernet104 400000 26 9126 rs
Ethernet112 137,138,139,140 400000 28 9126 rs Ethernet112 137,138,139,140,141,142,143,144 Ethernet112 400000 28 9126 rs
Ethernet120 129,130,131,132 400000 30 9126 rs Ethernet120 129,130,131,132,133,134,135,136 Ethernet120 400000 30 9126 rs
Ethernet128 121,122,123,124 400000 32 9126 rs Ethernet128 121,122,123,124,125,126,127,128 Ethernet128 400000 32 9126 rs
Ethernet136 113,114,115,116 400000 34 9126 rs Ethernet136 113,114,115,116,117,118,119,120 Ethernet136 400000 34 9126 rs
Ethernet144 105,106,107,108 400000 36 9126 rs Ethernet144 105,106,107,108,109,110,111,112 Ethernet144 400000 36 9126 rs
Ethernet152 97,98,99,100 400000 38 9126 rs Ethernet152 97,98,99,100,101,102,103,104 Ethernet152 400000 38 9126 rs
Ethernet160 89,90,91,92 400000 40 9126 rs Ethernet160 89,90,91,92,93,94,95,96 Ethernet160 400000 40 9126 rs
Ethernet168 81,82,83,84 400000 42 9126 rs Ethernet168 81,82,83,84,85,86,87,88 Ethernet168 400000 42 9126 rs
Ethernet176 73,74,75,76 400000 44 9126 rs Ethernet176 73,74,75,76,77,78,79,80 Ethernet176 400000 44 9126 rs
Ethernet184 65,66,67,68 400000 46 9126 rs Ethernet184 65,66,67,68,69,70,71,72 Ethernet184 400000 46 9126 rs
Ethernet192 57,58,59,60 400000 48 9126 rs Ethernet192 57,58,59,60,61,62,63,64 Ethernet192 400000 48 9126 rs
Ethernet200 49,50,51,52 400000 50 9126 rs Ethernet200 49,50,51,52,53,54,55,56 Ethernet200 400000 50 9126 rs
Ethernet208 41,42,43,44 400000 52 9126 rs Ethernet208 41,42,43,44,45,46,47,48 Ethernet208 400000 52 9126 rs
Ethernet216 33,34,35,36 400000 54 9126 rs Ethernet216 33,34,35,36,37,38,39,40 Ethernet216 400000 54 9126 rs
Ethernet224 25,26,27,28 400000 56 9126 rs Ethernet224 25,26,27,28,29,30,31,32 Ethernet224 400000 56 9126 rs
Ethernet232 17,18,19,20 400000 58 9126 rs Ethernet232 17,18,19,20,21,22,23,24 Ethernet232 400000 58 9126 rs
Ethernet240 9,10,11,12 400000 60 9126 rs Ethernet240 9,10,11,12,13,14,15,16 Ethernet240 400000 60 9126 rs
Ethernet248 1,2,3,4 400000 62 9126 rs Ethernet248 1,2,3,4,5,6,7,8 Ethernet248 400000 62 9126 rs
Ethernet256 257 10000 64 9126 none
Ethernet257 258 10000 65 9126 none

View File

@ -1,14 +1,3 @@
{# Default values which will be used if no actual configura available #}
{% set default_ports_num = 32 -%}
{# Generate list of ports if not defined #}
{% if PORT is not defined %}
{% set PORT = [] %}
{% for port_idx in range(0,default_ports_num) %}
{% if PORT.append("Ethernet%d" % (port_idx*4)) %}{% endif %}
{% endfor %}
{% endif -%}
{% set port_names_list = [] %} {% set port_names_list = [] %}
{% for port in PORT %} {% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %} {%- if port_names_list.append(port) %}{% endif %}
@ -19,24 +8,24 @@
{ {
"TC_TO_QUEUE_MAP":{ "TC_TO_QUEUE_MAP":{
"AZURE":{ "AZURE":{
"1":"1",
"0":"0", "0":"0",
"3":"3", "1":"1",
"2":"2", "2":"2",
"5":"5", "3":"3",
"4":"4", "4":"4",
"7":"7", "5":"5",
"6":"6" "6":"6",
"7":"7"
} }
}, },
"TC_TO_PRIORITY_GROUP_MAP": { "TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": { "AZURE": {
"1": "0",
"0": "0", "0": "0",
"3": "0", "1": "0",
"2": "0", "2": "0",
"4": "1", "3": "1",
"5": "2", "4": "2",
"5": "0",
"6": "0", "6": "0",
"7": "0" "7": "0"
} }
@ -46,9 +35,9 @@
"0":"0", "0":"0",
"1":"0", "1":"0",
"2":"0", "2":"0",
"3":"0", "3":"3",
"4":"4", "4":"4",
"5":"5", "5":"0",
"6":"0", "6":"0",
"7":"0", "7":"0",
"8":"1", "8":"1",
@ -114,7 +103,12 @@
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]", "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]", "tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]", "dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]",
"pfc_enable": "4,5" "pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"red_min_threshold":"50000"
} }
} }
} }

View File

@ -0,0 +1,118 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"TC_TO_QUEUE_MAP":{
"AZURE":{
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7"
}
},
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "1",
"4": "2",
"5": "0",
"6": "0",
"7": "0"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"0",
"4":"0",
"5":"0",
"6":"0",
"7":"0",
"8":"0",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"PORT_QOS_MAP": {
"{{ port_names }}": {
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]"
}
},
"SCHEDULER": {
"scheduler.7": {
"type": "STRICT"
}
},
"QUEUE": {
"{{ port_names }}|7": {
"scheduler": "[SCHEDULER|scheduler.7]"
}
}
}

View File

@ -0,0 +1,114 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"TC_TO_QUEUE_MAP":{
"AZURE":{
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7"
}
},
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "1",
"4": "2",
"5": "0",
"6": "0",
"7": "0"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"3",
"4":"4",
"5":"0",
"6":"0",
"7":"0",
"8":"1",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"PORT_QOS_MAP": {
"{{ port_names }}": {
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]",
"pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"red_min_threshold":"50000"
}
}
}

View File

@ -1 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/inno.config.yaml SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/ivm.sai.config.yaml

View File

@ -1,6 +1,5 @@
{# Default values which will be used if no actual configura available #} {# Default values which will be used if no actual configura available #}
{% set default_cable = '300m' %} {% set default_cable = '40m' %}
{% set default_ports_num = 64 -%}
{# Port configuration to cable length look-up table #} {# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} {# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
@ -12,44 +11,53 @@
} }
%} %}
{%- macro cable_length(port_name) -%} {%- macro cable_length(port_name) %}
{%- set cable_len = [] -%} {%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR -%} {%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name -%} {%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type -%} {%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %} {%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role -%} {%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower -%} {%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower -%} {%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable -%} {%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) -%}{%- endif -%} {%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable -%} {%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) -%}{%- endif -%} {%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif -%} {%- endif %}
{%- endif -%} {%- endif %}
{%- endif -%} {%- endif %}
{%- endfor -%} {%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%} {%- if cable_len -%}
{{ cable_len.0 }} {{ cable_len.0 }}
{%- else -%} {%- else -%}
{{ default_cable }} {{ default_cable }}
{%- endif -%} {%- endif %}
{% endmacro %} {%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %} {%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} {%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%} {%- endif -%}
{# Generate list of ports if not defined #}
{% if PORT is not defined %}
{% set PORT = [] %}
{% for port_idx in range(0,default_ports_num) %}
{% if PORT.append("Ethernet%d" % (port_idx*4)) %}{% endif %}
{% endfor %}
{% endif -%}
{% set port_names_list = [] %} {% set port_names_list = [] %}
{% for port in PORT %} {% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %} {%- if port_names_list.append(port) %}{% endif %}
@ -57,6 +65,15 @@
{% set port_names = port_names_list | join(',') -%} {% set port_names = port_names_list | join(',') -%}
{ {
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": { "BUFFER_POOL": {
"ingress_lossless_pool": { "ingress_lossless_pool": {
"size": "47218432", "size": "47218432",
@ -64,7 +81,7 @@
"mode": "dynamic", "mode": "dynamic",
"xoff": "17708800" "xoff": "17708800"
}, },
"egress_lossy_pool": { "lossy_pool": {
"size": "18874368", "size": "18874368",
"type": "egress", "type": "egress",
"mode": "dynamic", "mode": "dynamic",
@ -74,46 +91,46 @@
"BUFFER_PROFILE": { "BUFFER_PROFILE": {
"ingress_lossless_profile": { "ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",
"xoff":"1433600", "xoff":"38816",
"size":"1518", "size":"1518",
"dynamic_th":"-4", "dynamic_th":"3",
"xon_offset":"6272" "xon_offset":"13440"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"static_th":"9721600"
}, },
"egress_lossless_profile": { "egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0", "size":"0",
"static_th":"9721600" "static_th":"9497600"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
}, },
"egress_lossy_profile": { "egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]", "pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518", "size":"1518",
"dynamic_th":"3" "dynamic_th":"3"
} }
}, },
"BUFFER_PG": { "BUFFER_PG": {
"{{ port_names }}|0-3": { "{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}, },
"{{ port_names }}|4-5": { "{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
}, },
"{{ port_names }}|6-7": { "{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
} }
}, },
"BUFFER_QUEUE": { "BUFFER_QUEUE": {
"{{ port_names }}|4-5": { "{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
}, },
"{{ port_names }}|0-3": { "{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}, },
"{{ port_names }}|6-7": { "{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
} }
} }

View File

@ -0,0 +1,38 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"BUFFER_POOL": {
"lossy_pool": {
"size": "56985600",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
"BUFFER_PG": {
"{{ port_names }}|0-7": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_QUEUE": {
"{{ port_names }}|0-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}
}
}

View File

@ -0,0 +1,137 @@
{# Default values which will be used if no actual configura available #}
{% set default_cable = '40m' %}
{# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
{# Roles described in the minigraph #}
{% set ports2cable = {
'torrouter_server' : '5m',
'leafrouter_torrouter' : '40m',
'spinerouter_leafrouter' : '300m'
}
%}
{%- macro cable_length(port_name) %}
{%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%}
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "47218432",
"type": "ingress",
"mode": "dynamic",
"xoff": "17708800"
},
"lossy_pool": {
"size": "18874368",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
}
},
"BUFFER_PROFILE": {
"ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"xoff":"38816",
"size":"1518",
"dynamic_th":"3",
"xon_offset":"13440"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"static_th":"9497600"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
"BUFFER_PG": {
"{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
},
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
},
"{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_QUEUE": {
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
},
"{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
},
"{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}
}
}

View File

@ -10,6 +10,8 @@ nodes:
multi_interface: "yes" multi_interface: "yes"
buffer_management_mode: "api_driven" buffer_management_mode: "api_driven"
max_lossless_tc: "2" max_lossless_tc: "2"
ilpm_enable: "1"
forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
txring: txring:
- txring_id: "0" - txring_id: "0"
desc_count: "1024" desc_count: "1024"
@ -632,24 +634,6 @@ nodes:
type: "eth" type: "eth"
admin_state: "true" admin_state: "true"
loopback: "none" loopback: "none"
- fec: "NONE"
id: "257"
lanes: "0:1"
serdes_group: "32"
speed: "10G"
sysport: "257"
type: "mgmt 0"
admin_state: "true"
loopback: "none"
- fec: "NONE"
id: "258"
lanes: "1:1"
serdes_group: "32"
speed: "10G"
sysport: "258"
type: "mgmt 1"
admin_state: "true"
loopback: "none"
isg: isg:
- id: "0" - id: "0"
lane_swap: "01234567" lane_swap: "01234567"

View File

@ -0,0 +1,9 @@
IFCS_INIT_FILE : "/usr/share/sonic/hwsku/config_64x100G_nrz_midstone200i.yaml"
IFCS_SKU_FILE : "/usr/share/sonic/hwsku/innovium.77700_B"
IFCS_INNO_CLI_PORT : "9999"
IFCS_TARGET : "device"
INNOVIUM_DIR : "/innovium"
PYTHONPATH : "$INNOVIUM_DIR:$INNOVIUM_DIR/cmds:$INNOVIUM_DIR/scripts:$INNOVIUM_DIR/test/:$INNOVIUM_DIR/test/utils:$INNOVIUM_DIR/utils:$INNOVIUM_DIR/pyctypes"
AVG_IPG_RESERVED_SIZE: "1518"
AVG_QUEUE_RESERVED_SIZE: "1518"
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"

View File

@ -0,0 +1,9 @@
ISAI_PARAM_P0_0_LS : "4608 4608 4608 4608 2880 2880"
ISAI_PARAM_P0_1_LS : "2226 1946 1946 1890 1218 1218"
ISAI_PARAM_P0_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_0_LS : "1536 1536 1536 1536 960 960"
ISAI_PARAM_P1_0_LL : "3072 3072 3072 3072 1920 1920"
ISAI_PARAM_P1_1_LS : "1778 1498 1498 1442 938 938"
ISAI_PARAM_P1_1_LL : "2478 2478 2478 2478 2478 2478"
ISAI_PARAM_P1_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_1_ALL : "126 126 126 126 126 126"

View File

@ -0,0 +1,14 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
25000 5m 1518 0 15680 3 13440
50000 5m 1518 0 21152 3 13440
100000 5m 1518 0 34336 3 13440
400000 5m 1518 0 117376 3 13440
25000 40m 1518 0 16800 3 13440
50000 40m 1518 0 23392 3 13440
100000 40m 1518 0 38816 3 13440
400000 40m 1518 0 135296 3 13440
25000 300m 1518 0 25120 3 13440
50000 300m 1518 0 40032 3 13440
100000 300m 1518 0 72096 3 13440
400000 300m 1518 0 268416 3 13440

View File

@ -1,67 +1,65 @@
# name lanes speed index mtu # name lanes alias speed index mtu
Ethernet0 249,250,251,252 100000 0 9126 Ethernet0 249,250,251,252 Eth1 100000 0 9126
Ethernet4 253,254,255,256 100000 1 9126 Ethernet4 253,254,255,256 Eth2 100000 1 9126
Ethernet8 245,246,247,248 100000 2 9126 Ethernet8 245,246,247,248 Eth3 100000 2 9126
Ethernet12 241,242,243,244 100000 3 9126 Ethernet12 241,242,243,244 Eth4 100000 3 9126
Ethernet16 233,234,235,236 100000 4 9126 Ethernet16 233,234,235,236 Eth5 100000 4 9126
Ethernet20 237,238,239,240 100000 5 9126 Ethernet20 237,238,239,240 Eth6 100000 5 9126
Ethernet24 229,230,231,232 100000 6 9126 Ethernet24 229,230,231,232 Eth7 100000 6 9126
Ethernet28 225,226,227,228 100000 7 9126 Ethernet28 225,226,227,228 Eth8 100000 7 9126
Ethernet32 217,218,219,220 100000 8 9126 Ethernet32 217,218,219,220 Eth9 100000 8 9126
Ethernet36 221,222,223,224 100000 9 9126 Ethernet36 221,222,223,224 Eth10 100000 9 9126
Ethernet40 213,214,215,216 100000 10 9126 Ethernet40 213,214,215,216 Eth11 100000 10 9126
Ethernet44 209,210,211,212 100000 11 9126 Ethernet44 209,210,211,212 Eth12 100000 11 9126
Ethernet48 201,202,203,204 100000 12 9126 Ethernet48 201,202,203,204 Eth13 100000 12 9126
Ethernet52 205,206,207,208 100000 13 9126 Ethernet52 205,206,207,208 Eth14 100000 13 9126
Ethernet56 197,198,199,200 100000 14 9126 Ethernet56 197,198,199,200 Eth15 100000 14 9126
Ethernet60 193,194,195,196 100000 15 9126 Ethernet60 193,194,195,196 Eth16 100000 15 9126
Ethernet64 185,186,187,188 100000 16 9126 Ethernet64 185,186,187,188 Eth17 100000 16 9126
Ethernet68 189,190,191,192 100000 17 9126 Ethernet68 189,190,191,192 Eth18 100000 17 9126
Ethernet72 181,182,183,184 100000 18 9126 Ethernet72 181,182,183,184 Eth19 100000 18 9126
Ethernet76 177,178,179,180 100000 19 9126 Ethernet76 177,178,179,180 Eth20 100000 19 9126
Ethernet80 169,170,171,172 100000 20 9126 Ethernet80 169,170,171,172 Eth21 100000 20 9126
Ethernet84 173,174,175,176 100000 21 9126 Ethernet84 173,174,175,176 Eth22 100000 21 9126
Ethernet88 165,166,167,168 100000 22 9126 Ethernet88 165,166,167,168 Eth23 100000 22 9126
Ethernet92 161,162,163,164 100000 23 9126 Ethernet92 161,162,163,164 Eth24 100000 23 9126
Ethernet96 153,154,155,156 100000 24 9126 Ethernet96 153,154,155,156 Eth25 100000 24 9126
Ethernet100 157,158,159,160 100000 25 9126 Ethernet100 157,158,159,160 Eth26 100000 25 9126
Ethernet104 149,150,151,152 100000 26 9126 Ethernet104 149,150,151,152 Eth27 100000 26 9126
Ethernet108 145,146,147,148 100000 27 9126 Ethernet108 145,146,147,148 Eth28 100000 27 9126
Ethernet112 137,138,139,140 100000 28 9126 Ethernet112 137,138,139,140 Eth29 100000 28 9126
Ethernet116 141,142,143,144 100000 29 9126 Ethernet116 141,142,143,144 Eth30 100000 29 9126
Ethernet120 133,134,135,136 100000 30 9126 Ethernet120 133,134,135,136 Eth31 100000 30 9126
Ethernet124 129,130,131,132 100000 31 9126 Ethernet124 129,130,131,132 Eth32 100000 31 9126
Ethernet128 121,122,123,124 100000 32 9126 Ethernet128 121,122,123,124 Eth33 100000 32 9126
Ethernet132 125,126,127,128 100000 33 9126 Ethernet132 125,126,127,128 Eth34 100000 33 9126
Ethernet136 117,118,119,120 100000 34 9126 Ethernet136 117,118,119,120 Eth35 100000 34 9126
Ethernet140 113,114,115,116 100000 35 9126 Ethernet140 113,114,115,116 Eth36 100000 35 9126
Ethernet144 105,106,107,108 100000 36 9126 Ethernet144 105,106,107,108 Eth37 100000 36 9126
Ethernet148 109,110,111,112 100000 37 9126 Ethernet148 109,110,111,112 Eth38 100000 37 9126
Ethernet152 101,102,103,104 100000 38 9126 Ethernet152 101,102,103,104 Eth39 100000 38 9126
Ethernet156 97,98,99,100 100000 39 9126 Ethernet156 97,98,99,100 Eth40 100000 39 9126
Ethernet160 89,90,91,92 100000 40 9126 Ethernet160 89,90,91,92 Eth41 100000 40 9126
Ethernet164 93,94,95,96 100000 41 9126 Ethernet164 93,94,95,96 Eth42 100000 41 9126
Ethernet168 85,86,87,88 100000 42 9126 Ethernet168 85,86,87,88 Eth43 100000 42 9126
Ethernet172 81,82,83,84 100000 43 9126 Ethernet172 81,82,83,84 Eth44 100000 43 9126
Ethernet176 73,74,75,76 100000 44 9126 Ethernet176 73,74,75,76 Eth45 100000 44 9126
Ethernet180 77,78,79,80 100000 45 9126 Ethernet180 77,78,79,80 Eth46 100000 45 9126
Ethernet184 69,70,71,72 100000 46 9126 Ethernet184 69,70,71,72 Eth47 100000 46 9126
Ethernet188 65,66,67,68 100000 47 9126 Ethernet188 65,66,67,68 Eth48 100000 47 9126
Ethernet192 57,58,59,60 100000 48 9126 Ethernet192 57,58,59,60 Eth49 100000 48 9126
Ethernet196 61,62,63,64 100000 49 9126 Ethernet196 61,62,63,64 Eth50 100000 49 9126
Ethernet200 53,54,55,56 100000 50 9126 Ethernet200 53,54,55,56 Eth51 100000 50 9126
Ethernet204 49,50,51,52 100000 51 9126 Ethernet204 49,50,51,52 Eth52 100000 51 9126
Ethernet208 41,42,43,44 100000 52 9126 Ethernet208 41,42,43,44 Eth53 100000 52 9126
Ethernet212 45,46,47,48 100000 53 9126 Ethernet212 45,46,47,48 Eth54 100000 53 9126
Ethernet216 37,38,39,40 100000 54 9126 Ethernet216 37,38,39,40 Eth55 100000 54 9126
Ethernet220 33,34,35,36 100000 55 9126 Ethernet220 33,34,35,36 Eth56 100000 55 9126
Ethernet224 25,26,27,28 100000 56 9126 Ethernet224 25,26,27,28 Eth57 100000 56 9126
Ethernet228 29,30,31,32 100000 57 9126 Ethernet228 29,30,31,32 Eth58 100000 57 9126
Ethernet232 21,22,23,24 100000 58 9126 Ethernet232 21,22,23,24 Eth59 100000 58 9126
Ethernet236 17,18,19,20 100000 59 9126 Ethernet236 17,18,19,20 Eth60 100000 59 9126
Ethernet240 9,10,11,12 100000 60 9126 Ethernet240 9,10,11,12 Eth61 100000 60 9126
Ethernet244 13,14,15,16 100000 61 9126 Ethernet244 13,14,15,16 Eth62 100000 61 9126
Ethernet248 5,6,7,8 100000 62 9126 Ethernet248 5,6,7,8 Eth63 100000 62 9126
Ethernet252 1,2,3,4 100000 63 9126 Ethernet252 1,2,3,4 Eth64 100000 63 9126
Ethernet256 257 10000 64 9126
Ethernet257 258 10000 65 9126

View File

@ -1,14 +1,3 @@
{# Default values which will be used if no actual configura available #}
{% set default_ports_num = 64 -%}
{# Generate list of ports if not defined #}
{% if PORT is not defined %}
{% set PORT = [] %}
{% for port_idx in range(0,default_ports_num) %}
{% if PORT.append("Ethernet%d" % (port_idx*4)) %}{% endif %}
{% endfor %}
{% endif -%}
{% set port_names_list = [] %} {% set port_names_list = [] %}
{% for port in PORT %} {% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %} {%- if port_names_list.append(port) %}{% endif %}
@ -19,24 +8,24 @@
{ {
"TC_TO_QUEUE_MAP":{ "TC_TO_QUEUE_MAP":{
"AZURE":{ "AZURE":{
"1":"1",
"0":"0", "0":"0",
"3":"3", "1":"1",
"2":"2", "2":"2",
"5":"5", "3":"3",
"4":"4", "4":"4",
"7":"7", "5":"5",
"6":"6" "6":"6",
"7":"7"
} }
}, },
"TC_TO_PRIORITY_GROUP_MAP": { "TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": { "AZURE": {
"1": "0",
"0": "0", "0": "0",
"3": "0", "1": "0",
"2": "0", "2": "0",
"4": "1", "3": "1",
"5": "2", "4": "2",
"5": "0",
"6": "0", "6": "0",
"7": "0" "7": "0"
} }
@ -46,9 +35,9 @@
"0":"0", "0":"0",
"1":"0", "1":"0",
"2":"0", "2":"0",
"3":"0", "3":"3",
"4":"4", "4":"4",
"5":"5", "5":"0",
"6":"0", "6":"0",
"7":"0", "7":"0",
"8":"1", "8":"1",
@ -114,7 +103,12 @@
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]", "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]", "tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]", "dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]",
"pfc_enable": "4,5" "pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"red_min_threshold":"50000"
} }
} }
} }

View File

@ -0,0 +1,118 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"TC_TO_QUEUE_MAP":{
"AZURE":{
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7"
}
},
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "1",
"4": "2",
"5": "0",
"6": "0",
"7": "0"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"0",
"4":"0",
"5":"0",
"6":"0",
"7":"0",
"8":"0",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"PORT_QOS_MAP": {
"{{ port_names }}": {
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]"
}
},
"SCHEDULER": {
"scheduler.7": {
"type": "STRICT"
}
},
"QUEUE": {
"{{ port_names }}|7": {
"scheduler": "[SCHEDULER|scheduler.7]"
}
}
}

View File

@ -0,0 +1,114 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"TC_TO_QUEUE_MAP":{
"AZURE":{
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7"
}
},
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "1",
"4": "2",
"5": "0",
"6": "0",
"7": "0"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"3",
"4":"4",
"5":"0",
"6":"0",
"7":"0",
"8":"1",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"PORT_QOS_MAP": {
"{{ port_names }}": {
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]",
"pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"red_min_threshold":"50000"
}
}
}

View File

@ -1 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/inno.config.yaml SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/ivm.sai.config.yaml

View File

@ -75,10 +75,10 @@
"BUFFER_PROFILE": { "BUFFER_PROFILE": {
"ingress_lossless_profile": { "ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",
"xoff":"1433600", "xoff":"38166",
"size":"1518", "size":"1518",
"dynamic_th":"-4", "dynamic_th":"-4",
"xon_offset":"6272" "xon_offset":"13440"
}, },
"ingress_lossy_profile": { "ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",

View File

@ -0,0 +1,9 @@
IFCS_INIT_FILE : "/usr/share/sonic/hwsku/config_64x100G_nrz_midstone200i.yaml"
IFCS_SKU_FILE : "/usr/share/sonic/hwsku/innovium.77700_B"
IFCS_INNO_CLI_PORT : "9999"
IFCS_TARGET : "device"
INNOVIUM_DIR : "/innovium"
PYTHONPATH : "$INNOVIUM_DIR:$INNOVIUM_DIR/cmds:$INNOVIUM_DIR/scripts:$INNOVIUM_DIR/test/:$INNOVIUM_DIR/test/utils"
AVG_IPG_RESERVED_SIZE: "1518"
AVG_QUEUE_RESERVED_SIZE: "1518"
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"

View File

@ -0,0 +1,9 @@
ISAI_PARAM_P0_0_LS : "4608 4608 4608 4608 2880 2880"
ISAI_PARAM_P0_1_LS : "2226 1946 1946 1890 1218 1218"
ISAI_PARAM_P0_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_0_LS : "1536 1536 1536 1536 960 960"
ISAI_PARAM_P1_0_LL : "3072 3072 3072 3072 1920 1920"
ISAI_PARAM_P1_1_LS : "1778 1498 1498 1442 938 938"
ISAI_PARAM_P1_1_LL : "2478 2478 2478 2478 2478 2478"
ISAI_PARAM_P1_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_1_ALL : "126 126 126 126 126 126"

View File

@ -1 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/inno.config.yaml SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/ivm.sai.config.yaml

View File

@ -1,6 +1,5 @@
{# Default values which will be used if no actual configura available #} {# Default values which will be used if no actual configura available #}
{% set default_cable = '300m' %} {% set default_cable = '40m' %}
{% set default_ports_num = 64 -%}
{# Port configuration to cable length look-up table #} {# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} {# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
@ -12,44 +11,53 @@
} }
%} %}
{%- macro cable_length(port_name) -%} {%- macro cable_length(port_name) %}
{%- set cable_len = [] -%} {%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR -%} {%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name -%} {%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type -%} {%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %} {%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role -%} {%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower -%} {%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower -%} {%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable -%} {%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) -%}{%- endif -%} {%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable -%} {%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) -%}{%- endif -%} {%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif -%} {%- endif %}
{%- endif -%} {%- endif %}
{%- endif -%} {%- endif %}
{%- endfor -%} {%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%} {%- if cable_len -%}
{{ cable_len.0 }} {{ cable_len.0 }}
{%- else -%} {%- else -%}
{{ default_cable }} {{ default_cable }}
{%- endif -%} {%- endif %}
{% endmacro %} {%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %} {%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} {%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%} {%- endif -%}
{# Generate list of ports if not defined #}
{% if PORT is not defined %}
{% set PORT = [] %}
{% for port_idx in range(0,default_ports_num) %}
{% if PORT.append("Ethernet%d" % (port_idx*4)) %}{% endif %}
{% endfor %}
{% endif -%}
{% set port_names_list = [] %} {% set port_names_list = [] %}
{% for port in PORT %} {% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %} {%- if port_names_list.append(port) %}{% endif %}
@ -57,6 +65,15 @@
{% set port_names = port_names_list | join(',') -%} {% set port_names = port_names_list | join(',') -%}
{ {
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": { "BUFFER_POOL": {
"ingress_lossless_pool": { "ingress_lossless_pool": {
"size": "47218432", "size": "47218432",
@ -64,7 +81,7 @@
"mode": "dynamic", "mode": "dynamic",
"xoff": "17708800" "xoff": "17708800"
}, },
"egress_lossy_pool": { "lossy_pool": {
"size": "18874368", "size": "18874368",
"type": "egress", "type": "egress",
"mode": "dynamic", "mode": "dynamic",
@ -74,46 +91,46 @@
"BUFFER_PROFILE": { "BUFFER_PROFILE": {
"ingress_lossless_profile": { "ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",
"xoff":"1433600", "xoff":"38816",
"size":"1518", "size":"1518",
"dynamic_th":"-4", "dynamic_th":"3",
"xon_offset":"6272" "xon_offset":"13440"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"static_th":"9721600"
}, },
"egress_lossless_profile": { "egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0", "size":"0",
"static_th":"9721600" "static_th":"9497600"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
}, },
"egress_lossy_profile": { "egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]", "pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518", "size":"1518",
"dynamic_th":"3" "dynamic_th":"3"
} }
}, },
"BUFFER_PG": { "BUFFER_PG": {
"{{ port_names }}|0-3": { "{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}, },
"{{ port_names }}|4-5": { "{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
}, },
"{{ port_names }}|6-7": { "{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
} }
}, },
"BUFFER_QUEUE": { "BUFFER_QUEUE": {
"{{ port_names }}|4-5": { "{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
}, },
"{{ port_names }}|0-3": { "{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}, },
"{{ port_names }}|6-7": { "{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
} }
} }

View File

@ -0,0 +1,38 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"BUFFER_POOL": {
"lossy_pool": {
"size": "56985600",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
"BUFFER_PG": {
"{{ port_names }}|0-7": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_QUEUE": {
"{{ port_names }}|0-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}
}
}

View File

@ -0,0 +1,137 @@
{# Default values which will be used if no actual configura available #}
{% set default_cable = '40m' %}
{# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
{# Roles described in the minigraph #}
{% set ports2cable = {
'torrouter_server' : '5m',
'leafrouter_torrouter' : '40m',
'spinerouter_leafrouter' : '300m'
}
%}
{%- macro cable_length(port_name) %}
{%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%}
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "47218432",
"type": "ingress",
"mode": "dynamic",
"xoff": "17708800"
},
"lossy_pool": {
"size": "18874368",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
}
},
"BUFFER_PROFILE": {
"ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"xoff":"38816",
"size":"1518",
"dynamic_th":"3",
"xon_offset":"13440"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"static_th":"9497600"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
"BUFFER_PG": {
"{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
},
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
},
"{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_QUEUE": {
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
},
"{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
},
"{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}
}
}

View File

@ -10,6 +10,8 @@ nodes:
multi_interface: "yes" multi_interface: "yes"
buffer_management_mode: "api_driven" buffer_management_mode: "api_driven"
max_lossless_tc: "2" max_lossless_tc: "2"
ilpm_enable: "1"
forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
txring: txring:
- txring_id: "0" - txring_id: "0"
desc_count: "1024" desc_count: "1024"
@ -504,20 +506,6 @@ nodes:
speed: "200G" speed: "200G"
sysport: "1" sysport: "1"
type: "eth" type: "eth"
- fec: "NONE"
id: "257"
lanes: "0:1"
serdes_group: "32"
speed: "10G"
sysport: "257"
type: "mgmt 0"
- fec: "NONE"
id: "258"
lanes: "1:1"
serdes_group: "32"
speed: "10G"
sysport: "258"
type: "mgmt 0"
isg: isg:
- id: "0" - id: "0"
lane_swap: "01234567" lane_swap: "01234567"

View File

@ -0,0 +1,9 @@
IFCS_INIT_FILE : "/usr/share/sonic/hwsku/config_64x200G_midstone200i.yaml"
IFCS_SKU_FILE : "/usr/share/sonic/hwsku/innovium.77700_B"
IFCS_INNO_CLI_PORT : "9999"
IFCS_TARGET : "device"
INNOVIUM_DIR : "/innovium"
PYTHONPATH : "$INNOVIUM_DIR:$INNOVIUM_DIR/cmds:$INNOVIUM_DIR/scripts:$INNOVIUM_DIR/test/:$INNOVIUM_DIR/test/utils:$INNOVIUM_DIR/utils:$INNOVIUM_DIR/pyctypes"
AVG_IPG_RESERVED_SIZE: "1518"
AVG_QUEUE_RESERVED_SIZE: "1518"
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"

View File

@ -0,0 +1,9 @@
ISAI_PARAM_P0_0_LS : "4608 4608 4608 4608 2880 2880"
ISAI_PARAM_P0_1_LS : "2226 1946 1946 1890 1218 1218"
ISAI_PARAM_P0_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_0_LS : "1536 1536 1536 1536 960 960"
ISAI_PARAM_P1_0_LL : "3072 3072 3072 3072 1920 1920"
ISAI_PARAM_P1_1_LS : "1778 1498 1498 1442 938 938"
ISAI_PARAM_P1_1_LL : "2478 2478 2478 2478 2478 2478"
ISAI_PARAM_P1_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_1_ALL : "126 126 126 126 126 126"

View File

@ -0,0 +1,14 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
25000 5m 1518 0 15680 3 13440
50000 5m 1518 0 21152 3 13440
100000 5m 1518 0 34336 3 13440
400000 5m 1518 0 117376 3 13440
25000 40m 1518 0 16800 3 13440
50000 40m 1518 0 23392 3 13440
100000 40m 1518 0 38816 3 13440
400000 40m 1518 0 135296 3 13440
25000 300m 1518 0 25120 3 13440
50000 300m 1518 0 40032 3 13440
100000 300m 1518 0 72096 3 13440
400000 300m 1518 0 268416 3 13440

View File

@ -1,67 +1,65 @@
# name lanes speed index mtu fec # name lanes alias speed index mtu fec
Ethernet0 249,250,251,252 200000 0 9126 rs Ethernet0 249,250,251,252 Eth1 200000 0 9126 rs
Ethernet4 253,254,255,256 200000 1 9126 rs Ethernet4 253,254,255,256 Eth2 200000 1 9126 rs
Ethernet8 245,246,247,248 200000 2 9126 rs Ethernet8 245,246,247,248 Eth3 200000 2 9126 rs
Ethernet12 241,242,243,244 200000 3 9126 rs Ethernet12 241,242,243,244 Eth4 200000 3 9126 rs
Ethernet16 233,234,235,236 200000 4 9126 rs Ethernet16 233,234,235,236 Eth5 200000 4 9126 rs
Ethernet20 237,238,239,240 200000 5 9126 rs Ethernet20 237,238,239,240 Eth6 200000 5 9126 rs
Ethernet24 229,230,231,232 200000 6 9126 rs Ethernet24 229,230,231,232 Eth7 200000 6 9126 rs
Ethernet28 225,226,227,228 200000 7 9126 rs Ethernet28 225,226,227,228 Eth8 200000 7 9126 rs
Ethernet32 217,218,219,220 200000 8 9126 rs Ethernet32 217,218,219,220 Eth9 200000 8 9126 rs
Ethernet36 221,222,223,224 200000 9 9126 rs Ethernet36 221,222,223,224 Eth10 200000 9 9126 rs
Ethernet40 213,214,215,216 200000 10 9126 rs Ethernet40 213,214,215,216 Eth11 200000 10 9126 rs
Ethernet44 209,210,211,212 200000 11 9126 rs Ethernet44 209,210,211,212 Eth12 200000 11 9126 rs
Ethernet48 201,202,203,204 200000 12 9126 rs Ethernet48 201,202,203,204 Eth13 200000 12 9126 rs
Ethernet52 205,206,207,208 200000 13 9126 rs Ethernet52 205,206,207,208 Eth14 200000 13 9126 rs
Ethernet56 197,198,199,200 200000 14 9126 rs Ethernet56 197,198,199,200 Eth15 200000 14 9126 rs
Ethernet60 193,194,195,196 200000 15 9126 rs Ethernet60 193,194,195,196 Eth16 200000 15 9126 rs
Ethernet64 185,186,187,188 200000 16 9126 rs Ethernet64 185,186,187,188 Eth17 200000 16 9126 rs
Ethernet68 189,190,191,192 200000 17 9126 rs Ethernet68 189,190,191,192 Eth18 200000 17 9126 rs
Ethernet72 181,182,183,184 200000 18 9126 rs Ethernet72 181,182,183,184 Eth19 200000 18 9126 rs
Ethernet76 177,178,179,180 200000 19 9126 rs Ethernet76 177,178,179,180 Eth20 200000 19 9126 rs
Ethernet80 169,170,171,172 200000 20 9126 rs Ethernet80 169,170,171,172 Eth21 200000 20 9126 rs
Ethernet84 173,174,175,176 200000 21 9126 rs Ethernet84 173,174,175,176 Eth22 200000 21 9126 rs
Ethernet88 165,166,167,168 200000 22 9126 rs Ethernet88 165,166,167,168 Eth23 200000 22 9126 rs
Ethernet92 161,162,163,164 200000 23 9126 rs Ethernet92 161,162,163,164 Eth24 200000 23 9126 rs
Ethernet96 153,154,155,156 200000 24 9126 rs Ethernet96 153,154,155,156 Eth25 200000 24 9126 rs
Ethernet100 157,158,159,160 200000 25 9126 rs Ethernet100 157,158,159,160 Eth26 200000 25 9126 rs
Ethernet104 149,150,151,152 200000 26 9126 rs Ethernet104 149,150,151,152 Eth27 200000 26 9126 rs
Ethernet108 145,146,147,148 200000 27 9126 rs Ethernet108 145,146,147,148 Eth28 200000 27 9126 rs
Ethernet112 137,138,139,140 200000 28 9126 rs Ethernet112 137,138,139,140 Eth29 200000 28 9126 rs
Ethernet116 141,142,143,144 200000 29 9126 rs Ethernet116 141,142,143,144 Eth30 200000 29 9126 rs
Ethernet120 133,134,135,136 200000 30 9126 rs Ethernet120 133,134,135,136 Eth31 200000 30 9126 rs
Ethernet124 129,130,131,132 200000 31 9126 rs Ethernet124 129,130,131,132 Eth32 200000 31 9126 rs
Ethernet128 121,122,123,124 200000 32 9126 rs Ethernet128 121,122,123,124 Eth33 200000 32 9126 rs
Ethernet132 125,126,127,128 200000 33 9126 rs Ethernet132 125,126,127,128 Eth34 200000 33 9126 rs
Ethernet136 117,118,119,120 200000 34 9126 rs Ethernet136 117,118,119,120 Eth35 200000 34 9126 rs
Ethernet140 113,114,115,116 200000 35 9126 rs Ethernet140 113,114,115,116 Eth36 200000 35 9126 rs
Ethernet144 105,106,107,108 200000 36 9126 rs Ethernet144 105,106,107,108 Eth37 200000 36 9126 rs
Ethernet148 109,110,111,112 200000 37 9126 rs Ethernet148 109,110,111,112 Eth38 200000 37 9126 rs
Ethernet152 101,102,103,104 200000 38 9126 rs Ethernet152 101,102,103,104 Eth39 200000 38 9126 rs
Ethernet156 97,98,99,100 200000 39 9126 rs Ethernet156 97,98,99,100 Eth40 200000 39 9126 rs
Ethernet160 89,90,91,92 200000 40 9126 rs Ethernet160 89,90,91,92 Eth41 200000 40 9126 rs
Ethernet164 93,94,95,96 200000 41 9126 rs Ethernet164 93,94,95,96 Eth42 200000 41 9126 rs
Ethernet168 85,86,87,88 200000 42 9126 rs Ethernet168 85,86,87,88 Eth43 200000 42 9126 rs
Ethernet172 81,82,83,84 200000 43 9126 rs Ethernet172 81,82,83,84 Eth44 200000 43 9126 rs
Ethernet176 73,74,75,76 200000 44 9126 rs Ethernet176 73,74,75,76 Eth45 200000 44 9126 rs
Ethernet180 77,78,79,80 200000 45 9126 rs Ethernet180 77,78,79,80 Eth46 200000 45 9126 rs
Ethernet184 69,70,71,72 200000 46 9126 rs Ethernet184 69,70,71,72 Eth47 200000 46 9126 rs
Ethernet188 65,66,67,68 200000 47 9126 rs Ethernet188 65,66,67,68 Eth48 200000 47 9126 rs
Ethernet192 57,58,59,60 200000 48 9126 rs Ethernet192 57,58,59,60 Eth49 200000 48 9126 rs
Ethernet196 61,62,63,64 200000 49 9126 rs Ethernet196 61,62,63,64 Eth50 200000 49 9126 rs
Ethernet200 53,54,55,56 200000 50 9126 rs Ethernet200 53,54,55,56 Eth51 200000 50 9126 rs
Ethernet204 49,50,51,52 200000 51 9126 rs Ethernet204 49,50,51,52 Eth52 200000 51 9126 rs
Ethernet208 41,42,43,44 200000 52 9126 rs Ethernet208 41,42,43,44 Eth53 200000 52 9126 rs
Ethernet212 45,46,47,48 200000 53 9126 rs Ethernet212 45,46,47,48 Eth54 200000 53 9126 rs
Ethernet216 37,38,39,40 200000 54 9126 rs Ethernet216 37,38,39,40 Eth55 200000 54 9126 rs
Ethernet220 33,34,35,36 200000 55 9126 rs Ethernet220 33,34,35,36 Eth56 200000 55 9126 rs
Ethernet224 25,26,27,28 200000 56 9126 rs Ethernet224 25,26,27,28 Eth57 200000 56 9126 rs
Ethernet228 29,30,31,32 200000 57 9126 rs Ethernet228 29,30,31,32 Eth58 200000 57 9126 rs
Ethernet232 21,22,23,24 200000 58 9126 rs Ethernet232 21,22,23,24 Eth59 200000 58 9126 rs
Ethernet236 17,18,19,20 200000 59 9126 rs Ethernet236 17,18,19,20 Eth60 200000 59 9126 rs
Ethernet240 9,10,11,12 200000 60 9126 rs Ethernet240 9,10,11,12 Eth61 200000 60 9126 rs
Ethernet244 13,14,15,16 200000 61 9126 rs Ethernet244 13,14,15,16 Eth62 200000 61 9126 rs
Ethernet248 5,6,7,8 200000 62 9126 rs Ethernet248 5,6,7,8 Eth63 200000 62 9126 rs
Ethernet252 1,2,3,4 200000 63 9126 rs Ethernet252 1,2,3,4 Eth64 200000 63 9126 rs
Ethernet256 257 10000 64 9126 none
Ethernet257 258 10000 65 9126 none

View File

@ -1,14 +1,3 @@
{# Default values which will be used if no actual configura available #}
{% set default_ports_num = 64 -%}
{# Generate list of ports if not defined #}
{% if PORT is not defined %}
{% set PORT = [] %}
{% for port_idx in range(0,default_ports_num) %}
{% if PORT.append("Ethernet%d" % (port_idx*4)) %}{% endif %}
{% endfor %}
{% endif -%}
{% set port_names_list = [] %} {% set port_names_list = [] %}
{% for port in PORT %} {% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %} {%- if port_names_list.append(port) %}{% endif %}
@ -19,24 +8,24 @@
{ {
"TC_TO_QUEUE_MAP":{ "TC_TO_QUEUE_MAP":{
"AZURE":{ "AZURE":{
"1":"1",
"0":"0", "0":"0",
"3":"3", "1":"1",
"2":"2", "2":"2",
"5":"5", "3":"3",
"4":"4", "4":"4",
"7":"7", "5":"5",
"6":"6" "6":"6",
"7":"7"
} }
}, },
"TC_TO_PRIORITY_GROUP_MAP": { "TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": { "AZURE": {
"1": "0",
"0": "0", "0": "0",
"3": "0", "1": "0",
"2": "0", "2": "0",
"4": "1", "3": "1",
"5": "2", "4": "2",
"5": "0",
"6": "0", "6": "0",
"7": "0" "7": "0"
} }
@ -46,9 +35,9 @@
"0":"0", "0":"0",
"1":"0", "1":"0",
"2":"0", "2":"0",
"3":"0", "3":"3",
"4":"4", "4":"4",
"5":"5", "5":"0",
"6":"0", "6":"0",
"7":"0", "7":"0",
"8":"1", "8":"1",
@ -114,7 +103,12 @@
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]", "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]", "tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]", "dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]",
"pfc_enable": "4,5" "pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"red_min_threshold":"50000"
} }
} }
} }

View File

@ -0,0 +1,118 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"TC_TO_QUEUE_MAP":{
"AZURE":{
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7"
}
},
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "1",
"4": "2",
"5": "0",
"6": "0",
"7": "0"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"0",
"4":"0",
"5":"0",
"6":"0",
"7":"0",
"8":"0",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"PORT_QOS_MAP": {
"{{ port_names }}": {
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]"
}
},
"SCHEDULER": {
"scheduler.7": {
"type": "STRICT"
}
},
"QUEUE": {
"{{ port_names }}|7": {
"scheduler": "[SCHEDULER|scheduler.7]"
}
}
}

View File

@ -0,0 +1,114 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"TC_TO_QUEUE_MAP":{
"AZURE":{
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7"
}
},
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "1",
"4": "2",
"5": "0",
"6": "0",
"7": "0"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"3",
"4":"4",
"5":"0",
"6":"0",
"7":"0",
"8":"1",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"PORT_QOS_MAP": {
"{{ port_names }}": {
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]",
"pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"red_min_threshold":"50000"
}
}
}

View File

@ -1 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/inno.config.yaml SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/ivm.sai.config.yaml

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,5 @@
{ {
"skip_ledd": true "skip_ledd": true,
"skip_psud": true,
"skip_thermalctld": true
} }

View File

@ -0,0 +1 @@
t1

View File

@ -0,0 +1,429 @@
ifcs:
options:
log_level: "info"
nodes:
- node_id: "0"
options:
sku: "configs/sku/innovium.77700_A"
netdev:
- auto_create: "no"
multi_interface: "yes"
buffer_management_mode: "api_driven"
max_lossless_tc: "2"
txring:
- txring_id: "0"
desc_count: "1024"
prio: "1"
netdev: "true"
- txring_id: "1"
desc_count: "1024"
prio: "1"
netdev: "true"
- txring_id: "2"
desc_count: "1024"
prio: "1"
netdev: "true"
- txring_id: "3"
desc_count: "1024"
prio: "1"
netdev: "true"
rxring:
- rxring_id: "0"
desc_count: "1024"
prio: "1"
netdev: "true"
queues: "0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44"
- rxring_id: "1"
desc_count: "1024"
prio: "1"
netdev: "true"
queues: "1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45"
- rxring_id: "2"
desc_count: "1024"
prio: "1"
netdev: "true"
queues: "2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46"
- rxring_id: "3"
desc_count: "1024"
prio: "1"
netdev: "true"
queues: "3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 47"
sys_clk: "1720"
ifc_clk: "1200"
mac_clk: "1340"
devports:
- id: "0"
sysport: "1000"
type: "cpu"
- fec: "KPFEC"
id: "249"
lanes: "0:8"
serdes_group: "31"
speed: "400G"
sysport: "249"
type: "eth"
- fec: "KPFEC"
id: "241"
lanes: "0:8"
serdes_group: "30"
speed: "400G"
sysport: "241"
type: "eth"
- fec: "KPFEC"
id: "233"
lanes: "0:8"
serdes_group: "29"
speed: "400G"
sysport: "233"
type: "eth"
- fec: "KPFEC"
id: "225"
lanes: "0:8"
serdes_group: "28"
speed: "400G"
sysport: "225"
type: "eth"
- fec: "KPFEC"
id: "217"
lanes: "0:8"
serdes_group: "27"
speed: "400G"
sysport: "217"
type: "eth"
- fec: "KPFEC"
id: "209"
lanes: "0:8"
serdes_group: "26"
speed: "400G"
sysport: "209"
type: "eth"
- fec: "KPFEC"
id: "201"
lanes: "0:8"
serdes_group: "25"
speed: "400G"
sysport: "201"
type: "eth"
- fec: "KPFEC"
id: "193"
lanes: "0:8"
serdes_group: "24"
speed: "400G"
sysport: "193"
type: "eth"
- fec: "KPFEC"
id: "185"
lanes: "0:8"
serdes_group: "23"
speed: "400G"
sysport: "185"
type: "eth"
- fec: "KPFEC"
id: "177"
lanes: "0:8"
serdes_group: "22"
speed: "400G"
sysport: "177"
type: "eth"
- fec: "KPFEC"
id: "169"
lanes: "0:8"
serdes_group: "21"
speed: "400G"
sysport: "169"
type: "eth"
- fec: "KPFEC"
id: "161"
lanes: "0:8"
serdes_group: "20"
speed: "400G"
sysport: "161"
type: "eth"
- fec: "KPFEC"
id: "153"
lanes: "0:8"
serdes_group: "19"
speed: "400G"
sysport: "153"
type: "eth"
- fec: "KPFEC"
id: "145"
lanes: "0:8"
serdes_group: "18"
speed: "400G"
sysport: "145"
type: "eth"
- fec: "KPFEC"
id: "137"
lanes: "0:8"
serdes_group: "17"
speed: "400G"
sysport: "137"
type: "eth"
- fec: "KPFEC"
id: "129"
lanes: "0:8"
serdes_group: "16"
speed: "400G"
sysport: "129"
type: "eth"
- fec: "KPFEC"
id: "121"
lanes: "0:8"
serdes_group: "15"
speed: "400G"
sysport: "121"
type: "eth"
- fec: "KPFEC"
id: "113"
lanes: "0:8"
serdes_group: "14"
speed: "400G"
sysport: "113"
type: "eth"
- fec: "KPFEC"
id: "97"
lanes: "0:8"
serdes_group: "12"
speed: "400G"
sysport: "97"
type: "eth"
- fec: "KPFEC"
id: "105"
lanes: "0:8"
serdes_group: "13"
speed: "400G"
sysport: "105"
type: "eth"
- fec: "KPFEC"
id: "81"
lanes: "0:8"
serdes_group: "10"
speed: "400G"
sysport: "81"
type: "eth"
- fec: "KPFEC"
id: "89"
lanes: "0:8"
serdes_group: "11"
speed: "400G"
sysport: "89"
type: "eth"
- fec: "KPFEC"
id: "65"
lanes: "0:8"
serdes_group: "8"
speed: "400G"
sysport: "65"
type: "eth"
- fec: "KPFEC"
id: "73"
lanes: "0:8"
serdes_group: "9"
speed: "400G"
sysport: "73"
type: "eth"
- fec: "KPFEC"
id: "49"
lanes: "0:8"
serdes_group: "6"
speed: "400G"
sysport: "49"
type: "eth"
- fec: "KPFEC"
id: "57"
lanes: "0:8"
serdes_group: "7"
speed: "400G"
sysport: "57"
type: "eth"
- fec: "KPFEC"
id: "33"
lanes: "0:8"
serdes_group: "4"
speed: "400G"
sysport: "33"
type: "eth"
- fec: "KPFEC"
id: "41"
lanes: "0:8"
serdes_group: "5"
speed: "400G"
sysport: "41"
type: "eth"
- fec: "KPFEC"
id: "17"
lanes: "0:8"
serdes_group: "2"
speed: "400G"
sysport: "17"
type: "eth"
- fec: "KPFEC"
id: "25"
lanes: "0:8"
serdes_group: "3"
speed: "400G"
sysport: "25"
type: "eth"
- fec: "KPFEC"
id: "1"
lanes: "0:8"
serdes_group: "0"
speed: "400G"
sysport: "1"
type: "eth"
- fec: "KPFEC"
id: "9"
lanes: "0:8"
serdes_group: "1"
speed: "400G"
sysport: "9"
type: "eth"
- fec: "NONE"
id: "257"
lanes: "0:1"
serdes_group: "32"
speed: "10G"
sysport: "257"
type: "mgmt 0"
- fec: "NONE"
id: "258"
lanes: "1:1"
serdes_group: "32"
speed: "10G"
sysport: "258"
type: "mgmt 1"
isg:
- id: "0"
tx_polarity: "01010101"
rx_polarity: "01100000"
lane_swap: "23641075"
- id: "1"
tx_polarity: "10110000"
rx_polarity: "11111111"
lane_swap: "64317520"
- id: "2"
tx_polarity: "00000000"
rx_polarity: "00000011"
lane_swap: "63147520"
- id: "3"
tx_polarity: "01101000"
rx_polarity: "00001110"
lane_swap: "31572046"
- id: "4"
tx_polarity: "00111000"
rx_polarity: "00001000"
lane_swap: "46105732"
- id: "5"
tx_polarity: "10111111"
rx_polarity: "11101000"
lane_swap: "27153604"
- id: "6"
tx_polarity: "01101110"
rx_polarity: "00001101"
lane_swap: "46503721"
- id: "7"
tx_polarity: "01000100"
rx_polarity: "10000101"
lane_swap: "03671245"
- id: "8"
tx_polarity: "01110101"
rx_polarity: "00010000"
lane_swap: "12640375"
- id: "9"
tx_polarity: "01011100"
rx_polarity: "11001111"
lane_swap: "02561347"
- id: "10"
tx_polarity: "01110110"
rx_polarity: "11000000"
lane_swap: "12740365"
- id: "11"
tx_polarity: "00111000"
rx_polarity: "00010111"
lane_swap: "01572436"
- id: "12"
tx_polarity: "00001111"
rx_polarity: "10111001"
lane_swap: "54320176"
- id: "13"
tx_polarity: "10011101"
rx_polarity: "00111011"
lane_swap: "26153704"
- id: "14"
tx_polarity: "00110000"
rx_polarity: "11010000"
lane_swap: "37452601"
- id: "15"
tx_polarity: "11100010"
rx_polarity: "01110011"
lane_swap: "51370462"
- id: "16"
tx_polarity: "10111010"
rx_polarity: "11010011"
lane_swap: "36152704"
- id: "17"
tx_polarity: "01011101"
rx_polarity: "00110001"
lane_swap: "45621073"
- id: "18"
tx_polarity: "11011111"
rx_polarity: "11001011"
lane_swap: "26143705"
- id: "19"
tx_polarity: "00100110"
rx_polarity: "00001001"
lane_swap: "42730165"
- id: "20"
tx_polarity: "10011011"
rx_polarity: "01101101"
lane_swap: "54217603"
- id: "21"
tx_polarity: "00101110"
rx_polarity: "10111111"
lane_swap: "26031745"
- id: "22"
tx_polarity: "01001110"
rx_polarity: "00111001"
lane_swap: "36024715"
- id: "23"
tx_polarity: "10101101"
rx_polarity: "01010011"
lane_swap: "45621370"
- id: "24"
tx_polarity: "11001110"
rx_polarity: "00011111"
lane_swap: "65234701"
- id: "25"
tx_polarity: "01110001"
rx_polarity: "01010111"
lane_swap: "37601452"
- id: "26"
tx_polarity: "01000100"
rx_polarity: "00001111"
lane_swap: "65034721"
- id: "27"
tx_polarity: "10111101"
rx_polarity: "11000101"
lane_swap: "34501672"
- id: "28"
tx_polarity: "01111000"
rx_polarity: "01110110"
lane_swap: "43061275"
- id: "29"
tx_polarity: "11110111"
rx_polarity: "11100111"
lane_swap: "57304621"
- id: "30"
tx_polarity: "10000100"
rx_polarity: "00101111"
lane_swap: "47125603"
- id: "31"
tx_polarity: "11111111"
rx_polarity: "11100010"
lane_swap: "13460275"
- id: "32"
tx_polarity: "00000000"
rx_polarity: "00000000"
lane_swap: "01234567"

View File

@ -0,0 +1,35 @@
# name lanes alias speed index mtu fec
Ethernet0 249,250,251,252 Eth1 400000 0 9126 rs
Ethernet8 241,242,243,244 Eth2 400000 1 9126 rs
Ethernet16 233,234,235,236 Eth3 400000 2 9126 rs
Ethernet24 225,226,227,228 Eth4 400000 3 9126 rs
Ethernet32 217,218,219,220 Eth5 400000 4 9126 rs
Ethernet40 209,210,211,212 Eth6 400000 5 9126 rs
Ethernet48 201,202,203,204 Eth7 400000 6 9126 rs
Ethernet56 193,194,195,196 Eth8 400000 7 9126 rs
Ethernet64 185,186,187,188 Eth9 400000 8 9126 rs
Ethernet72 177,178,179,180 Eth10 400000 9 9126 rs
Ethernet80 169,170,171,172 Eth11 400000 10 9126 rs
Ethernet88 161,162,163,164 Eth12 400000 11 9126 rs
Ethernet96 153,154,155,156 Eth13 400000 12 9126 rs
Ethernet104 145,146,147,148 Eth14 400000 13 9126 rs
Ethernet112 137,138,139,140 Eth15 400000 14 9126 rs
Ethernet120 129,130,131,132 Eth16 400000 15 9126 rs
Ethernet128 121,122,123,124 Eth17 400000 16 9126 rs
Ethernet136 113,114,115,116 Eth18 400000 17 9126 rs
Ethernet144 97,98,99,100 Eth19 400000 18 9126 rs
Ethernet152 105,106,107,108 Eth20 400000 19 9126 rs
Ethernet160 81,82,83,84 Eth21 400000 20 9126 rs
Ethernet168 89,90,91,92 Eth22 400000 21 9126 rs
Ethernet176 65,66,67,68 Eth23 400000 22 9126 rs
Ethernet184 73,74,75,76 Eth24 400000 23 9126 rs
Ethernet192 49,50,51,52 Eth25 400000 24 9126 rs
Ethernet200 57,58,59,60 Eth26 400000 25 9126 rs
Ethernet208 33,34,35,36 Eth27 400000 26 9126 rs
Ethernet216 41,42,43,44 Eth28 400000 27 9126 rs
Ethernet224 17,18,19,20 Eth29 400000 28 9126 rs
Ethernet232 25,26,27,28 Eth30 400000 29 9126 rs
Ethernet240 1,2,3,4 Eth31 400000 30 9126 rs
Ethernet248 9,10,11,12 Eth32 400000 31 9126 rs
Ethernet256 257 Aux1 10000 32 9126 none
Ethernet257 258 Aux2 10000 33 9126 none

View File

@ -1,6 +1,5 @@
{# Default values which will be used if no actual configura available #} {# Default values which will be used if no actual configura available #}
{% set default_cable = '300m' %} {% set default_cable = '40m' %}
{% set default_ports_num = 32 -%}
{# Port configuration to cable length look-up table #} {# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} {# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
@ -12,44 +11,53 @@
} }
%} %}
{%- macro cable_length(port_name) -%} {%- macro cable_length(port_name) %}
{%- set cable_len = [] -%} {%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR -%} {%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name -%} {%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type -%} {%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %} {%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role -%} {%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower -%} {%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower -%} {%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable -%} {%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) -%}{%- endif -%} {%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable -%} {%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) -%}{%- endif -%} {%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif -%} {%- endif %}
{%- endif -%} {%- endif %}
{%- endif -%} {%- endif %}
{%- endfor -%} {%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%} {%- if cable_len -%}
{{ cable_len.0 }} {{ cable_len.0 }}
{%- else -%} {%- else -%}
{{ default_cable }} {{ default_cable }}
{%- endif -%} {%- endif %}
{% endmacro %} {%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %} {%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} {%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%} {%- endif -%}
{# Generate list of ports if not defined #}
{% if PORT is not defined %}
{% set PORT = [] %}
{% for port_idx in range(0,default_ports_num) %}
{% if PORT.append("Ethernet%d" % (port_idx*4)) %}{% endif %}
{% endfor %}
{% endif -%}
{% set port_names_list = [] %} {% set port_names_list = [] %}
{% for port in PORT %} {% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %} {%- if port_names_list.append(port) %}{% endif %}
@ -57,6 +65,15 @@
{% set port_names = port_names_list | join(',') -%} {% set port_names = port_names_list | join(',') -%}
{ {
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": { "BUFFER_POOL": {
"ingress_lossless_pool": { "ingress_lossless_pool": {
"size": "47218432", "size": "47218432",
@ -64,7 +81,7 @@
"mode": "dynamic", "mode": "dynamic",
"xoff": "17708800" "xoff": "17708800"
}, },
"egress_lossy_pool": { "lossy_pool": {
"size": "18874368", "size": "18874368",
"type": "egress", "type": "egress",
"mode": "dynamic", "mode": "dynamic",
@ -74,46 +91,46 @@
"BUFFER_PROFILE": { "BUFFER_PROFILE": {
"ingress_lossless_profile": { "ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",
"xoff":"1433600", "xoff":"38816",
"size":"1518", "size":"1518",
"dynamic_th":"-4", "dynamic_th":"3",
"xon_offset":"6272" "xon_offset":"13440"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"static_th":"9721600"
}, },
"egress_lossless_profile": { "egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0", "size":"0",
"static_th":"9721600" "static_th":"9497600"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
}, },
"egress_lossy_profile": { "egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]", "pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518", "size":"1518",
"dynamic_th":"3" "dynamic_th":"3"
} }
}, },
"BUFFER_PG": { "BUFFER_PG": {
"{{ port_names }}|0-3": { "{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}, },
"{{ port_names }}|4-5": { "{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
}, },
"{{ port_names }}|6-7": { "{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
} }
}, },
"BUFFER_QUEUE": { "BUFFER_QUEUE": {
"{{ port_names }}|4-5": { "{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
}, },
"{{ port_names }}|0-3": { "{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}, },
"{{ port_names }}|6-7": { "{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
} }
} }

View File

@ -0,0 +1,38 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"BUFFER_POOL": {
"lossy_pool": {
"size": "56985600",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
"BUFFER_PG": {
"{{ port_names }}|0-7": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_QUEUE": {
"{{ port_names }}|0-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}
}
}

View File

@ -0,0 +1,137 @@
{# Default values which will be used if no actual configura available #}
{% set default_cable = '40m' %}
{# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
{# Roles described in the minigraph #}
{% set ports2cable = {
'torrouter_server' : '5m',
'leafrouter_torrouter' : '40m',
'spinerouter_leafrouter' : '300m'
}
%}
{%- macro cable_length(port_name) %}
{%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%}
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "47218432",
"type": "ingress",
"mode": "dynamic",
"xoff": "17708800"
},
"lossy_pool": {
"size": "18874368",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
}
},
"BUFFER_PROFILE": {
"ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"xoff":"38816",
"size":"1518",
"dynamic_th":"3",
"xon_offset":"13440"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"static_th":"9497600"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
"BUFFER_PG": {
"{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
},
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
},
"{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_QUEUE": {
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
},
"{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
},
"{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}
}
}

View File

@ -10,6 +10,8 @@ nodes:
multi_interface: "yes" multi_interface: "yes"
buffer_management_mode: "api_driven" buffer_management_mode: "api_driven"
max_lossless_tc: "2" max_lossless_tc: "2"
ilpm_enable: "1"
forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
txring: txring:
- txring_id: "0" - txring_id: "0"
desc_count: "1024" desc_count: "1024"
@ -280,20 +282,6 @@ nodes:
speed: "400G" speed: "400G"
sysport: "9" sysport: "9"
type: "eth" type: "eth"
- fec: "NONE"
id: "257"
lanes: "0:1"
serdes_group: "32"
speed: "10G"
sysport: "257"
type: "mgmt 0"
- fec: "NONE"
id: "258"
lanes: "1:1"
serdes_group: "32"
speed: "10G"
sysport: "258"
type: "mgmt 1"
isg: isg:
- id: "0" - id: "0"
tx_polarity: "01010101" tx_polarity: "01010101"

View File

@ -0,0 +1,9 @@
IFCS_INIT_FILE : "/usr/share/sonic/hwsku/config_32x400G_Delta-et-c032if.yaml"
IFCS_SKU_FILE : "/usr/share/sonic/hwsku/innovium.77700_A"
IFCS_INNO_CLI_PORT : "9999"
IFCS_TARGET : "device"
INNOVIUM_DIR : "/innovium"
PYTHONPATH : "$INNOVIUM_DIR:$INNOVIUM_DIR/cmds:$INNOVIUM_DIR/scripts:$INNOVIUM_DIR/test/:$INNOVIUM_DIR/test/utils:$INNOVIUM_DIR/utils:$INNOVIUM_DIR/pyctypes"
AVG_IPG_RESERVED_SIZE: "1518"
AVG_QUEUE_RESERVED_SIZE: "1518"
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"

View File

@ -0,0 +1,9 @@
ISAI_PARAM_P0_0_LS : "4608 4608 4608 4608 2880 2880"
ISAI_PARAM_P0_1_LS : "2226 1946 1946 1890 1218 1218"
ISAI_PARAM_P0_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_0_LS : "1536 1536 1536 1536 960 960"
ISAI_PARAM_P1_0_LL : "3072 3072 3072 3072 1920 1920"
ISAI_PARAM_P1_1_LS : "1778 1498 1498 1442 938 938"
ISAI_PARAM_P1_1_LL : "2478 2478 2478 2478 2478 2478"
ISAI_PARAM_P1_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_1_ALL : "126 126 126 126 126 126"

View File

@ -0,0 +1,14 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
25000 5m 1518 0 15680 3 13440
50000 5m 1518 0 21152 3 13440
100000 5m 1518 0 34336 3 13440
400000 5m 1518 0 117376 3 13440
25000 40m 1518 0 16800 3 13440
50000 40m 1518 0 23392 3 13440
100000 40m 1518 0 38816 3 13440
400000 40m 1518 0 135296 3 13440
25000 300m 1518 0 25120 3 13440
50000 300m 1518 0 40032 3 13440
100000 300m 1518 0 72096 3 13440
400000 300m 1518 0 268416 3 13440

View File

@ -1,35 +1,33 @@
# name lanes speed index mtu fec # name lanes alias speed index mtu fec
Ethernet0 249,250,251,252 400000 0 9126 rs Ethernet0 249,250,251,252,253,254,255,256 Ethernet0 400000 0 9126 rs
Ethernet8 241,242,243,244 400000 1 9126 rs Ethernet8 241,242,243,244,245,246,247,248 Ethernet8 400000 1 9126 rs
Ethernet16 233,234,235,236 400000 2 9126 rs Ethernet16 233,234,235,236,237,238,239,240 Ethernet16 400000 2 9126 rs
Ethernet24 225,226,227,228 400000 3 9126 rs Ethernet24 225,226,227,228,229,230,231,232 Ethernet24 400000 3 9126 rs
Ethernet32 217,218,219,220 400000 4 9126 rs Ethernet32 217,218,219,220,221,222,223,224 Ethernet32 400000 4 9126 rs
Ethernet40 209,210,211,212 400000 5 9126 rs Ethernet40 209,210,211,212,213,214,215,216 Ethernet40 400000 5 9126 rs
Ethernet48 201,202,203,204 400000 6 9126 rs Ethernet48 201,202,203,204,205,206,207,208 Ethernet48 400000 6 9126 rs
Ethernet56 193,194,195,196 400000 7 9126 rs Ethernet56 193,194,195,196,197,198,199,200 Ethernet56 400000 7 9126 rs
Ethernet64 185,186,187,188 400000 8 9126 rs Ethernet64 185,186,187,188,189,190,191,192 Ethernet64 400000 8 9126 rs
Ethernet72 177,178,179,180 400000 9 9126 rs Ethernet72 177,178,179,180,181,182,183,184 Ethernet72 400000 9 9126 rs
Ethernet80 169,170,171,172 400000 10 9126 rs Ethernet80 169,170,171,172,173,174,175,176 Ethernet80 400000 10 9126 rs
Ethernet88 161,162,163,164 400000 11 9126 rs Ethernet88 161,162,163,164,165,166,167,168 Ethernet88 400000 11 9126 rs
Ethernet96 153,154,155,156 400000 12 9126 rs Ethernet96 153,154,155,156,157,158,159,160 Ethernet96 400000 12 9126 rs
Ethernet104 145,146,147,148 400000 13 9126 rs Ethernet104 145,146,147,148,149,150,151,152 Ethernet104 400000 13 9126 rs
Ethernet112 137,138,139,140 400000 14 9126 rs Ethernet112 137,138,139,140,141,142,143,144 Ethernet112 400000 14 9126 rs
Ethernet120 129,130,131,132 400000 15 9126 rs Ethernet120 129,130,131,132,133,134,135,136 Ethernet120 400000 15 9126 rs
Ethernet128 121,122,123,124 400000 16 9126 rs Ethernet128 121,122,123,124,125,126,127,128 Ethernet128 400000 16 9126 rs
Ethernet136 113,114,115,116 400000 17 9126 rs Ethernet136 113,114,115,116,117,118,119,120 Ethernet136 400000 17 9126 rs
Ethernet144 97,98,99,100 400000 18 9126 rs Ethernet144 97,98,99,100,101,102,103,104 Ethernet144 400000 18 9126 rs
Ethernet152 105,106,107,108 400000 19 9126 rs Ethernet152 105,106,107,108,109,110,111,112 Ethernet152 400000 19 9126 rs
Ethernet160 81,82,83,84 400000 20 9126 rs Ethernet160 81,82,83,84,85,86,87,88 Ethernet160 400000 20 9126 rs
Ethernet168 89,90,91,92 400000 21 9126 rs Ethernet168 89,90,91,92,93,94,95,96 Ethernet168 400000 21 9126 rs
Ethernet176 65,66,67,68 400000 22 9126 rs Ethernet176 65,66,67,68,69,70,71,72 Ethernet176 400000 22 9126 rs
Ethernet184 73,74,75,76 400000 23 9126 rs Ethernet184 73,74,75,76,77,78,79,80 Ethernet184 400000 23 9126 rs
Ethernet192 49,50,51,52 400000 24 9126 rs Ethernet192 49,50,51,52,53,54,55,56 Ethernet192 400000 24 9126 rs
Ethernet200 57,58,59,60 400000 25 9126 rs Ethernet200 57,58,59,60,61,62,63,64 Ethernet200 400000 25 9126 rs
Ethernet208 33,34,35,36 400000 26 9126 rs Ethernet208 33,34,35,36,37,38,39,40 Ethernet208 400000 26 9126 rs
Ethernet216 41,42,43,44 400000 27 9126 rs Ethernet216 41,42,43,44,45,46,47,48 Ethernet216 400000 27 9126 rs
Ethernet224 17,18,19,20 400000 28 9126 rs Ethernet224 17,18,19,20,21,22,23,24 Ethernet224 400000 28 9126 rs
Ethernet232 25,26,27,28 400000 29 9126 rs Ethernet232 25,26,27,28,29,30,31,32 Ethernet232 400000 29 9126 rs
Ethernet240 1,2,3,4 400000 30 9126 rs Ethernet240 1,2,3,4,5,6,7,8 Ethernet240 400000 30 9126 rs
Ethernet248 9,10,11,12 400000 31 9126 rs Ethernet248 9,10,11,12,13,14,15,16 Ethernet248 400000 31 9126 rs
Ethernet256 257 10000 32 9126 none
Ethernet257 258 10000 33 9126 none

View File

@ -1,14 +1,3 @@
{# Default values which will be used if no actual configura available #}
{% set default_ports_num = 32 -%}
{# Generate list of ports if not defined #}
{% if PORT is not defined %}
{% set PORT = [] %}
{% for port_idx in range(0,default_ports_num) %}
{% if PORT.append("Ethernet%d" % (port_idx*4)) %}{% endif %}
{% endfor %}
{% endif -%}
{% set port_names_list = [] %} {% set port_names_list = [] %}
{% for port in PORT %} {% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %} {%- if port_names_list.append(port) %}{% endif %}
@ -19,24 +8,24 @@
{ {
"TC_TO_QUEUE_MAP":{ "TC_TO_QUEUE_MAP":{
"AZURE":{ "AZURE":{
"1":"1",
"0":"0", "0":"0",
"3":"3", "1":"1",
"2":"2", "2":"2",
"5":"5", "3":"3",
"4":"4", "4":"4",
"7":"7", "5":"5",
"6":"6" "6":"6",
"7":"7"
} }
}, },
"TC_TO_PRIORITY_GROUP_MAP": { "TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": { "AZURE": {
"1": "0",
"0": "0", "0": "0",
"3": "0", "1": "0",
"2": "0", "2": "0",
"4": "1", "3": "1",
"5": "2", "4": "2",
"5": "0",
"6": "0", "6": "0",
"7": "0" "7": "0"
} }
@ -46,9 +35,9 @@
"0":"0", "0":"0",
"1":"0", "1":"0",
"2":"0", "2":"0",
"3":"0", "3":"3",
"4":"4", "4":"4",
"5":"5", "5":"0",
"6":"0", "6":"0",
"7":"0", "7":"0",
"8":"1", "8":"1",
@ -114,7 +103,12 @@
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]", "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]", "tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]", "dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]",
"pfc_enable": "4,5" "pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"red_min_threshold":"50000"
} }
} }
} }

View File

@ -0,0 +1,118 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"TC_TO_QUEUE_MAP":{
"AZURE":{
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7"
}
},
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "1",
"4": "2",
"5": "0",
"6": "0",
"7": "0"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"0",
"4":"0",
"5":"0",
"6":"0",
"7":"0",
"8":"0",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"PORT_QOS_MAP": {
"{{ port_names }}": {
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]"
}
},
"SCHEDULER": {
"scheduler.7": {
"type": "STRICT"
}
},
"QUEUE": {
"{{ port_names }}|7": {
"scheduler": "[SCHEDULER|scheduler.7]"
}
}
}

View File

@ -0,0 +1,114 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"TC_TO_QUEUE_MAP":{
"AZURE":{
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7"
}
},
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "1",
"4": "2",
"5": "0",
"6": "0",
"7": "0"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"3",
"4":"4",
"5":"0",
"6":"0",
"7":"0",
"8":"1",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"PORT_QOS_MAP": {
"{{ port_names }}": {
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]",
"pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"red_min_threshold":"50000"
}
}
}

View File

@ -1 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/inno.config.yaml SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/ivm.sai.config.yaml

View File

@ -0,0 +1,131 @@
# name lanes alias speed index mtu
Ethernet0 249,250 Eth1/1 100000 0 9126
Ethernet2 251,252 Eth1/2 100000 0 9126
Ethernet4 253,254 Eth1/3 100000 0 9126
Ethernet6 255,256 Eth1/4 100000 0 9126
Ethernet8 241,242 Eth2/1 100000 1 9126
Ethernet10 243,244 Eth2/2 100000 1 9126
Ethernet12 245,246 Eth2/3 100000 1 9126
Ethernet14 247,248 Eth2/4 100000 1 9126
Ethernet16 233,234 Eth3/1 100000 2 9126
Ethernet18 235,236 Eth3/2 100000 2 9126
Ethernet20 237,238 Eth3/3 100000 2 9126
Ethernet22 239,240 Eth3/4 100000 2 9126
Ethernet24 225,226 Eth4/1 100000 3 9126
Ethernet26 227,228 Eth4/2 100000 3 9126
Ethernet28 229,230 Eth4/3 100000 3 9126
Ethernet30 231,232 Eth4/4 100000 3 9126
Ethernet32 217,218 Eth5/1 100000 4 9126
Ethernet34 219,220 Eth5/2 100000 4 9126
Ethernet36 221,222 Eth5/3 100000 4 9126
Ethernet38 223,224 Eth5/4 100000 4 9126
Ethernet40 209,210 Eth6/1 100000 5 9126
Ethernet42 211,212 Eth6/2 100000 5 9126
Ethernet44 213,214 Eth6/3 100000 5 9126
Ethernet46 215,216 Eth6/4 100000 5 9126
Ethernet48 201,202 Eth7/1 100000 6 9126
Ethernet50 203,204 Eth7/2 100000 6 9126
Ethernet52 205,206 Eth7/3 100000 6 9126
Ethernet54 207,208 Eth7/4 100000 6 9126
Ethernet56 193,194 Eth8/1 100000 7 9126
Ethernet58 195,196 Eth8/2 100000 7 9126
Ethernet60 197,198 Eth8/3 100000 7 9126
Ethernet62 199,200 Eth8/4 100000 7 9126
Ethernet64 185,186 Eth9/1 100000 8 9126
Ethernet66 187,188 Eth9/2 100000 8 9126
Ethernet68 189,190 Eth9/3 100000 8 9126
Ethernet70 191,192 Eth9/4 100000 8 9126
Ethernet72 177,178 Eth10/1 100000 9 9126
Ethernet74 179,180 Eth10/2 100000 9 9126
Ethernet76 181,182 Eth10/3 100000 9 9126
Ethernet78 183,184 Eth10/4 100000 9 9126
Ethernet80 169,170 Eth11/1 100000 10 9126
Ethernet82 171,172 Eth11/2 100000 10 9126
Ethernet84 173,174 Eth11/3 100000 10 9126
Ethernet86 175,176 Eth11/4 100000 10 9126
Ethernet88 161,162 Eth12/1 100000 11 9126
Ethernet90 163,164 Eth12/2 100000 11 9126
Ethernet92 165,166 Eth12/3 100000 11 9126
Ethernet94 167,168 Eth12/4 100000 11 9126
Ethernet96 153,154 Eth13/1 100000 12 9126
Ethernet98 155,156 Eth13/2 100000 12 9126
Ethernet100 157,158 Eth13/3 100000 12 9126
Ethernet102 159,160 Eth13/4 100000 12 9126
Ethernet104 145,146 Eth14/1 100000 13 9126
Ethernet106 147,148 Eth14/2 100000 13 9126
Ethernet108 149,150 Eth14/3 100000 13 9126
Ethernet110 151,152 Eth14/4 100000 13 9126
Ethernet112 137,138 Eth15/1 100000 14 9126
Ethernet114 139,140 Eth15/2 100000 14 9126
Ethernet116 141,142 Eth15/3 100000 14 9126
Ethernet118 143,144 Eth15/4 100000 14 9126
Ethernet120 129,130 Eth16/1 100000 15 9126
Ethernet122 131,132 Eth16/2 100000 15 9126
Ethernet124 133,134 Eth16/3 100000 15 9126
Ethernet126 135,136 Eth16/4 100000 15 9126
Ethernet128 121,122 Eth17/1 100000 16 9126
Ethernet130 123,124 Eth17/2 100000 16 9126
Ethernet132 125,126 Eth17/3 100000 16 9126
Ethernet134 127,128 Eth17/4 100000 16 9126
Ethernet136 113,114 Eth18/1 100000 17 9126
Ethernet138 115,116 Eth18/2 100000 17 9126
Ethernet140 117,118 Eth18/3 100000 17 9126
Ethernet142 119,120 Eth18/4 100000 17 9126
Ethernet144 97,98 Eth19/1 100000 18 9126
Ethernet146 99,100 Eth19/2 100000 18 9126
Ethernet148 101,102 Eth19/3 100000 18 9126
Ethernet150 103,104 Eth19/4 100000 18 9126
Ethernet152 105,106 Eth20/1 100000 19 9126
Ethernet154 107,108 Eth20/2 100000 19 9126
Ethernet156 109,110 Eth20/3 100000 19 9126
Ethernet158 111,112 Eth20/4 100000 19 9126
Ethernet160 81,82 Eth21/1 100000 20 9126
Ethernet162 83,84 Eth21/2 100000 20 9126
Ethernet164 85,86 Eth21/3 100000 20 9126
Ethernet166 87,88 Eth21/4 100000 20 9126
Ethernet168 89,90 Eth22/1 100000 21 9126
Ethernet170 91,92 Eth22/2 100000 21 9126
Ethernet172 93,94 Eth22/3 100000 21 9126
Ethernet174 95,96 Eth22/4 100000 21 9126
Ethernet176 65,66 Eth23/1 100000 22 9126
Ethernet178 67,68 Eth23/2 100000 22 9126
Ethernet180 69,70 Eth23/3 100000 22 9126
Ethernet182 71,72 Eth23/4 100000 22 9126
Ethernet184 73,74 Eth24/1 100000 23 9126
Ethernet186 75,76 Eth24/2 100000 23 9126
Ethernet188 77,78 Eth24/3 100000 23 9126
Ethernet190 79,80 Eth24/4 100000 23 9126
Ethernet192 49,50 Eth25/1 100000 24 9126
Ethernet194 51,52 Eth25/2 100000 24 9126
Ethernet196 53,54 Eth25/3 100000 24 9126
Ethernet198 55,56 Eth25/4 100000 24 9126
Ethernet200 57,58 Eth26/1 100000 25 9126
Ethernet202 59,60 Eth26/2 100000 25 9126
Ethernet204 61,62 Eth26/3 100000 25 9126
Ethernet206 63,64 Eth26/4 100000 25 9126
Ethernet208 33,34 Eth27/1 100000 26 9126
Ethernet210 35,36 Eth27/2 100000 26 9126
Ethernet212 37,38 Eth27/3 100000 26 9126
Ethernet214 39,40 Eth27/4 100000 26 9126
Ethernet216 41,42 Eth28/1 100000 27 9126
Ethernet218 43,44 Eth28/2 100000 27 9126
Ethernet220 45,46 Eth28/3 100000 27 9126
Ethernet222 47,48 Eth28/4 100000 27 9126
Ethernet224 17,18 Eth29/1 100000 28 9126
Ethernet226 19,20 Eth29/2 100000 28 9126
Ethernet228 21,22 Eth29/3 100000 28 9126
Ethernet230 23,24 Eth29/4 100000 28 9126
Ethernet232 25,26 Eth30/1 100000 29 9126
Ethernet234 27,28 Eth30/2 100000 29 9126
Ethernet236 29,30 Eth30/3 100000 29 9126
Ethernet238 31,32 Eth30/4 100000 29 9126
Ethernet240 1,2 Eth31/1 100000 30 9126
Ethernet242 3,4 Eth31/2 100000 30 9126
Ethernet244 5,6 Eth31/3 100000 30 9126
Ethernet246 7,8 Eth31/4 100000 30 9126
Ethernet248 9,10 Eth32/1 100000 31 9126
Ethernet250 11,12 Eth32/2 100000 31 9126
Ethernet252 13,14 Eth32/3 100000 31 9126
Ethernet254 15,16 Eth32/4 100000 31 9126
Ethernet256 257 Aux1 10000 32 9126
Ethernet257 258 Aux2 10000 33 9126

View File

@ -1,6 +1,5 @@
{# Default values which will be used if no actual configura available #} {# Default values which will be used if no actual configura available #}
{% set default_cable = '300m' %} {% set default_cable = '40m' %}
{% set default_ports_num = 128 -%}
{# Port configuration to cable length look-up table #} {# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} {# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
@ -12,44 +11,53 @@
} }
%} %}
{%- macro cable_length(port_name) -%} {%- macro cable_length(port_name) %}
{%- set cable_len = [] -%} {%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR -%} {%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name -%} {%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type -%} {%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %} {%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role -%} {%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower -%} {%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower -%} {%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable -%} {%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) -%}{%- endif -%} {%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable -%} {%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) -%}{%- endif -%} {%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif -%} {%- endif %}
{%- endif -%} {%- endif %}
{%- endif -%} {%- endif %}
{%- endfor -%} {%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%} {%- if cable_len -%}
{{ cable_len.0 }} {{ cable_len.0 }}
{%- else -%} {%- else -%}
{{ default_cable }} {{ default_cable }}
{%- endif -%} {%- endif %}
{% endmacro %} {%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %} {%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} {%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%} {%- endif -%}
{# Generate list of ports if not defined #}
{% if PORT is not defined %}
{% set PORT = [] %}
{% for port_idx in range(0,default_ports_num) %}
{% if PORT.append("Ethernet%d" % (port_idx*2)) %}{% endif %}
{% endfor %}
{% endif -%}
{% set port_names_list = [] %} {% set port_names_list = [] %}
{% for port in PORT %} {% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %} {%- if port_names_list.append(port) %}{% endif %}
@ -57,6 +65,15 @@
{% set port_names = port_names_list | join(',') -%} {% set port_names = port_names_list | join(',') -%}
{ {
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": { "BUFFER_POOL": {
"ingress_lossless_pool": { "ingress_lossless_pool": {
"size": "47218432", "size": "47218432",
@ -64,7 +81,7 @@
"mode": "dynamic", "mode": "dynamic",
"xoff": "17708800" "xoff": "17708800"
}, },
"egress_lossy_pool": { "lossy_pool": {
"size": "18874368", "size": "18874368",
"type": "egress", "type": "egress",
"mode": "dynamic", "mode": "dynamic",
@ -74,46 +91,46 @@
"BUFFER_PROFILE": { "BUFFER_PROFILE": {
"ingress_lossless_profile": { "ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",
"xoff":"1433600", "xoff":"38816",
"size":"1518", "size":"1518",
"dynamic_th":"-4", "dynamic_th":"3",
"xon_offset":"6272" "xon_offset":"13440"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"static_th":"9721600"
}, },
"egress_lossless_profile": { "egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0", "size":"0",
"static_th":"9721600" "static_th":"9497600"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
}, },
"egress_lossy_profile": { "egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]", "pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518", "size":"1518",
"dynamic_th":"3" "dynamic_th":"3"
} }
}, },
"BUFFER_PG": { "BUFFER_PG": {
"{{ port_names }}|0-3": { "{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}, },
"{{ port_names }}|4-5": { "{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
}, },
"{{ port_names }}|6-7": { "{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
} }
}, },
"BUFFER_QUEUE": { "BUFFER_QUEUE": {
"{{ port_names }}|4-5": { "{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
}, },
"{{ port_names }}|0-3": { "{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}, },
"{{ port_names }}|6-7": { "{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
} }
} }

View File

@ -0,0 +1,38 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"BUFFER_POOL": {
"lossy_pool": {
"size": "56985600",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
"BUFFER_PG": {
"{{ port_names }}|0-7": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_QUEUE": {
"{{ port_names }}|0-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}
}
}

View File

@ -0,0 +1,137 @@
{# Default values which will be used if no actual configura available #}
{% set default_cable = '40m' %}
{# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
{# Roles described in the minigraph #}
{% set ports2cable = {
'torrouter_server' : '5m',
'leafrouter_torrouter' : '40m',
'spinerouter_leafrouter' : '300m'
}
%}
{%- macro cable_length(port_name) %}
{%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%}
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "47218432",
"type": "ingress",
"mode": "dynamic",
"xoff": "17708800"
},
"lossy_pool": {
"size": "18874368",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
}
},
"BUFFER_PROFILE": {
"ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"xoff":"38816",
"size":"1518",
"dynamic_th":"3",
"xon_offset":"13440"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"static_th":"9497600"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
"BUFFER_PG": {
"{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
},
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
},
"{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_QUEUE": {
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
},
"{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
},
"{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}
}
}

View File

@ -10,6 +10,8 @@ nodes:
multi_interface: "yes" multi_interface: "yes"
buffer_management_mode: "api_driven" buffer_management_mode: "api_driven"
max_lossless_tc: "2" max_lossless_tc: "2"
ilpm_enable: "1"
forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
txring: txring:
- txring_id: "0" - txring_id: "0"
desc_count: "1024" desc_count: "1024"
@ -952,20 +954,6 @@ nodes:
speed: "100G" speed: "100G"
sysport: "15" sysport: "15"
type: "eth" type: "eth"
- fec: "NONE"
id: "257"
lanes: "0:1"
serdes_group: "32"
speed: "10G"
sysport: "257"
type: "mgmt 0"
- fec: "NONE"
id: "258"
lanes: "1:1"
serdes_group: "32"
speed: "10G"
sysport: "258"
type: "mgmt 1"
isg: isg:
- id: "0" - id: "0"

View File

@ -0,0 +1,9 @@
IFCS_INIT_FILE : "/usr/share/sonic/hwsku/config_128x100G_Delta-et-c032if.yaml"
IFCS_SKU_FILE : "/usr/share/sonic/hwsku/innovium.77700_B"
IFCS_INNO_CLI_PORT : "9999"
IFCS_TARGET : "device"
INNOVIUM_DIR : "/innovium"
PYTHONPATH : "$INNOVIUM_DIR:$INNOVIUM_DIR/cmds:$INNOVIUM_DIR/scripts:$INNOVIUM_DIR/test/:$INNOVIUM_DIR/test/utils:$INNOVIUM_DIR/utils:$INNOVIUM_DIR/pyctypes"
AVG_IPG_RESERVED_SIZE: "1518"
AVG_QUEUE_RESERVED_SIZE: "1518"
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"

View File

@ -0,0 +1,9 @@
ISAI_PARAM_P0_0_LS : "4608 4608 4608 4608 2880 2880"
ISAI_PARAM_P0_1_LS : "2226 1946 1946 1890 1218 1218"
ISAI_PARAM_P0_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_0_LS : "1536 1536 1536 1536 960 960"
ISAI_PARAM_P1_0_LL : "3072 3072 3072 3072 1920 1920"
ISAI_PARAM_P1_1_LS : "1778 1498 1498 1442 938 938"
ISAI_PARAM_P1_1_LL : "2478 2478 2478 2478 2478 2478"
ISAI_PARAM_P1_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_1_ALL : "126 126 126 126 126 126"

View File

@ -0,0 +1,14 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
25000 5m 1518 0 15680 3 13440
50000 5m 1518 0 21152 3 13440
100000 5m 1518 0 34336 3 13440
400000 5m 1518 0 117376 3 13440
25000 40m 1518 0 16800 3 13440
50000 40m 1518 0 23392 3 13440
100000 40m 1518 0 38816 3 13440
400000 40m 1518 0 135296 3 13440
25000 300m 1518 0 25120 3 13440
50000 300m 1518 0 40032 3 13440
100000 300m 1518 0 72096 3 13440
400000 300m 1518 0 268416 3 13440

View File

@ -1,131 +1,129 @@
# name lanes speed index mtu # name lanes alias speed index mtu
Ethernet0 249,250 100000 0 9126 Ethernet0 249,250 Eth1/1 100000 0 9126
Ethernet2 251,252 100000 0 9126 Ethernet2 251,252 Eth1/2 100000 0 9126
Ethernet4 253,254 100000 0 9126 Ethernet4 253,254 Eth1/3 100000 0 9126
Ethernet6 255,256 100000 0 9126 Ethernet6 255,256 Eth1/4 100000 0 9126
Ethernet8 241,242 100000 1 9126 Ethernet8 241,242 Eth2/1 100000 1 9126
Ethernet10 243,244 100000 1 9126 Ethernet10 243,244 Eth2/2 100000 1 9126
Ethernet12 245,246 100000 1 9126 Ethernet12 245,246 Eth2/3 100000 1 9126
Ethernet14 247,248 100000 1 9126 Ethernet14 247,248 Eth2/4 100000 1 9126
Ethernet16 233,234 100000 2 9126 Ethernet16 233,234 Eth3/1 100000 2 9126
Ethernet18 235,236 100000 2 9126 Ethernet18 235,236 Eth3/2 100000 2 9126
Ethernet20 237,238 100000 2 9126 Ethernet20 237,238 Eth3/3 100000 2 9126
Ethernet22 239,240 100000 2 9126 Ethernet22 239,240 Eth3/4 100000 2 9126
Ethernet24 225,226 100000 3 9126 Ethernet24 225,226 Eth4/1 100000 3 9126
Ethernet26 227,228 100000 3 9126 Ethernet26 227,228 Eth4/2 100000 3 9126
Ethernet28 229,230 100000 3 9126 Ethernet28 229,230 Eth4/3 100000 3 9126
Ethernet30 231,232 100000 3 9126 Ethernet30 231,232 Eth4/4 100000 3 9126
Ethernet32 217,218 100000 4 9126 Ethernet32 217,218 Eth5/1 100000 4 9126
Ethernet34 219,220 100000 4 9126 Ethernet34 219,220 Eth5/2 100000 4 9126
Ethernet36 221,222 100000 4 9126 Ethernet36 221,222 Eth5/3 100000 4 9126
Ethernet38 223,224 100000 4 9126 Ethernet38 223,224 Eth5/4 100000 4 9126
Ethernet40 209,210 100000 5 9126 Ethernet40 209,210 Eth6/1 100000 5 9126
Ethernet42 211,212 100000 5 9126 Ethernet42 211,212 Eth6/2 100000 5 9126
Ethernet44 213,214 100000 5 9126 Ethernet44 213,214 Eth6/3 100000 5 9126
Ethernet46 215,216 100000 5 9126 Ethernet46 215,216 Eth6/4 100000 5 9126
Ethernet48 201,202 100000 6 9126 Ethernet48 201,202 Eth7/1 100000 6 9126
Ethernet50 203,204 100000 6 9126 Ethernet50 203,204 Eth7/2 100000 6 9126
Ethernet52 205,206 100000 6 9126 Ethernet52 205,206 Eth7/3 100000 6 9126
Ethernet54 207,208 100000 6 9126 Ethernet54 207,208 Eth7/4 100000 6 9126
Ethernet56 193,194 100000 7 9126 Ethernet56 193,194 Eth8/1 100000 7 9126
Ethernet58 195,196 100000 7 9126 Ethernet58 195,196 Eth8/2 100000 7 9126
Ethernet60 197,198 100000 7 9126 Ethernet60 197,198 Eth8/3 100000 7 9126
Ethernet62 199,200 100000 7 9126 Ethernet62 199,200 Eth8/4 100000 7 9126
Ethernet64 185,186 100000 8 9126 Ethernet64 185,186 Eth9/1 100000 8 9126
Ethernet66 187,188 100000 8 9126 Ethernet66 187,188 Eth9/2 100000 8 9126
Ethernet68 189,190 100000 8 9126 Ethernet68 189,190 Eth9/3 100000 8 9126
Ethernet70 191,192 100000 8 9126 Ethernet70 191,192 Eth9/4 100000 8 9126
Ethernet72 177,178 100000 9 9126 Ethernet72 177,178 Eth10/1 100000 9 9126
Ethernet74 179,180 100000 9 9126 Ethernet74 179,180 Eth10/2 100000 9 9126
Ethernet76 181,182 100000 9 9126 Ethernet76 181,182 Eth10/3 100000 9 9126
Ethernet78 183,184 100000 9 9126 Ethernet78 183,184 Eth10/4 100000 9 9126
Ethernet80 169,170 100000 10 9126 Ethernet80 169,170 Eth11/1 100000 10 9126
Ethernet82 171,172 100000 10 9126 Ethernet82 171,172 Eth11/2 100000 10 9126
Ethernet84 173,174 100000 10 9126 Ethernet84 173,174 Eth11/3 100000 10 9126
Ethernet86 175,176 100000 10 9126 Ethernet86 175,176 Eth11/4 100000 10 9126
Ethernet88 161,162 100000 11 9126 Ethernet88 161,162 Eth12/1 100000 11 9126
Ethernet90 163,164 100000 11 9126 Ethernet90 163,164 Eth12/2 100000 11 9126
Ethernet92 165,166 100000 11 9126 Ethernet92 165,166 Eth12/3 100000 11 9126
Ethernet94 167,168 100000 11 9126 Ethernet94 167,168 Eth12/4 100000 11 9126
Ethernet96 153,154 100000 12 9126 Ethernet96 153,154 Eth13/1 100000 12 9126
Ethernet98 155,156 100000 12 9126 Ethernet98 155,156 Eth13/2 100000 12 9126
Ethernet100 157,158 100000 12 9126 Ethernet100 157,158 Eth13/3 100000 12 9126
Ethernet102 159,160 100000 12 9126 Ethernet102 159,160 Eth13/4 100000 12 9126
Ethernet104 145,146 100000 13 9126 Ethernet104 145,146 Eth14/1 100000 13 9126
Ethernet106 147,148 100000 13 9126 Ethernet106 147,148 Eth14/2 100000 13 9126
Ethernet108 149,150 100000 13 9126 Ethernet108 149,150 Eth14/3 100000 13 9126
Ethernet110 151,152 100000 13 9126 Ethernet110 151,152 Eth14/4 100000 13 9126
Ethernet112 137,138 100000 14 9126 Ethernet112 137,138 Eth15/1 100000 14 9126
Ethernet114 139,140 100000 14 9126 Ethernet114 139,140 Eth15/2 100000 14 9126
Ethernet116 141,142 100000 14 9126 Ethernet116 141,142 Eth15/3 100000 14 9126
Ethernet118 143,144 100000 14 9126 Ethernet118 143,144 Eth15/4 100000 14 9126
Ethernet120 129,130 100000 15 9126 Ethernet120 129,130 Eth16/1 100000 15 9126
Ethernet122 131,132 100000 15 9126 Ethernet122 131,132 Eth16/2 100000 15 9126
Ethernet124 133,134 100000 15 9126 Ethernet124 133,134 Eth16/3 100000 15 9126
Ethernet126 135,136 100000 15 9126 Ethernet126 135,136 Eth16/4 100000 15 9126
Ethernet128 121,122 100000 16 9126 Ethernet128 121,122 Eth17/1 100000 16 9126
Ethernet130 123,124 100000 16 9126 Ethernet130 123,124 Eth17/2 100000 16 9126
Ethernet132 125,126 100000 16 9126 Ethernet132 125,126 Eth17/3 100000 16 9126
Ethernet134 127,128 100000 16 9126 Ethernet134 127,128 Eth17/4 100000 16 9126
Ethernet136 113,114 100000 17 9126 Ethernet136 113,114 Eth18/1 100000 17 9126
Ethernet138 115,116 100000 17 9126 Ethernet138 115,116 Eth18/2 100000 17 9126
Ethernet140 117,118 100000 17 9126 Ethernet140 117,118 Eth18/3 100000 17 9126
Ethernet142 119,120 100000 17 9126 Ethernet142 119,120 Eth18/4 100000 17 9126
Ethernet144 97,98 100000 18 9126 Ethernet144 97,98 Eth19/1 100000 18 9126
Ethernet146 99,100 100000 18 9126 Ethernet146 99,100 Eth19/2 100000 18 9126
Ethernet148 101,102 100000 18 9126 Ethernet148 101,102 Eth19/3 100000 18 9126
Ethernet150 103,104 100000 18 9126 Ethernet150 103,104 Eth19/4 100000 18 9126
Ethernet152 105,106 100000 19 9126 Ethernet152 105,106 Eth20/1 100000 19 9126
Ethernet154 107,108 100000 19 9126 Ethernet154 107,108 Eth20/2 100000 19 9126
Ethernet156 109,110 100000 19 9126 Ethernet156 109,110 Eth20/3 100000 19 9126
Ethernet158 111,112 100000 19 9126 Ethernet158 111,112 Eth20/4 100000 19 9126
Ethernet160 81,82 100000 20 9126 Ethernet160 81,82 Eth21/1 100000 20 9126
Ethernet162 83,84 100000 20 9126 Ethernet162 83,84 Eth21/2 100000 20 9126
Ethernet164 85,86 100000 20 9126 Ethernet164 85,86 Eth21/3 100000 20 9126
Ethernet166 87,88 100000 20 9126 Ethernet166 87,88 Eth21/4 100000 20 9126
Ethernet168 89,90 100000 21 9126 Ethernet168 89,90 Eth22/1 100000 21 9126
Ethernet170 91,92 100000 21 9126 Ethernet170 91,92 Eth22/2 100000 21 9126
Ethernet172 93,94 100000 21 9126 Ethernet172 93,94 Eth22/3 100000 21 9126
Ethernet174 95,96 100000 21 9126 Ethernet174 95,96 Eth22/4 100000 21 9126
Ethernet176 65,66 100000 22 9126 Ethernet176 65,66 Eth23/1 100000 22 9126
Ethernet178 67,68 100000 22 9126 Ethernet178 67,68 Eth23/2 100000 22 9126
Ethernet180 69,70 100000 22 9126 Ethernet180 69,70 Eth23/3 100000 22 9126
Ethernet182 71,72 100000 22 9126 Ethernet182 71,72 Eth23/4 100000 22 9126
Ethernet184 73,74 100000 23 9126 Ethernet184 73,74 Eth24/1 100000 23 9126
Ethernet186 75,76 100000 23 9126 Ethernet186 75,76 Eth24/2 100000 23 9126
Ethernet188 77,78 100000 23 9126 Ethernet188 77,78 Eth24/3 100000 23 9126
Ethernet190 79,80 100000 23 9126 Ethernet190 79,80 Eth24/4 100000 23 9126
Ethernet192 49,50 100000 24 9126 Ethernet192 49,50 Eth25/1 100000 24 9126
Ethernet194 51,52 100000 24 9126 Ethernet194 51,52 Eth25/2 100000 24 9126
Ethernet196 53,54 100000 24 9126 Ethernet196 53,54 Eth25/3 100000 24 9126
Ethernet198 55,56 100000 24 9126 Ethernet198 55,56 Eth25/4 100000 24 9126
Ethernet200 57,58 100000 25 9126 Ethernet200 57,58 Eth26/1 100000 25 9126
Ethernet202 59,60 100000 25 9126 Ethernet202 59,60 Eth26/2 100000 25 9126
Ethernet204 61,62 100000 25 9126 Ethernet204 61,62 Eth26/3 100000 25 9126
Ethernet206 63,64 100000 25 9126 Ethernet206 63,64 Eth26/4 100000 25 9126
Ethernet208 33,34 100000 26 9126 Ethernet208 33,34 Eth27/1 100000 26 9126
Ethernet210 35,36 100000 26 9126 Ethernet210 35,36 Eth27/2 100000 26 9126
Ethernet212 37,38 100000 26 9126 Ethernet212 37,38 Eth27/3 100000 26 9126
Ethernet214 39,40 100000 26 9126 Ethernet214 39,40 Eth27/4 100000 26 9126
Ethernet216 41,42 100000 27 9126 Ethernet216 41,42 Eth28/1 100000 27 9126
Ethernet218 43,44 100000 27 9126 Ethernet218 43,44 Eth28/2 100000 27 9126
Ethernet220 45,46 100000 27 9126 Ethernet220 45,46 Eth28/3 100000 27 9126
Ethernet222 47,48 100000 27 9126 Ethernet222 47,48 Eth28/4 100000 27 9126
Ethernet224 17,18 100000 28 9126 Ethernet224 17,18 Eth29/1 100000 28 9126
Ethernet226 19,20 100000 28 9126 Ethernet226 19,20 Eth29/2 100000 28 9126
Ethernet228 21,22 100000 28 9126 Ethernet228 21,22 Eth29/3 100000 28 9126
Ethernet230 23,24 100000 28 9126 Ethernet230 23,24 Eth29/4 100000 28 9126
Ethernet232 25,26 100000 29 9126 Ethernet232 25,26 Eth30/1 100000 29 9126
Ethernet234 27,28 100000 29 9126 Ethernet234 27,28 Eth30/2 100000 29 9126
Ethernet236 29,30 100000 29 9126 Ethernet236 29,30 Eth30/3 100000 29 9126
Ethernet238 31,32 100000 29 9126 Ethernet238 31,32 Eth30/4 100000 29 9126
Ethernet240 1,2 100000 30 9126 Ethernet240 1,2 Eth31/1 100000 30 9126
Ethernet242 3,4 100000 30 9126 Ethernet242 3,4 Eth31/2 100000 30 9126
Ethernet244 5,6 100000 30 9126 Ethernet244 5,6 Eth31/3 100000 30 9126
Ethernet246 7,8 100000 30 9126 Ethernet246 7,8 Eth31/4 100000 30 9126
Ethernet248 9,10 100000 31 9126 Ethernet248 9,10 Eth32/1 100000 31 9126
Ethernet250 11,12 100000 31 9126 Ethernet250 11,12 Eth32/2 100000 31 9126
Ethernet252 13,14 100000 31 9126 Ethernet252 13,14 Eth32/3 100000 31 9126
Ethernet254 15,16 100000 31 9126 Ethernet254 15,16 Eth32/4 100000 31 9126
Ethernet256 257 10000 32 9126
Ethernet257 258 10000 33 9126

View File

@ -1,14 +1,3 @@
{# Default values which will be used if no actual configura available #}
{% set default_ports_num = 128 -%}
{# Generate list of ports if not defined #}
{% if PORT is not defined %}
{% set PORT = [] %}
{% for port_idx in range(0,default_ports_num) %}
{% if PORT.append("Ethernet%d" % (port_idx*2)) %}{% endif %}
{% endfor %}
{% endif -%}
{% set port_names_list = [] %} {% set port_names_list = [] %}
{% for port in PORT %} {% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %} {%- if port_names_list.append(port) %}{% endif %}
@ -19,24 +8,24 @@
{ {
"TC_TO_QUEUE_MAP":{ "TC_TO_QUEUE_MAP":{
"AZURE":{ "AZURE":{
"1":"1",
"0":"0", "0":"0",
"3":"3", "1":"1",
"2":"2", "2":"2",
"5":"5", "3":"3",
"4":"4", "4":"4",
"7":"7", "5":"5",
"6":"6" "6":"6",
"7":"7"
} }
}, },
"TC_TO_PRIORITY_GROUP_MAP": { "TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": { "AZURE": {
"1": "0",
"0": "0", "0": "0",
"3": "0", "1": "0",
"2": "0", "2": "0",
"4": "1", "3": "1",
"5": "2", "4": "2",
"5": "0",
"6": "0", "6": "0",
"7": "0" "7": "0"
} }
@ -46,9 +35,9 @@
"0":"0", "0":"0",
"1":"0", "1":"0",
"2":"0", "2":"0",
"3":"0", "3":"3",
"4":"4", "4":"4",
"5":"5", "5":"0",
"6":"0", "6":"0",
"7":"0", "7":"0",
"8":"1", "8":"1",
@ -114,7 +103,12 @@
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]", "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]", "tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]", "dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]",
"pfc_enable": "4,5" "pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"red_min_threshold":"50000"
} }
} }
} }

View File

@ -0,0 +1,118 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"TC_TO_QUEUE_MAP":{
"AZURE":{
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7"
}
},
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "1",
"4": "2",
"5": "0",
"6": "0",
"7": "0"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"0",
"4":"0",
"5":"0",
"6":"0",
"7":"0",
"8":"0",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"PORT_QOS_MAP": {
"{{ port_names }}": {
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]"
}
},
"SCHEDULER": {
"scheduler.7": {
"type": "STRICT"
}
},
"QUEUE": {
"{{ port_names }}|7": {
"scheduler": "[SCHEDULER|scheduler.7]"
}
}
}

View File

@ -0,0 +1,114 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"TC_TO_QUEUE_MAP":{
"AZURE":{
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7"
}
},
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "1",
"4": "2",
"5": "0",
"6": "0",
"7": "0"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"3",
"4":"4",
"5":"0",
"6":"0",
"7":"0",
"8":"1",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"PORT_QOS_MAP": {
"{{ port_names }}": {
"tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP:AZURE]",
"tc_to_queue_map": "[TC_TO_QUEUE_MAP:AZURE]",
"dscp_to_tc_map": "[DSCP_TO_TC_MAP:AZURE]",
"pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"red_min_threshold":"50000"
}
}
}

View File

@ -1 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/inno.config.yaml SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/ivm.sai.config.yaml

View File

@ -1,6 +1,5 @@
{# Default values which will be used if no actual configura available #} {# Default values which will be used if no actual configura available #}
{% set default_cable = '300m' %} {% set default_cable = '40m' %}
{% set default_ports_num = 32 -%}
{# Port configuration to cable length look-up table #} {# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} {# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
@ -12,44 +11,53 @@
} }
%} %}
{%- macro cable_length(port_name) -%} {%- macro cable_length(port_name) %}
{%- set cable_len = [] -%} {%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR -%} {%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name -%} {%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type -%} {%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %} {%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role -%} {%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower -%} {%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower -%} {%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable -%} {%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) -%}{%- endif -%} {%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable -%} {%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) -%}{%- endif -%} {%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif -%} {%- endif %}
{%- endif -%} {%- endif %}
{%- endif -%} {%- endif %}
{%- endfor -%} {%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%} {%- if cable_len -%}
{{ cable_len.0 }} {{ cable_len.0 }}
{%- else -%} {%- else -%}
{{ default_cable }} {{ default_cable }}
{%- endif -%} {%- endif %}
{% endmacro %} {%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %} {%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} {%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%} {%- endif -%}
{# Generate list of ports if not defined #}
{% if PORT is not defined %}
{% set PORT = [] %}
{% for port_idx in range(0,default_ports_num) %}
{% if PORT.append("Ethernet%d" % (port_idx*4)) %}{% endif %}
{% endfor %}
{% endif -%}
{% set port_names_list = [] %} {% set port_names_list = [] %}
{% for port in PORT %} {% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %} {%- if port_names_list.append(port) %}{% endif %}
@ -57,6 +65,15 @@
{% set port_names = port_names_list | join(',') -%} {% set port_names = port_names_list | join(',') -%}
{ {
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": { "BUFFER_POOL": {
"ingress_lossless_pool": { "ingress_lossless_pool": {
"size": "47218432", "size": "47218432",
@ -64,7 +81,7 @@
"mode": "dynamic", "mode": "dynamic",
"xoff": "17708800" "xoff": "17708800"
}, },
"egress_lossy_pool": { "lossy_pool": {
"size": "18874368", "size": "18874368",
"type": "egress", "type": "egress",
"mode": "dynamic", "mode": "dynamic",
@ -74,46 +91,46 @@
"BUFFER_PROFILE": { "BUFFER_PROFILE": {
"ingress_lossless_profile": { "ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",
"xoff":"1433600", "xoff":"38816",
"size":"1518", "size":"1518",
"dynamic_th":"-4", "dynamic_th":"3",
"xon_offset":"6272" "xon_offset":"13440"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"static_th":"9721600"
}, },
"egress_lossless_profile": { "egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]", "pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0", "size":"0",
"static_th":"9721600" "static_th":"9497600"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
}, },
"egress_lossy_profile": { "egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]", "pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518", "size":"1518",
"dynamic_th":"3" "dynamic_th":"3"
} }
}, },
"BUFFER_PG": { "BUFFER_PG": {
"{{ port_names }}|0-3": { "{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}, },
"{{ port_names }}|4-5": { "{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
}, },
"{{ port_names }}|6-7": { "{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
} }
}, },
"BUFFER_QUEUE": { "BUFFER_QUEUE": {
"{{ port_names }}|4-5": { "{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
}, },
"{{ port_names }}|0-3": { "{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}, },
"{{ port_names }}|6-7": { "{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]" "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
} }
} }

View File

@ -0,0 +1,38 @@
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"BUFFER_POOL": {
"lossy_pool": {
"size": "56985600",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
"BUFFER_PG": {
"{{ port_names }}|0-7": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_QUEUE": {
"{{ port_names }}|0-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}
}
}

View File

@ -0,0 +1,137 @@
{# Default values which will be used if no actual configura available #}
{% set default_cable = '40m' %}
{# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
{# Roles described in the minigraph #}
{% set ports2cable = {
'torrouter_server' : '5m',
'leafrouter_torrouter' : '40m',
'spinerouter_leafrouter' : '300m'
}
%}
{%- macro cable_length(port_name) %}
{%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%}
{% set port_names_list = [] %}
{% for port in PORT %}
{%- if port_names_list.append(port) %}{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "47218432",
"type": "ingress",
"mode": "dynamic",
"xoff": "17708800"
},
"lossy_pool": {
"size": "18874368",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
}
},
"BUFFER_PROFILE": {
"ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"xoff":"38816",
"size":"1518",
"dynamic_th":"3",
"xon_offset":"13440"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"static_th":"9497600"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"9497600"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
"BUFFER_PG": {
"{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
},
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
},
"{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_QUEUE": {
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
},
"{{ port_names }}|0-2": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
},
"{{ port_names }}|5-7": {
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
}
}
}

View File

@ -10,6 +10,8 @@ nodes:
multi_interface: "yes" multi_interface: "yes"
buffer_management_mode: "api_driven" buffer_management_mode: "api_driven"
max_lossless_tc: "2" max_lossless_tc: "2"
ilpm_enable: "1"
forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
txring: txring:
- txring_id: "0" - txring_id: "0"
desc_count: "1024" desc_count: "1024"

View File

@ -0,0 +1,9 @@
IFCS_INIT_FILE : "/usr/share/sonic/hwsku/config_32x100G_Delta-et-c032if.yaml"
IFCS_SKU_FILE : "/usr/share/sonic/hwsku/innovium.77700_B"
IFCS_INNO_CLI_PORT : "9999"
IFCS_TARGET : "device"
INNOVIUM_DIR : "/innovium"
PYTHONPATH : "$INNOVIUM_DIR:$INNOVIUM_DIR/cmds:$INNOVIUM_DIR/scripts:$INNOVIUM_DIR/test/:$INNOVIUM_DIR/test/utils:$INNOVIUM_DIR/utils:$INNOVIUM_DIR/pyctypes"
AVG_IPG_RESERVED_SIZE: "1518"
AVG_QUEUE_RESERVED_SIZE: "1518"
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"

Some files were not shown because too many files have changed in this diff Show More