[innovium] Update 202111 Innovium platforms (#10760)
Co-authored-by: Tony Titus <ttitus@innovium.com> Why I did it Update 202111 Innovium platform support How to verify it Build and PTF test
This commit is contained in:
parent
70e9fc3166
commit
6ab339482f
@ -1,6 +1,5 @@
|
||||
{# Default values which will be used if no actual configura available #}
|
||||
{% set default_cable = '300m' %}
|
||||
{% set default_ports_num = 64 -%}
|
||||
{% 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 #}
|
||||
@ -12,44 +11,53 @@
|
||||
}
|
||||
%}
|
||||
|
||||
{%- macro cable_length(port_name) -%}
|
||||
{%- set cable_len = [] -%}
|
||||
{%- for local_port in DEVICE_NEIGHBOR -%}
|
||||
{%- if local_port == port_name -%}
|
||||
{%- if DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%}
|
||||
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%}
|
||||
{%- set neighbor_role = neighbor.type -%}
|
||||
{%- 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 -%}
|
||||
{%- 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 -%}
|
||||
{{ default_cable }}
|
||||
{%- endif -%}
|
||||
{% endmacro %}
|
||||
{%- 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 -%}
|
||||
|
||||
{# 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 = [] %}
|
||||
{% for port in PORT %}
|
||||
{%- if port_names_list.append(port) %}{% endif %}
|
||||
@ -57,6 +65,15 @@
|
||||
{% 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",
|
||||
@ -64,57 +81,81 @@
|
||||
"mode": "dynamic",
|
||||
"xoff": "17708800"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"lossy_pool": {
|
||||
"size": "18874368",
|
||||
"type": "egress",
|
||||
"mode": "dynamic",
|
||||
"xoff": "0"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "66092800",
|
||||
"type": "egress"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossless_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"xoff":"1433600",
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"xoff":"38816",
|
||||
"size":"1518",
|
||||
"dynamic_th":"-4",
|
||||
"xon_offset":"6272"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"size":"0",
|
||||
"static_th":"9721600"
|
||||
"dynamic_th":"1",
|
||||
"xon_offset":"9408"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"egress_lossy_pool",
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"static_th":"9721600"
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|lossy_pool]",
|
||||
"size":"0",
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"egress_lossy_pool",
|
||||
"pool":"[BUFFER_POOL|lossy_pool]",
|
||||
"size":"1518",
|
||||
"dynamic_th":"3"
|
||||
"dynamic_th":"2"
|
||||
}
|
||||
},
|
||||
"BUFFER_PG": {
|
||||
"{{ port_names }}|0-3": {
|
||||
"profile" : "egress_lossless_profile"
|
||||
},
|
||||
"{{ port_names }}|4-5": {
|
||||
"profile" : "ingress_lossless_profile"
|
||||
},
|
||||
"{{ port_names }}|6-7": {
|
||||
"profile" : "egress_lossless_profile"
|
||||
}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|1-2": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
|
||||
"BUFFER_QUEUE": {
|
||||
"{{ port_names }}|4-5": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
|
||||
},
|
||||
"{{ port_names }}|0-3": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-2": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
},
|
||||
"{{ port_names }}|6-7": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
}
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,42 @@
|
||||
{% 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":"2"
|
||||
}
|
||||
},
|
||||
"BUFFER_PG": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-7": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
},
|
||||
"BUFFER_QUEUE": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-7": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
@ -0,0 +1,161 @@
|
||||
{# 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"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "66092800",
|
||||
"type": "egress"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossless_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"xoff":"38816",
|
||||
"size":"1518",
|
||||
"dynamic_th":"1",
|
||||
"xon_offset":"9408"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"size":"0",
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"lossy_pool",
|
||||
"size":"0",
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"lossy_pool",
|
||||
"size":"1518",
|
||||
"dynamic_th":"2"
|
||||
}
|
||||
},
|
||||
"BUFFER_PG": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "ingress_lossless_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|1-2": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
|
||||
"BUFFER_QUEUE": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "egress_lossless_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-2": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
@ -4,12 +4,20 @@ ifcs:
|
||||
nodes:
|
||||
- node_id: "0"
|
||||
options:
|
||||
sd_low_power_mode_global_default: "true"
|
||||
sku: "innovium.77700_B"
|
||||
netdev:
|
||||
- auto_create: "no"
|
||||
multi_interface: "yes"
|
||||
buffer_management_mode: "api_driven"
|
||||
wred_cr_ip_proto_list: "17"
|
||||
cr_assignment_mode: "1"
|
||||
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_id: "0"
|
||||
desc_count: "1024"
|
||||
@ -57,452 +65,452 @@ nodes:
|
||||
sysport: "128"
|
||||
type: "cpu"
|
||||
- fec: "KRFEC"
|
||||
id: "1"
|
||||
id: "249"
|
||||
lanes: "0:4"
|
||||
serdes_group: "31"
|
||||
speed: "100G"
|
||||
sysport: "1"
|
||||
sysport: "249"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "2"
|
||||
id: "253"
|
||||
lanes: "4:4"
|
||||
serdes_group: "31"
|
||||
speed: "100G"
|
||||
sysport: "2"
|
||||
sysport: "253"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "3"
|
||||
id: "245"
|
||||
lanes: "4:4"
|
||||
serdes_group: "30"
|
||||
speed: "100G"
|
||||
sysport: "3"
|
||||
sysport: "245"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "4"
|
||||
id: "241"
|
||||
lanes: "0:4"
|
||||
serdes_group: "30"
|
||||
speed: "100G"
|
||||
sysport: "4"
|
||||
sysport: "241"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "5"
|
||||
id: "233"
|
||||
lanes: "0:4"
|
||||
serdes_group: "29"
|
||||
speed: "100G"
|
||||
sysport: "5"
|
||||
sysport: "233"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "6"
|
||||
id: "237"
|
||||
lanes: "4:4"
|
||||
serdes_group: "29"
|
||||
speed: "100G"
|
||||
sysport: "6"
|
||||
sysport: "237"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "7"
|
||||
id: "229"
|
||||
lanes: "4:4"
|
||||
serdes_group: "28"
|
||||
speed: "100G"
|
||||
sysport: "7"
|
||||
sysport: "229"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "8"
|
||||
id: "225"
|
||||
lanes: "0:4"
|
||||
serdes_group: "28"
|
||||
speed: "100G"
|
||||
sysport: "8"
|
||||
sysport: "225"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "9"
|
||||
id: "217"
|
||||
lanes: "0:4"
|
||||
serdes_group: "27"
|
||||
speed: "100G"
|
||||
sysport: "9"
|
||||
sysport: "217"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "10"
|
||||
id: "221"
|
||||
lanes: "4:4"
|
||||
serdes_group: "27"
|
||||
speed: "100G"
|
||||
sysport: "10"
|
||||
sysport: "221"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "11"
|
||||
id: "213"
|
||||
lanes: "4:4"
|
||||
serdes_group: "26"
|
||||
speed: "100G"
|
||||
sysport: "11"
|
||||
sysport: "213"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "12"
|
||||
id: "209"
|
||||
lanes: "0:4"
|
||||
serdes_group: "26"
|
||||
speed: "100G"
|
||||
sysport: "12"
|
||||
sysport: "209"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "13"
|
||||
id: "201"
|
||||
lanes: "0:4"
|
||||
serdes_group: "25"
|
||||
speed: "100G"
|
||||
sysport: "13"
|
||||
sysport: "201"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "14"
|
||||
id: "205"
|
||||
lanes: "4:4"
|
||||
serdes_group: "25"
|
||||
speed: "100G"
|
||||
sysport: "14"
|
||||
sysport: "205"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "15"
|
||||
id: "197"
|
||||
lanes: "4:4"
|
||||
serdes_group: "24"
|
||||
speed: "100G"
|
||||
sysport: "15"
|
||||
sysport: "197"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "16"
|
||||
id: "193"
|
||||
lanes: "0:4"
|
||||
serdes_group: "24"
|
||||
speed: "100G"
|
||||
sysport: "16"
|
||||
sysport: "193"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "17"
|
||||
id: "185"
|
||||
lanes: "0:4"
|
||||
serdes_group: "23"
|
||||
speed: "100G"
|
||||
sysport: "17"
|
||||
sysport: "185"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "18"
|
||||
id: "189"
|
||||
lanes: "4:4"
|
||||
serdes_group: "23"
|
||||
speed: "100G"
|
||||
sysport: "18"
|
||||
sysport: "189"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "19"
|
||||
id: "181"
|
||||
lanes: "4:4"
|
||||
serdes_group: "22"
|
||||
speed: "100G"
|
||||
sysport: "19"
|
||||
sysport: "181"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "20"
|
||||
id: "177"
|
||||
lanes: "0:4"
|
||||
serdes_group: "22"
|
||||
speed: "100G"
|
||||
sysport: "20"
|
||||
sysport: "177"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "21"
|
||||
id: "169"
|
||||
lanes: "0:4"
|
||||
serdes_group: "21"
|
||||
speed: "100G"
|
||||
sysport: "21"
|
||||
sysport: "169"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "22"
|
||||
id: "173"
|
||||
lanes: "4:4"
|
||||
serdes_group: "21"
|
||||
speed: "100G"
|
||||
sysport: "22"
|
||||
sysport: "173"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "23"
|
||||
id: "165"
|
||||
lanes: "4:4"
|
||||
serdes_group: "20"
|
||||
speed: "100G"
|
||||
sysport: "23"
|
||||
sysport: "165"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "24"
|
||||
id: "161"
|
||||
lanes: "0:4"
|
||||
serdes_group: "20"
|
||||
speed: "100G"
|
||||
sysport: "24"
|
||||
sysport: "161"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "25"
|
||||
id: "153"
|
||||
lanes: "0:4"
|
||||
serdes_group: "19"
|
||||
speed: "100G"
|
||||
sysport: "25"
|
||||
sysport: "153"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "26"
|
||||
id: "157"
|
||||
lanes: "4:4"
|
||||
serdes_group: "19"
|
||||
speed: "100G"
|
||||
sysport: "26"
|
||||
sysport: "157"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "27"
|
||||
id: "149"
|
||||
lanes: "4:4"
|
||||
serdes_group: "18"
|
||||
speed: "100G"
|
||||
sysport: "27"
|
||||
sysport: "149"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "28"
|
||||
id: "145"
|
||||
lanes: "0:4"
|
||||
serdes_group: "18"
|
||||
speed: "100G"
|
||||
sysport: "28"
|
||||
sysport: "145"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "29"
|
||||
id: "137"
|
||||
lanes: "0:4"
|
||||
serdes_group: "17"
|
||||
speed: "100G"
|
||||
sysport: "29"
|
||||
sysport: "137"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "30"
|
||||
id: "141"
|
||||
lanes: "4:4"
|
||||
serdes_group: "17"
|
||||
speed: "100G"
|
||||
sysport: "30"
|
||||
sysport: "141"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "31"
|
||||
id: "133"
|
||||
lanes: "4:4"
|
||||
serdes_group: "16"
|
||||
speed: "100G"
|
||||
sysport: "31"
|
||||
sysport: "133"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "32"
|
||||
id: "129"
|
||||
lanes: "0:4"
|
||||
serdes_group: "16"
|
||||
speed: "100G"
|
||||
sysport: "32"
|
||||
sysport: "129"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "33"
|
||||
id: "121"
|
||||
lanes: "0:4"
|
||||
serdes_group: "15"
|
||||
speed: "100G"
|
||||
sysport: "33"
|
||||
sysport: "121"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "34"
|
||||
id: "125"
|
||||
lanes: "4:4"
|
||||
serdes_group: "15"
|
||||
speed: "100G"
|
||||
sysport: "34"
|
||||
sysport: "125"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "35"
|
||||
id: "117"
|
||||
lanes: "4:4"
|
||||
serdes_group: "14"
|
||||
speed: "100G"
|
||||
sysport: "35"
|
||||
sysport: "117"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "36"
|
||||
id: "113"
|
||||
lanes: "0:4"
|
||||
serdes_group: "14"
|
||||
speed: "100G"
|
||||
sysport: "36"
|
||||
sysport: "113"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "37"
|
||||
id: "105"
|
||||
lanes: "0:4"
|
||||
serdes_group: "13"
|
||||
speed: "100G"
|
||||
sysport: "37"
|
||||
sysport: "105"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "38"
|
||||
id: "109"
|
||||
lanes: "4:4"
|
||||
serdes_group: "13"
|
||||
speed: "100G"
|
||||
sysport: "38"
|
||||
sysport: "109"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "39"
|
||||
id: "101"
|
||||
lanes: "4:4"
|
||||
serdes_group: "12"
|
||||
speed: "100G"
|
||||
sysport: "39"
|
||||
sysport: "101"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "40"
|
||||
id: "97"
|
||||
lanes: "0:4"
|
||||
serdes_group: "12"
|
||||
speed: "100G"
|
||||
sysport: "40"
|
||||
sysport: "97"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "41"
|
||||
id: "89"
|
||||
lanes: "0:4"
|
||||
serdes_group: "11"
|
||||
speed: "100G"
|
||||
sysport: "41"
|
||||
sysport: "89"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "42"
|
||||
id: "93"
|
||||
lanes: "4:4"
|
||||
serdes_group: "11"
|
||||
speed: "100G"
|
||||
sysport: "42"
|
||||
sysport: "93"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "43"
|
||||
id: "85"
|
||||
lanes: "4:4"
|
||||
serdes_group: "10"
|
||||
speed: "100G"
|
||||
sysport: "43"
|
||||
sysport: "85"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "44"
|
||||
id: "81"
|
||||
lanes: "0:4"
|
||||
serdes_group: "10"
|
||||
speed: "100G"
|
||||
sysport: "44"
|
||||
sysport: "81"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "45"
|
||||
id: "73"
|
||||
lanes: "0:4"
|
||||
serdes_group: "9"
|
||||
speed: "100G"
|
||||
sysport: "45"
|
||||
sysport: "73"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "46"
|
||||
id: "77"
|
||||
lanes: "4:4"
|
||||
serdes_group: "9"
|
||||
speed: "100G"
|
||||
sysport: "46"
|
||||
sysport: "77"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "47"
|
||||
id: "69"
|
||||
lanes: "4:4"
|
||||
serdes_group: "8"
|
||||
speed: "100G"
|
||||
sysport: "47"
|
||||
sysport: "69"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "48"
|
||||
id: "65"
|
||||
lanes: "0:4"
|
||||
serdes_group: "8"
|
||||
speed: "100G"
|
||||
sysport: "48"
|
||||
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"
|
||||
sysport: "65"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "57"
|
||||
lanes: "0:4"
|
||||
serdes_group: "3"
|
||||
serdes_group: "7"
|
||||
speed: "100G"
|
||||
sysport: "57"
|
||||
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"
|
||||
id: "61"
|
||||
lanes: "0:4"
|
||||
serdes_group: "1"
|
||||
lanes: "4:4"
|
||||
serdes_group: "7"
|
||||
speed: "100G"
|
||||
sysport: "61"
|
||||
type: "eth"
|
||||
- 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"
|
||||
serdes_group: "1"
|
||||
speed: "100G"
|
||||
sysport: "62"
|
||||
sysport: "13"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "63"
|
||||
id: "5"
|
||||
lanes: "4:4"
|
||||
serdes_group: "0"
|
||||
speed: "100G"
|
||||
sysport: "63"
|
||||
sysport: "5"
|
||||
type: "eth"
|
||||
- fec: "KRFEC"
|
||||
id: "64"
|
||||
id: "1"
|
||||
lanes: "0:4"
|
||||
serdes_group: "0"
|
||||
speed: "100G"
|
||||
sysport: "64"
|
||||
sysport: "1"
|
||||
type: "eth"
|
||||
isg:
|
||||
- id: "0"
|
||||
|
@ -5,6 +5,7 @@ device_id: 0x1b58
|
||||
# Hardware constraint information
|
||||
hardware:
|
||||
num_ibs: 6
|
||||
ib_active: 0,1,2,3,4,5
|
||||
|
||||
ports_per_ib: 32, 32, 32, 32, 20, 20
|
||||
recirc_port_num: 32, 32, 32, 32, 32, 32
|
||||
|
@ -0,0 +1,8 @@
|
||||
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:$INNOVIUM_DIR/ifcs_cmds:$INNOVIUM_DIR/testutil"
|
||||
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"
|
||||
IVM_SAI_PARAM_A0008: "32"
|
@ -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"
|
@ -0,0 +1,22 @@
|
||||
# PG lossless profiles.
|
||||
# speed cable size xon xoff threshold xon_offset
|
||||
25000 5m 1518 0 15680 1 9408
|
||||
50000 5m 1518 0 21248 1 9408
|
||||
100000 5m 1518 0 34624 1 9408
|
||||
200000 5m 1518 0 62368 1 9408
|
||||
400000 5m 1518 0 117536 1 9408
|
||||
25000 40m 1518 0 16928 1 9408
|
||||
50000 40m 1518 0 23392 1 9408
|
||||
100000 40m 1518 0 38816 1 9408
|
||||
200000 40m 1518 0 71904 1 9408
|
||||
400000 40m 1518 0 135520 1 9408
|
||||
25000 100m 1518 0 18848 1 9408
|
||||
50000 100m 1518 0 27264 1 9408
|
||||
100000 100m 1518 0 46496 1 9408
|
||||
200000 100m 1518 0 87168 1 9408
|
||||
400000 100m 1518 0 166688 1 9408
|
||||
25000 300m 1518 0 25184 1 9408
|
||||
50000 300m 1518 0 40128 1 9408
|
||||
100000 300m 1518 0 72384 1 9408
|
||||
200000 300m 1518 0 138112 1 9408
|
||||
400000 300m 1518 0 268640 1 9408
|
@ -1,65 +1,65 @@
|
||||
# name lanes speed index mtu
|
||||
Ethernet0 249,250,251,252 100000 1 9126
|
||||
Ethernet4 253,254,255,256 100000 2 9126
|
||||
Ethernet8 245,246,247,248 100000 3 9126
|
||||
Ethernet12 241,242,243,244 100000 4 9126
|
||||
Ethernet16 233,234,235,236 100000 5 9126
|
||||
Ethernet20 237,238,239,240 100000 6 9126
|
||||
Ethernet24 229,230,231,232 100000 7 9126
|
||||
Ethernet28 225,226,227,228 100000 8 9126
|
||||
Ethernet32 217,218,219,220 100000 9 9126
|
||||
Ethernet36 221,222,223,224 100000 10 9126
|
||||
Ethernet40 213,214,215,216 100000 11 9126
|
||||
Ethernet44 209,210,211,212 100000 12 9126
|
||||
Ethernet48 201,202,203,204 100000 13 9126
|
||||
Ethernet52 205,206,207,208 100000 14 9126
|
||||
Ethernet56 197,198,199,200 100000 15 9126
|
||||
Ethernet60 193,194,195,196 100000 16 9126
|
||||
Ethernet64 185,186,187,188 100000 17 9126
|
||||
Ethernet68 189,190,191,192 100000 18 9126
|
||||
Ethernet72 181,182,183,184 100000 19 9126
|
||||
Ethernet76 177,178,179,180 100000 20 9126
|
||||
Ethernet80 169,170,171,172 100000 21 9126
|
||||
Ethernet84 173,174,175,176 100000 22 9126
|
||||
Ethernet88 165,166,167,168 100000 23 9126
|
||||
Ethernet92 161,162,163,164 100000 24 9126
|
||||
Ethernet96 153,154,155,156 100000 25 9126
|
||||
Ethernet100 157,158,159,160 100000 26 9126
|
||||
Ethernet104 149,150,151,152 100000 27 9126
|
||||
Ethernet108 145,146,147,148 100000 28 9126
|
||||
Ethernet112 137,138,139,140 100000 29 9126
|
||||
Ethernet116 141,142,143,144 100000 30 9126
|
||||
Ethernet120 133,134,135,136 100000 31 9126
|
||||
Ethernet124 129,130,131,132 100000 32 9126
|
||||
Ethernet128 121,122,123,124 100000 33 9126
|
||||
Ethernet132 125,126,127,128 100000 34 9126
|
||||
Ethernet136 117,118,119,120 100000 35 9126
|
||||
Ethernet140 113,114,115,116 100000 36 9126
|
||||
Ethernet144 105,106,107,108 100000 37 9126
|
||||
Ethernet148 109,110,111,112 100000 38 9126
|
||||
Ethernet152 101,102,103,104 100000 39 9126
|
||||
Ethernet156 97,98,99,100 100000 40 9126
|
||||
Ethernet160 89,90,91,92 100000 41 9126
|
||||
Ethernet164 93,94,95,96 100000 42 9126
|
||||
Ethernet168 85,86,87,88 100000 43 9126
|
||||
Ethernet172 81,82,83,84 100000 44 9126
|
||||
Ethernet176 73,74,75,76 100000 45 9126
|
||||
Ethernet180 77,78,79,80 100000 46 9126
|
||||
Ethernet184 69,70,71,72 100000 47 9126
|
||||
Ethernet188 65,66,67,68 100000 48 9126
|
||||
Ethernet192 57,58,59,60 100000 49 9126
|
||||
Ethernet196 61,62,63,64 100000 50 9126
|
||||
Ethernet200 53,54,55,56 100000 51 9126
|
||||
Ethernet204 49,50,51,52 100000 52 9126
|
||||
Ethernet208 41,42,43,44 100000 53 9126
|
||||
Ethernet212 45,46,47,48 100000 54 9126
|
||||
Ethernet216 37,38,39,40 100000 55 9126
|
||||
Ethernet220 33,34,35,36 100000 56 9126
|
||||
Ethernet224 25,26,27,28 100000 57 9126
|
||||
Ethernet228 29,30,31,32 100000 58 9126
|
||||
Ethernet232 21,22,23,24 100000 59 9126
|
||||
Ethernet236 17,18,19,20 100000 60 9126
|
||||
Ethernet240 9,10,11,12 100000 61 9126
|
||||
Ethernet244 13,14,15,16 100000 62 9126
|
||||
Ethernet248 5,6,7,8 100000 63 9126
|
||||
Ethernet252 1,2,3,4 100000 64 9126
|
||||
Ethernet0 249,250,251,252 100000 0 9126
|
||||
Ethernet4 253,254,255,256 100000 1 9126
|
||||
Ethernet8 245,246,247,248 100000 2 9126
|
||||
Ethernet12 241,242,243,244 100000 3 9126
|
||||
Ethernet16 233,234,235,236 100000 4 9126
|
||||
Ethernet20 237,238,239,240 100000 5 9126
|
||||
Ethernet24 229,230,231,232 100000 6 9126
|
||||
Ethernet28 225,226,227,228 100000 7 9126
|
||||
Ethernet32 217,218,219,220 100000 8 9126
|
||||
Ethernet36 221,222,223,224 100000 9 9126
|
||||
Ethernet40 213,214,215,216 100000 10 9126
|
||||
Ethernet44 209,210,211,212 100000 11 9126
|
||||
Ethernet48 201,202,203,204 100000 12 9126
|
||||
Ethernet52 205,206,207,208 100000 13 9126
|
||||
Ethernet56 197,198,199,200 100000 14 9126
|
||||
Ethernet60 193,194,195,196 100000 15 9126
|
||||
Ethernet64 185,186,187,188 100000 16 9126
|
||||
Ethernet68 189,190,191,192 100000 17 9126
|
||||
Ethernet72 181,182,183,184 100000 18 9126
|
||||
Ethernet76 177,178,179,180 100000 19 9126
|
||||
Ethernet80 169,170,171,172 100000 20 9126
|
||||
Ethernet84 173,174,175,176 100000 21 9126
|
||||
Ethernet88 165,166,167,168 100000 22 9126
|
||||
Ethernet92 161,162,163,164 100000 23 9126
|
||||
Ethernet96 153,154,155,156 100000 24 9126
|
||||
Ethernet100 157,158,159,160 100000 25 9126
|
||||
Ethernet104 149,150,151,152 100000 26 9126
|
||||
Ethernet108 145,146,147,148 100000 27 9126
|
||||
Ethernet112 137,138,139,140 100000 28 9126
|
||||
Ethernet116 141,142,143,144 100000 29 9126
|
||||
Ethernet120 133,134,135,136 100000 30 9126
|
||||
Ethernet124 129,130,131,132 100000 31 9126
|
||||
Ethernet128 121,122,123,124 100000 32 9126
|
||||
Ethernet132 125,126,127,128 100000 33 9126
|
||||
Ethernet136 117,118,119,120 100000 34 9126
|
||||
Ethernet140 113,114,115,116 100000 35 9126
|
||||
Ethernet144 105,106,107,108 100000 36 9126
|
||||
Ethernet148 109,110,111,112 100000 37 9126
|
||||
Ethernet152 101,102,103,104 100000 38 9126
|
||||
Ethernet156 97,98,99,100 100000 39 9126
|
||||
Ethernet160 89,90,91,92 100000 40 9126
|
||||
Ethernet164 93,94,95,96 100000 41 9126
|
||||
Ethernet168 85,86,87,88 100000 42 9126
|
||||
Ethernet172 81,82,83,84 100000 43 9126
|
||||
Ethernet176 73,74,75,76 100000 44 9126
|
||||
Ethernet180 77,78,79,80 100000 45 9126
|
||||
Ethernet184 69,70,71,72 100000 46 9126
|
||||
Ethernet188 65,66,67,68 100000 47 9126
|
||||
Ethernet192 57,58,59,60 100000 48 9126
|
||||
Ethernet196 61,62,63,64 100000 49 9126
|
||||
Ethernet200 53,54,55,56 100000 50 9126
|
||||
Ethernet204 49,50,51,52 100000 51 9126
|
||||
Ethernet208 41,42,43,44 100000 52 9126
|
||||
Ethernet212 45,46,47,48 100000 53 9126
|
||||
Ethernet216 37,38,39,40 100000 54 9126
|
||||
Ethernet220 33,34,35,36 100000 55 9126
|
||||
Ethernet224 25,26,27,28 100000 56 9126
|
||||
Ethernet228 29,30,31,32 100000 57 9126
|
||||
Ethernet232 21,22,23,24 100000 58 9126
|
||||
Ethernet236 17,18,19,20 100000 59 9126
|
||||
Ethernet240 9,10,11,12 100000 60 9126
|
||||
Ethernet244 13,14,15,16 100000 61 9126
|
||||
Ethernet248 5,6,7,8 100000 62 9126
|
||||
Ethernet252 1,2,3,4 100000 63 9126
|
||||
|
@ -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 = [] %}
|
||||
{% for port in PORT %}
|
||||
{%- if port_names_list.append(port) %}{% endif %}
|
||||
@ -19,102 +8,122 @@
|
||||
{
|
||||
"TC_TO_QUEUE_MAP":{
|
||||
"AZURE":{
|
||||
"1":"1",
|
||||
"0":"0",
|
||||
"3":"3",
|
||||
"1":"1",
|
||||
"2":"2",
|
||||
"5":"5",
|
||||
"3":"3",
|
||||
"4":"4",
|
||||
"7":"7",
|
||||
"6":"6"
|
||||
"5":"5",
|
||||
"6":"6",
|
||||
"7":"7"
|
||||
}
|
||||
},
|
||||
"TC_TO_PRIORITY_GROUP_MAP": {
|
||||
"AZURE": {
|
||||
"1": "0",
|
||||
"0": "0",
|
||||
"3": "0",
|
||||
"1": "0",
|
||||
"2": "0",
|
||||
"4": "1",
|
||||
"5": "2",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "0",
|
||||
"6": "0",
|
||||
"7": "0"
|
||||
}
|
||||
},
|
||||
"DSCP_TO_TC_MAP": {
|
||||
"AZURE": {
|
||||
"0":"0",
|
||||
"1":"0",
|
||||
"2":"0",
|
||||
"3":"0",
|
||||
"4":"4",
|
||||
"5":"5",
|
||||
"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"
|
||||
"0" : "1",
|
||||
"1" : "1",
|
||||
"2" : "1",
|
||||
"3" : "3",
|
||||
"4" : "4",
|
||||
"5" : "2",
|
||||
"6" : "1",
|
||||
"7" : "1",
|
||||
"8" : "0",
|
||||
"9" : "1",
|
||||
"10": "1",
|
||||
"11": "1",
|
||||
"12": "1",
|
||||
"13": "1",
|
||||
"14": "1",
|
||||
"15": "1",
|
||||
"16": "1",
|
||||
"17": "1",
|
||||
"18": "1",
|
||||
"19": "1",
|
||||
"20": "1",
|
||||
"21": "1",
|
||||
"22": "1",
|
||||
"23": "1",
|
||||
"24": "1",
|
||||
"25": "1",
|
||||
"26": "1",
|
||||
"27": "1",
|
||||
"28": "1",
|
||||
"29": "1",
|
||||
"30": "1",
|
||||
"31": "1",
|
||||
"32": "1",
|
||||
"33": "1",
|
||||
"34": "1",
|
||||
"35": "1",
|
||||
"36": "1",
|
||||
"37": "1",
|
||||
"38": "1",
|
||||
"39": "1",
|
||||
"40": "1",
|
||||
"41": "1",
|
||||
"42": "1",
|
||||
"43": "1",
|
||||
"44": "1",
|
||||
"45": "1",
|
||||
"46": "5",
|
||||
"47": "1",
|
||||
"48": "6",
|
||||
"49": "1",
|
||||
"50": "1",
|
||||
"51": "1",
|
||||
"52": "1",
|
||||
"53": "1",
|
||||
"54": "1",
|
||||
"55": "1",
|
||||
"56": "1",
|
||||
"57": "1",
|
||||
"58": "1",
|
||||
"59": "1",
|
||||
"60": "1",
|
||||
"61": "1",
|
||||
"62": "1",
|
||||
"63": "1"
|
||||
}
|
||||
},
|
||||
"PORT_QOS_MAP": {
|
||||
"{{ port_names }}": {
|
||||
"tc_to_pg_map": "AZURE",
|
||||
"tc_to_queue_map": "AZURE",
|
||||
"dscp_to_tc_map": "AZURE",
|
||||
"pfc_enable": "4,5"
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}": {
|
||||
"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"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"WRED_PROFILE": {
|
||||
"AZURE_LOSSLESS" : {
|
||||
"wred_green_enable" : "true",
|
||||
"wred_yellow_enable" : "true",
|
||||
"wred_red_enable" : "true",
|
||||
"ecn" : "ecn_all",
|
||||
"green_max_threshold" : "2097152",
|
||||
"green_min_threshold" : "1048576",
|
||||
"yellow_max_threshold" : "2097152",
|
||||
"yellow_min_threshold" : "1048576",
|
||||
"red_max_threshold" : "2097152",
|
||||
"red_min_threshold" : "1048576",
|
||||
"green_drop_probability" : "5",
|
||||
"yellow_drop_probability": "5",
|
||||
"red_drop_probability" : "5"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
121
device/celestica/x86_64-cel_midstone-r0/Midstone-200i/qos_defaults_def_lossy.j2
Executable file
121
device/celestica/x86_64-cel_midstone-r0/Midstone-200i/qos_defaults_def_lossy.j2
Executable file
@ -0,0 +1,121 @@
|
||||
{% 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": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}": {
|
||||
"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]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"SCHEDULER": {
|
||||
"scheduler.7": {
|
||||
"type": "STRICT"
|
||||
}
|
||||
},
|
||||
"QUEUE": {
|
||||
"{{ port_names }}|7": {
|
||||
"scheduler": "[SCHEDULER|scheduler.7]"
|
||||
}
|
||||
}
|
||||
}
|
129
device/celestica/x86_64-cel_midstone-r0/Midstone-200i/qos_defaults_t1.j2
Executable file
129
device/celestica/x86_64-cel_midstone-r0/Midstone-200i/qos_defaults_t1.j2
Executable file
@ -0,0 +1,129 @@
|
||||
{% 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": "3",
|
||||
"4": "4",
|
||||
"5": "0",
|
||||
"6": "0",
|
||||
"7": "0"
|
||||
}
|
||||
},
|
||||
"DSCP_TO_TC_MAP": {
|
||||
"AZURE": {
|
||||
"0" : "1",
|
||||
"1" : "1",
|
||||
"2" : "1",
|
||||
"3" : "3",
|
||||
"4" : "4",
|
||||
"5" : "2",
|
||||
"6" : "1",
|
||||
"7" : "1",
|
||||
"8" : "0",
|
||||
"9" : "1",
|
||||
"10": "1",
|
||||
"11": "1",
|
||||
"12": "1",
|
||||
"13": "1",
|
||||
"14": "1",
|
||||
"15": "1",
|
||||
"16": "1",
|
||||
"17": "1",
|
||||
"18": "1",
|
||||
"19": "1",
|
||||
"20": "1",
|
||||
"21": "1",
|
||||
"22": "1",
|
||||
"23": "1",
|
||||
"24": "1",
|
||||
"25": "1",
|
||||
"26": "1",
|
||||
"27": "1",
|
||||
"28": "1",
|
||||
"29": "1",
|
||||
"30": "1",
|
||||
"31": "1",
|
||||
"32": "1",
|
||||
"33": "1",
|
||||
"34": "1",
|
||||
"35": "1",
|
||||
"36": "1",
|
||||
"37": "1",
|
||||
"38": "1",
|
||||
"39": "1",
|
||||
"40": "1",
|
||||
"41": "1",
|
||||
"42": "1",
|
||||
"43": "1",
|
||||
"44": "1",
|
||||
"45": "1",
|
||||
"46": "5",
|
||||
"47": "1",
|
||||
"48": "6",
|
||||
"49": "1",
|
||||
"50": "1",
|
||||
"51": "1",
|
||||
"52": "1",
|
||||
"53": "1",
|
||||
"54": "1",
|
||||
"55": "1",
|
||||
"56": "1",
|
||||
"57": "1",
|
||||
"58": "1",
|
||||
"59": "1",
|
||||
"60": "1",
|
||||
"61": "1",
|
||||
"62": "1",
|
||||
"63": "1"
|
||||
}
|
||||
},
|
||||
"PORT_QOS_MAP": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}": {
|
||||
"tc_to_pg_map": "AZURE",
|
||||
"tc_to_queue_map": "AZURE",
|
||||
"dscp_to_tc_map": "AZURE",
|
||||
"pfc_enable": "3,4"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"WRED_PROFILE": {
|
||||
"AZURE_LOSSLESS" : {
|
||||
"wred_green_enable" : "true",
|
||||
"wred_yellow_enable" : "true",
|
||||
"wred_red_enable" : "true",
|
||||
"ecn" : "ecn_all",
|
||||
"green_max_threshold" : "2097152",
|
||||
"green_min_threshold" : "1048576",
|
||||
"yellow_max_threshold" : "2097152",
|
||||
"yellow_min_threshold" : "1048576",
|
||||
"red_max_threshold" : "2097152",
|
||||
"red_min_threshold" : "1048576",
|
||||
"green_drop_probability" : "5",
|
||||
"yellow_drop_probability": "5",
|
||||
"red_drop_probability" : "5"
|
||||
}
|
||||
}
|
||||
}
|
@ -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
|
||||
|
@ -1,6 +1,5 @@
|
||||
{# Default values which will be used if no actual configura available #}
|
||||
{% set default_cable = '300m' %}
|
||||
{% set default_ports_num = 128 -%}
|
||||
{% 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 #}
|
||||
@ -12,44 +11,53 @@
|
||||
}
|
||||
%}
|
||||
|
||||
{%- macro cable_length(port_name) -%}
|
||||
{%- set cable_len = [] -%}
|
||||
{%- for local_port in DEVICE_NEIGHBOR -%}
|
||||
{%- if local_port == port_name -%}
|
||||
{%- if DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%}
|
||||
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%}
|
||||
{%- set neighbor_role = neighbor.type -%}
|
||||
{%- 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 -%}
|
||||
{%- 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 -%}
|
||||
{{ default_cable }}
|
||||
{%- endif -%}
|
||||
{% endmacro %}
|
||||
{%- 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 -%}
|
||||
|
||||
{# 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 = [] %}
|
||||
{% for port in PORT %}
|
||||
{%- if port_names_list.append(port) %}{% endif %}
|
||||
@ -57,6 +65,15 @@
|
||||
{% 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",
|
||||
@ -64,57 +81,81 @@
|
||||
"mode": "dynamic",
|
||||
"xoff": "17708800"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"lossy_pool": {
|
||||
"size": "18874368",
|
||||
"type": "egress",
|
||||
"mode": "dynamic",
|
||||
"xoff": "0"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "66092800",
|
||||
"type": "egress"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossless_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"xoff":"1433600",
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"xoff":"38816",
|
||||
"size":"1518",
|
||||
"dynamic_th":"-4",
|
||||
"xon_offset":"6272"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"size":"0",
|
||||
"static_th":"9721600"
|
||||
"dynamic_th":"1",
|
||||
"xon_offset":"9408"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"egress_lossy_pool",
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"static_th":"9721600"
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|lossy_pool]",
|
||||
"size":"0",
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"egress_lossy_pool",
|
||||
"pool":"[BUFFER_POOL|lossy_pool]",
|
||||
"size":"1518",
|
||||
"dynamic_th":"3"
|
||||
"dynamic_th":"2"
|
||||
}
|
||||
},
|
||||
"BUFFER_PG": {
|
||||
"{{ port_names }}|0-3": {
|
||||
"profile" : "egress_lossless_profile"
|
||||
},
|
||||
"{{ port_names }}|4-5": {
|
||||
"profile" : "ingress_lossless_profile"
|
||||
},
|
||||
"{{ port_names }}|6-7": {
|
||||
"profile" : "egress_lossless_profile"
|
||||
}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|1-2": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
|
||||
"BUFFER_QUEUE": {
|
||||
"{{ port_names }}|4-5": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
|
||||
},
|
||||
"{{ port_names }}|0-3": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-2": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
},
|
||||
"{{ port_names }}|6-7": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
}
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,42 @@
|
||||
{% 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":"2"
|
||||
}
|
||||
},
|
||||
"BUFFER_PG": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-7": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
},
|
||||
"BUFFER_QUEUE": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-7": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
@ -0,0 +1,161 @@
|
||||
{# 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"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "66092800",
|
||||
"type": "egress"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossless_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"xoff":"38816",
|
||||
"size":"1518",
|
||||
"dynamic_th":"1",
|
||||
"xon_offset":"9408"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"size":"0",
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"lossy_pool",
|
||||
"size":"0",
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"lossy_pool",
|
||||
"size":"1518",
|
||||
"dynamic_th":"2"
|
||||
}
|
||||
},
|
||||
"BUFFER_PG": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "ingress_lossless_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|1-2": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
|
||||
"BUFFER_QUEUE": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "egress_lossless_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-2": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
@ -4,12 +4,17 @@ ifcs:
|
||||
nodes:
|
||||
- node_id: "0"
|
||||
options:
|
||||
sd_low_power_mode_global_default: "true"
|
||||
sku: "configs/sku/innovium.77700_B"
|
||||
netdev:
|
||||
- auto_create: "no"
|
||||
multi_interface: "yes"
|
||||
buffer_management_mode: "api_driven"
|
||||
wred_cr_ip_proto_list: "17"
|
||||
cr_assignment_mode: "1"
|
||||
max_lossless_tc: "2"
|
||||
ilpm_enable: "1"
|
||||
forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
|
||||
txring:
|
||||
- txring_id: "0"
|
||||
desc_count: "1024"
|
||||
@ -951,20 +956,6 @@ nodes:
|
||||
speed: "100G"
|
||||
sysport: "3"
|
||||
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"
|
||||
lane_swap: "01234567"
|
||||
|
@ -5,6 +5,7 @@ device_id: 0x1b58
|
||||
# Hardware constraint information
|
||||
hardware:
|
||||
num_ibs: 6
|
||||
ib_active: 0,1,2,3,4,5
|
||||
|
||||
ports_per_ib: 32, 32, 32, 32, 20, 20
|
||||
recirc_port_num: 32, 32, 32, 32, 32, 32
|
||||
|
@ -0,0 +1,8 @@
|
||||
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:$INNOVIUM_DIR/ifcs_cmds:$INNOVIUM_DIR/testutil"
|
||||
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"
|
||||
IVM_SAI_PARAM_A0008: "32"
|
@ -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"
|
@ -0,0 +1,22 @@
|
||||
# PG lossless profiles.
|
||||
# speed cable size xon xoff threshold xon_offset
|
||||
25000 5m 1518 0 15680 1 9408
|
||||
50000 5m 1518 0 21248 1 9408
|
||||
100000 5m 1518 0 34624 1 9408
|
||||
200000 5m 1518 0 62368 1 9408
|
||||
400000 5m 1518 0 117536 1 9408
|
||||
25000 40m 1518 0 16928 1 9408
|
||||
50000 40m 1518 0 23392 1 9408
|
||||
100000 40m 1518 0 38816 1 9408
|
||||
200000 40m 1518 0 71904 1 9408
|
||||
400000 40m 1518 0 135520 1 9408
|
||||
25000 100m 1518 0 18848 1 9408
|
||||
50000 100m 1518 0 27264 1 9408
|
||||
100000 100m 1518 0 46496 1 9408
|
||||
200000 100m 1518 0 87168 1 9408
|
||||
400000 100m 1518 0 166688 1 9408
|
||||
25000 300m 1518 0 25184 1 9408
|
||||
50000 300m 1518 0 40128 1 9408
|
||||
100000 300m 1518 0 72384 1 9408
|
||||
200000 300m 1518 0 138112 1 9408
|
||||
400000 300m 1518 0 268640 1 9408
|
@ -1,131 +1,129 @@
|
||||
# name lanes speed index mtu
|
||||
Ethernet0 249,250 100000 0 9126
|
||||
Ethernet2 251,252 100000 0 9126
|
||||
Ethernet4 253,254 100000 1 9126
|
||||
Ethernet6 255,256 100000 1 9126
|
||||
Ethernet8 245,246 100000 2 9126
|
||||
Ethernet10 247,248 100000 2 9126
|
||||
Ethernet12 241,242 100000 3 9126
|
||||
Ethernet14 243,244 100000 3 9126
|
||||
Ethernet16 233,234 100000 4 9126
|
||||
Ethernet18 235,236 100000 4 9126
|
||||
Ethernet20 237,238 100000 5 9126
|
||||
Ethernet22 239,240 100000 5 9126
|
||||
Ethernet24 229,230 100000 6 9126
|
||||
Ethernet26 231,232 100000 6 9126
|
||||
Ethernet28 225,226 100000 7 9126
|
||||
Ethernet30 227,228 100000 7 9126
|
||||
Ethernet32 217,218 100000 8 9126
|
||||
Ethernet34 219,220 100000 8 9126
|
||||
Ethernet36 221,222 100000 9 9126
|
||||
Ethernet38 223,224 100000 9 9126
|
||||
Ethernet40 213,214 100000 10 9126
|
||||
Ethernet42 215,216 100000 10 9126
|
||||
Ethernet44 209,210 100000 11 9126
|
||||
Ethernet46 211,212 100000 11 9126
|
||||
Ethernet48 201,202 100000 12 9126
|
||||
Ethernet50 203,204 100000 12 9126
|
||||
Ethernet52 205,206 100000 13 9126
|
||||
Ethernet54 207,208 100000 13 9126
|
||||
Ethernet56 197,198 100000 14 9126
|
||||
Ethernet58 199,200 100000 14 9126
|
||||
Ethernet60 193,194 100000 15 9126
|
||||
Ethernet62 195,196 100000 15 9126
|
||||
Ethernet64 185,186 100000 16 9126
|
||||
Ethernet66 187,188 100000 16 9126
|
||||
Ethernet68 189,190 100000 17 9126
|
||||
Ethernet70 191,192 100000 17 9126
|
||||
Ethernet72 181,182 100000 18 9126
|
||||
Ethernet74 183,184 100000 18 9126
|
||||
Ethernet76 177,178 100000 19 9126
|
||||
Ethernet78 179,180 100000 19 9126
|
||||
Ethernet80 169,170 100000 20 9126
|
||||
Ethernet82 171,172 100000 20 9126
|
||||
Ethernet84 173,174 100000 21 9126
|
||||
Ethernet86 175,176 100000 21 9126
|
||||
Ethernet88 165,166 100000 22 9126
|
||||
Ethernet90 167,168 100000 22 9126
|
||||
Ethernet92 161,162 100000 23 9126
|
||||
Ethernet94 163,164 100000 23 9126
|
||||
Ethernet96 153,154 100000 24 9126
|
||||
Ethernet98 155,156 100000 24 9126
|
||||
Ethernet100 157,158 100000 25 9126
|
||||
Ethernet102 159,160 100000 25 9126
|
||||
Ethernet104 149,150 100000 26 9126
|
||||
Ethernet106 151,152 100000 26 9126
|
||||
Ethernet108 145,146 100000 27 9126
|
||||
Ethernet110 147,148 100000 27 9126
|
||||
Ethernet112 137,138 100000 28 9126
|
||||
Ethernet114 139,140 100000 28 9126
|
||||
Ethernet116 141,142 100000 29 9126
|
||||
Ethernet118 143,144 100000 29 9126
|
||||
Ethernet120 133,134 100000 30 9126
|
||||
Ethernet122 135,136 100000 30 9126
|
||||
Ethernet124 129,130 100000 31 9126
|
||||
Ethernet126 131,132 100000 31 9126
|
||||
Ethernet128 121,122 100000 32 9126
|
||||
Ethernet130 123,124 100000 32 9126
|
||||
Ethernet132 125,126 100000 33 9126
|
||||
Ethernet134 127,128 100000 33 9126
|
||||
Ethernet136 117,118 100000 34 9126
|
||||
Ethernet138 119,120 100000 34 9126
|
||||
Ethernet140 113,114 100000 35 9126
|
||||
Ethernet142 115,116 100000 35 9126
|
||||
Ethernet144 105,106 100000 36 9126
|
||||
Ethernet146 107,108 100000 36 9126
|
||||
Ethernet148 109,110 100000 37 9126
|
||||
Ethernet150 111,112 100000 37 9126
|
||||
Ethernet152 101,102 100000 38 9126
|
||||
Ethernet154 103,104 100000 38 9126
|
||||
Ethernet156 97,98 100000 39 9126
|
||||
Ethernet158 99,100 100000 39 9126
|
||||
Ethernet160 89,90 100000 40 9126
|
||||
Ethernet162 91,92 100000 40 9126
|
||||
Ethernet164 93,94 100000 41 9126
|
||||
Ethernet166 95,96 100000 41 9126
|
||||
Ethernet168 85,86 100000 42 9126
|
||||
Ethernet170 87,88 100000 42 9126
|
||||
Ethernet172 81,82 100000 43 9126
|
||||
Ethernet174 83,84 100000 43 9126
|
||||
Ethernet176 73,74 100000 44 9126
|
||||
Ethernet178 75,76 100000 44 9126
|
||||
Ethernet180 77,78 100000 45 9126
|
||||
Ethernet182 79,80 100000 45 9126
|
||||
Ethernet184 69,70 100000 46 9126
|
||||
Ethernet186 71,72 100000 46 9126
|
||||
Ethernet188 65,66 100000 47 9126
|
||||
Ethernet190 67,68 100000 47 9126
|
||||
Ethernet192 57,58 100000 48 9126
|
||||
Ethernet194 59,60 100000 48 9126
|
||||
Ethernet196 61,62 100000 49 9126
|
||||
Ethernet198 63,64 100000 49 9126
|
||||
Ethernet200 53,54 100000 50 9126
|
||||
Ethernet202 55,56 100000 50 9126
|
||||
Ethernet204 49,50 100000 51 9126
|
||||
Ethernet206 51,52 100000 51 9126
|
||||
Ethernet208 41,42 100000 52 9126
|
||||
Ethernet210 43,44 100000 52 9126
|
||||
Ethernet212 45,46 100000 53 9126
|
||||
Ethernet214 47,48 100000 53 9126
|
||||
Ethernet216 37,38 100000 54 9126
|
||||
Ethernet218 39,40 100000 54 9126
|
||||
Ethernet220 33,34 100000 55 9126
|
||||
Ethernet222 35,36 100000 55 9126
|
||||
Ethernet224 25,26 100000 56 9126
|
||||
Ethernet226 27,28 100000 56 9126
|
||||
Ethernet228 29,30 100000 57 9126
|
||||
Ethernet230 31,32 100000 57 9126
|
||||
Ethernet232 21,22 100000 58 9126
|
||||
Ethernet234 23,24 100000 58 9126
|
||||
Ethernet236 17,18 100000 59 9126
|
||||
Ethernet238 19,20 100000 59 9126
|
||||
Ethernet240 9,10 100000 60 9126
|
||||
Ethernet242 11,12 100000 60 9126
|
||||
Ethernet244 13,14 100000 61 9126
|
||||
Ethernet246 15,16 100000 61 9126
|
||||
Ethernet248 5,6 100000 62 9126
|
||||
Ethernet250 7,8 100000 62 9126
|
||||
Ethernet252 1,2 100000 63 9126
|
||||
Ethernet254 3,4 100000 63 9126
|
||||
Ethernet256 257 10000 64 9126
|
||||
Ethernet257 258 10000 65 9126
|
||||
# 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 Eth2/1 100000 1 9126
|
||||
Ethernet6 255,256 Eth2/2 100000 1 9126
|
||||
Ethernet8 245,246 Eth3/1 100000 2 9126
|
||||
Ethernet10 247,248 Eth3/2 100000 2 9126
|
||||
Ethernet12 241,242 Eth4/1 100000 3 9126
|
||||
Ethernet14 243,244 Eth4/2 100000 3 9126
|
||||
Ethernet16 233,234 Eth5/1 100000 4 9126
|
||||
Ethernet18 235,236 Eth5/2 100000 4 9126
|
||||
Ethernet20 237,238 Eth6/1 100000 5 9126
|
||||
Ethernet22 239,240 Eth6/2 100000 5 9126
|
||||
Ethernet24 229,230 Eth7/1 100000 6 9126
|
||||
Ethernet26 231,232 Eth7/2 100000 6 9126
|
||||
Ethernet28 225,226 Eth8/1 100000 7 9126
|
||||
Ethernet30 227,228 Eth8/2 100000 7 9126
|
||||
Ethernet32 217,218 Eth9/1 100000 8 9126
|
||||
Ethernet34 219,220 Eth9/2 100000 8 9126
|
||||
Ethernet36 221,222 Eth10/1 100000 9 9126
|
||||
Ethernet38 223,224 Eth10/2 100000 9 9126
|
||||
Ethernet40 213,214 Eth11/1 100000 10 9126
|
||||
Ethernet42 215,216 Eth11/2 100000 10 9126
|
||||
Ethernet44 209,210 Eth12/1 100000 11 9126
|
||||
Ethernet46 211,212 Eth12/2 100000 11 9126
|
||||
Ethernet48 201,202 Eth13/1 100000 12 9126
|
||||
Ethernet50 203,204 Eth13/2 100000 12 9126
|
||||
Ethernet52 205,206 Eth14/1 100000 13 9126
|
||||
Ethernet54 207,208 Eth14/2 100000 13 9126
|
||||
Ethernet56 197,198 Eth15/1 100000 14 9126
|
||||
Ethernet58 199,200 Eth15/2 100000 14 9126
|
||||
Ethernet60 193,194 Eth16/1 100000 15 9126
|
||||
Ethernet62 195,196 Eth16/2 100000 15 9126
|
||||
Ethernet64 185,186 Eth17/1 100000 16 9126
|
||||
Ethernet66 187,188 Eth17/2 100000 16 9126
|
||||
Ethernet68 189,190 Eth18/1 100000 17 9126
|
||||
Ethernet70 191,192 Eth18/2 100000 17 9126
|
||||
Ethernet72 181,182 Eth19/1 100000 18 9126
|
||||
Ethernet74 183,184 Eth19/2 100000 18 9126
|
||||
Ethernet76 177,178 Eth20/1 100000 19 9126
|
||||
Ethernet78 179,180 Eth20/2 100000 19 9126
|
||||
Ethernet80 169,170 Eth21/1 100000 20 9126
|
||||
Ethernet82 171,172 Eth21/2 100000 20 9126
|
||||
Ethernet84 173,174 Eth22/1 100000 21 9126
|
||||
Ethernet86 175,176 Eth22/2 100000 21 9126
|
||||
Ethernet88 165,166 Eth23/1 100000 22 9126
|
||||
Ethernet90 167,168 Eth23/2 100000 22 9126
|
||||
Ethernet92 161,162 Eth24/1 100000 23 9126
|
||||
Ethernet94 163,164 Eth24/2 100000 23 9126
|
||||
Ethernet96 153,154 Eth25/1 100000 24 9126
|
||||
Ethernet98 155,156 Eth25/2 100000 24 9126
|
||||
Ethernet100 157,158 Eth26/1 100000 25 9126
|
||||
Ethernet102 159,160 Eth26/2 100000 25 9126
|
||||
Ethernet104 149,150 Eth27/1 100000 26 9126
|
||||
Ethernet106 151,152 Eth27/2 100000 26 9126
|
||||
Ethernet108 145,146 Eth28/1 100000 27 9126
|
||||
Ethernet110 147,148 Eth28/2 100000 27 9126
|
||||
Ethernet112 137,138 Eth29/1 100000 28 9126
|
||||
Ethernet114 139,140 Eth29/2 100000 28 9126
|
||||
Ethernet116 141,142 Eth30/1 100000 29 9126
|
||||
Ethernet118 143,144 Eth30/2 100000 29 9126
|
||||
Ethernet120 133,134 Eth31/1 100000 30 9126
|
||||
Ethernet122 135,136 Eth31/2 100000 30 9126
|
||||
Ethernet124 129,130 Eth32/1 100000 31 9126
|
||||
Ethernet126 131,132 Eth32/2 100000 31 9126
|
||||
Ethernet128 121,122 Eth33/1 100000 32 9126
|
||||
Ethernet130 123,124 Eth33/2 100000 32 9126
|
||||
Ethernet132 125,126 Eth34/1 100000 33 9126
|
||||
Ethernet134 127,128 Eth34/2 100000 33 9126
|
||||
Ethernet136 117,118 Eth35/1 100000 34 9126
|
||||
Ethernet138 119,120 Eth35/2 100000 34 9126
|
||||
Ethernet140 113,114 Eth36/1 100000 35 9126
|
||||
Ethernet142 115,116 Eth36/2 100000 35 9126
|
||||
Ethernet144 105,106 Eth37/1 100000 36 9126
|
||||
Ethernet146 107,108 Eth37/2 100000 36 9126
|
||||
Ethernet148 109,110 Eth38/1 100000 37 9126
|
||||
Ethernet150 111,112 Eth38/2 100000 37 9126
|
||||
Ethernet152 101,102 Eth39/1 100000 38 9126
|
||||
Ethernet154 103,104 Eth39/2 100000 38 9126
|
||||
Ethernet156 97,98 Eth40/1 100000 39 9126
|
||||
Ethernet158 99,100 Eth40/2 100000 39 9126
|
||||
Ethernet160 89,90 Eth41/1 100000 40 9126
|
||||
Ethernet162 91,92 Eth41/2 100000 40 9126
|
||||
Ethernet164 93,94 Eth42/1 100000 41 9126
|
||||
Ethernet166 95,96 Eth42/2 100000 41 9126
|
||||
Ethernet168 85,86 Eth43/1 100000 42 9126
|
||||
Ethernet170 87,88 Eth43/2 100000 42 9126
|
||||
Ethernet172 81,82 Eth44/1 100000 43 9126
|
||||
Ethernet174 83,84 Eth44/2 100000 43 9126
|
||||
Ethernet176 73,74 Eth45/1 100000 44 9126
|
||||
Ethernet178 75,76 Eth45/2 100000 44 9126
|
||||
Ethernet180 77,78 Eth46/1 100000 45 9126
|
||||
Ethernet182 79,80 Eth46/2 100000 45 9126
|
||||
Ethernet184 69,70 Eth47/1 100000 46 9126
|
||||
Ethernet186 71,72 Eth47/2 100000 46 9126
|
||||
Ethernet188 65,66 Eth48/1 100000 47 9126
|
||||
Ethernet190 67,68 Eth48/2 100000 47 9126
|
||||
Ethernet192 57,58 Eth49/1 100000 48 9126
|
||||
Ethernet194 59,60 Eth49/2 100000 48 9126
|
||||
Ethernet196 61,62 Eth50/1 100000 49 9126
|
||||
Ethernet198 63,64 Eth50/2 100000 49 9126
|
||||
Ethernet200 53,54 Eth51/1 100000 50 9126
|
||||
Ethernet202 55,56 Eth51/2 100000 50 9126
|
||||
Ethernet204 49,50 Eth52/1 100000 51 9126
|
||||
Ethernet206 51,52 Eth52/2 100000 51 9126
|
||||
Ethernet208 41,42 Eth53/1 100000 52 9126
|
||||
Ethernet210 43,44 Eth53/2 100000 52 9126
|
||||
Ethernet212 45,46 Eth54/1 100000 53 9126
|
||||
Ethernet214 47,48 Eth54/2 100000 53 9126
|
||||
Ethernet216 37,38 Eth55/1 100000 54 9126
|
||||
Ethernet218 39,40 Eth55/2 100000 54 9126
|
||||
Ethernet220 33,34 Eth56/1 100000 55 9126
|
||||
Ethernet222 35,36 Eth56/2 100000 55 9126
|
||||
Ethernet224 25,26 Eth57/1 100000 56 9126
|
||||
Ethernet226 27,28 Eth57/2 100000 56 9126
|
||||
Ethernet228 29,30 Eth58/1 100000 57 9126
|
||||
Ethernet230 31,32 Eth58/2 100000 57 9126
|
||||
Ethernet232 21,22 Eth59/1 100000 58 9126
|
||||
Ethernet234 23,24 Eth59/2 100000 58 9126
|
||||
Ethernet236 17,18 Eth60/1 100000 59 9126
|
||||
Ethernet238 19,20 Eth60/2 100000 59 9126
|
||||
Ethernet240 9,10 Eth61/1 100000 60 9126
|
||||
Ethernet242 11,12 Eth61/2 100000 60 9126
|
||||
Ethernet244 13,14 Eth62/1 100000 61 9126
|
||||
Ethernet246 15,16 Eth62/2 100000 61 9126
|
||||
Ethernet248 5,6 Eth63/1 100000 62 9126
|
||||
Ethernet250 7,8 Eth63/2 100000 62 9126
|
||||
Ethernet252 1,2 Eth64/1 100000 63 9126
|
||||
Ethernet254 3,4 Eth64/2 100000 63 9126
|
||||
|
@ -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 = [] %}
|
||||
{% for port in PORT %}
|
||||
{%- if port_names_list.append(port) %}{% endif %}
|
||||
@ -19,102 +8,122 @@
|
||||
{
|
||||
"TC_TO_QUEUE_MAP":{
|
||||
"AZURE":{
|
||||
"1":"1",
|
||||
"0":"0",
|
||||
"3":"3",
|
||||
"1":"1",
|
||||
"2":"2",
|
||||
"5":"5",
|
||||
"3":"3",
|
||||
"4":"4",
|
||||
"7":"7",
|
||||
"6":"6"
|
||||
"5":"5",
|
||||
"6":"6",
|
||||
"7":"7"
|
||||
}
|
||||
},
|
||||
"TC_TO_PRIORITY_GROUP_MAP": {
|
||||
"AZURE": {
|
||||
"1": "0",
|
||||
"0": "0",
|
||||
"3": "0",
|
||||
"1": "0",
|
||||
"2": "0",
|
||||
"4": "1",
|
||||
"5": "2",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "0",
|
||||
"6": "0",
|
||||
"7": "0"
|
||||
}
|
||||
},
|
||||
"DSCP_TO_TC_MAP": {
|
||||
"AZURE": {
|
||||
"0":"0",
|
||||
"1":"0",
|
||||
"2":"0",
|
||||
"3":"0",
|
||||
"4":"4",
|
||||
"5":"5",
|
||||
"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"
|
||||
"0" : "1",
|
||||
"1" : "1",
|
||||
"2" : "1",
|
||||
"3" : "3",
|
||||
"4" : "4",
|
||||
"5" : "2",
|
||||
"6" : "1",
|
||||
"7" : "1",
|
||||
"8" : "0",
|
||||
"9" : "1",
|
||||
"10": "1",
|
||||
"11": "1",
|
||||
"12": "1",
|
||||
"13": "1",
|
||||
"14": "1",
|
||||
"15": "1",
|
||||
"16": "1",
|
||||
"17": "1",
|
||||
"18": "1",
|
||||
"19": "1",
|
||||
"20": "1",
|
||||
"21": "1",
|
||||
"22": "1",
|
||||
"23": "1",
|
||||
"24": "1",
|
||||
"25": "1",
|
||||
"26": "1",
|
||||
"27": "1",
|
||||
"28": "1",
|
||||
"29": "1",
|
||||
"30": "1",
|
||||
"31": "1",
|
||||
"32": "1",
|
||||
"33": "1",
|
||||
"34": "1",
|
||||
"35": "1",
|
||||
"36": "1",
|
||||
"37": "1",
|
||||
"38": "1",
|
||||
"39": "1",
|
||||
"40": "1",
|
||||
"41": "1",
|
||||
"42": "1",
|
||||
"43": "1",
|
||||
"44": "1",
|
||||
"45": "1",
|
||||
"46": "5",
|
||||
"47": "1",
|
||||
"48": "6",
|
||||
"49": "1",
|
||||
"50": "1",
|
||||
"51": "1",
|
||||
"52": "1",
|
||||
"53": "1",
|
||||
"54": "1",
|
||||
"55": "1",
|
||||
"56": "1",
|
||||
"57": "1",
|
||||
"58": "1",
|
||||
"59": "1",
|
||||
"60": "1",
|
||||
"61": "1",
|
||||
"62": "1",
|
||||
"63": "1"
|
||||
}
|
||||
},
|
||||
"PORT_QOS_MAP": {
|
||||
"{{ port_names }}": {
|
||||
"tc_to_pg_map": "AZURE",
|
||||
"tc_to_queue_map": "AZURE",
|
||||
"dscp_to_tc_map": "AZURE",
|
||||
"pfc_enable": "4,5"
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}": {
|
||||
"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"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"WRED_PROFILE": {
|
||||
"AZURE_LOSSLESS" : {
|
||||
"wred_green_enable" : "true",
|
||||
"wred_yellow_enable" : "true",
|
||||
"wred_red_enable" : "true",
|
||||
"ecn" : "ecn_all",
|
||||
"green_max_threshold" : "2097152",
|
||||
"green_min_threshold" : "1048576",
|
||||
"yellow_max_threshold" : "2097152",
|
||||
"yellow_min_threshold" : "1048576",
|
||||
"red_max_threshold" : "2097152",
|
||||
"red_min_threshold" : "1048576",
|
||||
"green_drop_probability" : "5",
|
||||
"yellow_drop_probability": "5",
|
||||
"red_drop_probability" : "5"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,121 @@
|
||||
{% 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": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}": {
|
||||
"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]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"SCHEDULER": {
|
||||
"scheduler.7": {
|
||||
"type": "STRICT"
|
||||
}
|
||||
},
|
||||
"QUEUE": {
|
||||
"{{ port_names }}|7": {
|
||||
"scheduler": "[SCHEDULER|scheduler.7]"
|
||||
}
|
||||
}
|
||||
}
|
129
device/celestica/x86_64-cel_midstone-r0/Midstone-200i_128x100/qos_defaults_t1.j2
Executable file
129
device/celestica/x86_64-cel_midstone-r0/Midstone-200i_128x100/qos_defaults_t1.j2
Executable file
@ -0,0 +1,129 @@
|
||||
{% 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": "3",
|
||||
"4": "4",
|
||||
"5": "0",
|
||||
"6": "0",
|
||||
"7": "0"
|
||||
}
|
||||
},
|
||||
"DSCP_TO_TC_MAP": {
|
||||
"AZURE": {
|
||||
"0" : "1",
|
||||
"1" : "1",
|
||||
"2" : "1",
|
||||
"3" : "3",
|
||||
"4" : "4",
|
||||
"5" : "2",
|
||||
"6" : "1",
|
||||
"7" : "1",
|
||||
"8" : "0",
|
||||
"9" : "1",
|
||||
"10": "1",
|
||||
"11": "1",
|
||||
"12": "1",
|
||||
"13": "1",
|
||||
"14": "1",
|
||||
"15": "1",
|
||||
"16": "1",
|
||||
"17": "1",
|
||||
"18": "1",
|
||||
"19": "1",
|
||||
"20": "1",
|
||||
"21": "1",
|
||||
"22": "1",
|
||||
"23": "1",
|
||||
"24": "1",
|
||||
"25": "1",
|
||||
"26": "1",
|
||||
"27": "1",
|
||||
"28": "1",
|
||||
"29": "1",
|
||||
"30": "1",
|
||||
"31": "1",
|
||||
"32": "1",
|
||||
"33": "1",
|
||||
"34": "1",
|
||||
"35": "1",
|
||||
"36": "1",
|
||||
"37": "1",
|
||||
"38": "1",
|
||||
"39": "1",
|
||||
"40": "1",
|
||||
"41": "1",
|
||||
"42": "1",
|
||||
"43": "1",
|
||||
"44": "1",
|
||||
"45": "1",
|
||||
"46": "5",
|
||||
"47": "1",
|
||||
"48": "6",
|
||||
"49": "1",
|
||||
"50": "1",
|
||||
"51": "1",
|
||||
"52": "1",
|
||||
"53": "1",
|
||||
"54": "1",
|
||||
"55": "1",
|
||||
"56": "1",
|
||||
"57": "1",
|
||||
"58": "1",
|
||||
"59": "1",
|
||||
"60": "1",
|
||||
"61": "1",
|
||||
"62": "1",
|
||||
"63": "1"
|
||||
}
|
||||
},
|
||||
"PORT_QOS_MAP": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}": {
|
||||
"tc_to_pg_map": "AZURE",
|
||||
"tc_to_queue_map": "AZURE",
|
||||
"dscp_to_tc_map": "AZURE",
|
||||
"pfc_enable": "3,4"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"WRED_PROFILE": {
|
||||
"AZURE_LOSSLESS" : {
|
||||
"wred_green_enable" : "true",
|
||||
"wred_yellow_enable" : "true",
|
||||
"wred_red_enable" : "true",
|
||||
"ecn" : "ecn_all",
|
||||
"green_max_threshold" : "2097152",
|
||||
"green_min_threshold" : "1048576",
|
||||
"yellow_max_threshold" : "2097152",
|
||||
"yellow_min_threshold" : "1048576",
|
||||
"red_max_threshold" : "2097152",
|
||||
"red_min_threshold" : "1048576",
|
||||
"green_drop_probability" : "5",
|
||||
"yellow_drop_probability": "5",
|
||||
"red_drop_probability" : "5"
|
||||
}
|
||||
}
|
||||
}
|
@ -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
|
||||
|
@ -1,6 +1,5 @@
|
||||
{# Default values which will be used if no actual configura available #}
|
||||
{% set default_cable = '300m' %}
|
||||
{% set default_ports_num = 32 -%}
|
||||
{% 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 #}
|
||||
@ -12,44 +11,53 @@
|
||||
}
|
||||
%}
|
||||
|
||||
{%- macro cable_length(port_name) -%}
|
||||
{%- set cable_len = [] -%}
|
||||
{%- for local_port in DEVICE_NEIGHBOR -%}
|
||||
{%- if local_port == port_name -%}
|
||||
{%- if DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%}
|
||||
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%}
|
||||
{%- set neighbor_role = neighbor.type -%}
|
||||
{%- 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 -%}
|
||||
{%- 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 -%}
|
||||
{{ default_cable }}
|
||||
{%- endif -%}
|
||||
{% endmacro %}
|
||||
{%- 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 -%}
|
||||
|
||||
{# 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 = [] %}
|
||||
{% for port in PORT %}
|
||||
{%- if port_names_list.append(port) %}{% endif %}
|
||||
@ -57,6 +65,15 @@
|
||||
{% 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",
|
||||
@ -64,57 +81,81 @@
|
||||
"mode": "dynamic",
|
||||
"xoff": "17708800"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"lossy_pool": {
|
||||
"size": "18874368",
|
||||
"type": "egress",
|
||||
"mode": "dynamic",
|
||||
"xoff": "0"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "66092800",
|
||||
"type": "egress"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossless_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"xoff":"1433600",
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"xoff":"38816",
|
||||
"size":"1518",
|
||||
"dynamic_th":"-4",
|
||||
"xon_offset":"6272"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"size":"0",
|
||||
"static_th":"9721600"
|
||||
"dynamic_th":"1",
|
||||
"xon_offset":"9408"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"egress_lossy_pool",
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"static_th":"9721600"
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|lossy_pool]",
|
||||
"size":"0",
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"egress_lossy_pool",
|
||||
"pool":"[BUFFER_POOL|lossy_pool]",
|
||||
"size":"1518",
|
||||
"dynamic_th":"3"
|
||||
"dynamic_th":"2"
|
||||
}
|
||||
},
|
||||
"BUFFER_PG": {
|
||||
"{{ port_names }}|0-3": {
|
||||
"profile" : "egress_lossless_profile"
|
||||
},
|
||||
"{{ port_names }}|4-5": {
|
||||
"profile" : "ingress_lossless_profile"
|
||||
},
|
||||
"{{ port_names }}|6-7": {
|
||||
"profile" : "egress_lossless_profile"
|
||||
}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|1-2": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
|
||||
"BUFFER_QUEUE": {
|
||||
"{{ port_names }}|4-5": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
|
||||
},
|
||||
"{{ port_names }}|0-3": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-2": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
},
|
||||
"{{ port_names }}|6-7": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
}
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,42 @@
|
||||
{% 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":"2"
|
||||
}
|
||||
},
|
||||
"BUFFER_PG": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-7": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
},
|
||||
"BUFFER_QUEUE": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-7": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
@ -0,0 +1,161 @@
|
||||
{# 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"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "66092800",
|
||||
"type": "egress"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossless_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"xoff":"38816",
|
||||
"size":"1518",
|
||||
"dynamic_th":"1",
|
||||
"xon_offset":"9408"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"size":"0",
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"lossy_pool",
|
||||
"size":"0",
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"lossy_pool",
|
||||
"size":"1518",
|
||||
"dynamic_th":"2"
|
||||
}
|
||||
},
|
||||
"BUFFER_PG": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "ingress_lossless_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|1-2": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
|
||||
"BUFFER_QUEUE": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "egress_lossless_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-2": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
@ -4,12 +4,17 @@ ifcs:
|
||||
nodes:
|
||||
- node_id: "0"
|
||||
options:
|
||||
sd_low_power_mode_global_default: "true"
|
||||
sku: "configs/sku/innovium.77700_A"
|
||||
netdev:
|
||||
- auto_create: "no"
|
||||
multi_interface: "yes"
|
||||
buffer_management_mode: "api_driven"
|
||||
wred_cr_ip_proto_list: "17"
|
||||
cr_assignment_mode: "1"
|
||||
max_lossless_tc: "2"
|
||||
ilpm_enable: "1"
|
||||
forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
|
||||
txring:
|
||||
- txring_id: "0"
|
||||
desc_count: "1024"
|
||||
@ -280,20 +285,6 @@ nodes:
|
||||
speed: "400G"
|
||||
sysport: "1"
|
||||
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"
|
||||
lane_swap: "01234567"
|
||||
|
@ -5,6 +5,7 @@ device_id: 0x1b58
|
||||
# Hardware constraint information
|
||||
hardware:
|
||||
num_ibs: 6
|
||||
ib_active: 0,1,2,3,4,5
|
||||
|
||||
ports_per_ib: 32, 32, 32, 32, 20, 20
|
||||
recirc_port_num: 32, 32, 32, 32, 32, 32
|
||||
|
@ -0,0 +1,8 @@
|
||||
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:$INNOVIUM_DIR/ifcs_cmds:$INNOVIUM_DIR/testutil"
|
||||
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"
|
||||
IVM_SAI_PARAM_A0008: "32"
|
@ -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"
|
@ -0,0 +1,22 @@
|
||||
# PG lossless profiles.
|
||||
# speed cable size xon xoff threshold xon_offset
|
||||
25000 5m 1518 0 15680 1 9408
|
||||
50000 5m 1518 0 21248 1 9408
|
||||
100000 5m 1518 0 34624 1 9408
|
||||
200000 5m 1518 0 62368 1 9408
|
||||
400000 5m 1518 0 117536 1 9408
|
||||
25000 40m 1518 0 16928 1 9408
|
||||
50000 40m 1518 0 23392 1 9408
|
||||
100000 40m 1518 0 38816 1 9408
|
||||
200000 40m 1518 0 71904 1 9408
|
||||
400000 40m 1518 0 135520 1 9408
|
||||
25000 100m 1518 0 18848 1 9408
|
||||
50000 100m 1518 0 27264 1 9408
|
||||
100000 100m 1518 0 46496 1 9408
|
||||
200000 100m 1518 0 87168 1 9408
|
||||
400000 100m 1518 0 166688 1 9408
|
||||
25000 300m 1518 0 25184 1 9408
|
||||
50000 300m 1518 0 40128 1 9408
|
||||
100000 300m 1518 0 72384 1 9408
|
||||
200000 300m 1518 0 138112 1 9408
|
||||
400000 300m 1518 0 268640 1 9408
|
@ -1,35 +1,33 @@
|
||||
# name lanes speed index mtu fec
|
||||
Ethernet0 249,250,251,252 400000 0 9126 rs
|
||||
Ethernet8 241,242,243,244 400000 2 9126 rs
|
||||
Ethernet16 233,234,235,236 400000 4 9126 rs
|
||||
Ethernet24 225,226,227,228 400000 6 9126 rs
|
||||
Ethernet32 217,218,219,220 400000 8 9126 rs
|
||||
Ethernet40 209,210,211,212 400000 10 9126 rs
|
||||
Ethernet48 201,202,203,204 400000 12 9126 rs
|
||||
Ethernet56 193,194,195,196 400000 14 9126 rs
|
||||
Ethernet64 185,186,187,188 400000 16 9126 rs
|
||||
Ethernet72 177,178,179,180 400000 18 9126 rs
|
||||
Ethernet80 169,170,171,172 400000 20 9126 rs
|
||||
Ethernet88 161,162,163,164 400000 22 9126 rs
|
||||
Ethernet96 153,154,155,156 400000 24 9126 rs
|
||||
Ethernet104 145,146,147,148 400000 26 9126 rs
|
||||
Ethernet112 137,138,139,140 400000 28 9126 rs
|
||||
Ethernet120 129,130,131,132 400000 30 9126 rs
|
||||
Ethernet128 121,122,123,124 400000 32 9126 rs
|
||||
Ethernet136 113,114,115,116 400000 34 9126 rs
|
||||
Ethernet144 105,106,107,108 400000 36 9126 rs
|
||||
Ethernet152 97,98,99,100 400000 38 9126 rs
|
||||
Ethernet160 89,90,91,92 400000 40 9126 rs
|
||||
Ethernet168 81,82,83,84 400000 42 9126 rs
|
||||
Ethernet176 73,74,75,76 400000 44 9126 rs
|
||||
Ethernet184 65,66,67,68 400000 46 9126 rs
|
||||
Ethernet192 57,58,59,60 400000 48 9126 rs
|
||||
Ethernet200 49,50,51,52 400000 50 9126 rs
|
||||
Ethernet208 41,42,43,44 400000 52 9126 rs
|
||||
Ethernet216 33,34,35,36 400000 54 9126 rs
|
||||
Ethernet224 25,26,27,28 400000 56 9126 rs
|
||||
Ethernet232 17,18,19,20 400000 58 9126 rs
|
||||
Ethernet240 9,10,11,12 400000 60 9126 rs
|
||||
Ethernet248 1,2,3,4 400000 62 9126 rs
|
||||
Ethernet256 257 10000 64 9126 none
|
||||
Ethernet257 258 10000 65 9126 none
|
||||
# name lanes alias speed index mtu fec
|
||||
Ethernet0 249,250,251,252,253,254,255,256 Ethernet0 400000 0 9126 rs
|
||||
Ethernet8 241,242,243,244,245,246,247,248 Ethernet8 400000 2 9126 rs
|
||||
Ethernet16 233,234,235,236,237,238,239,240 Ethernet6 400000 4 9126 rs
|
||||
Ethernet24 225,226,227,228,229,230,231,232 Ethernet24 400000 6 9126 rs
|
||||
Ethernet32 217,218,219,220,221,222,223,224 Ethernet32 400000 8 9126 rs
|
||||
Ethernet40 209,210,211,212,213,214,215,216 Ethernet40 400000 10 9126 rs
|
||||
Ethernet48 201,202,203,204,205,206,207,208 Ethernet48 400000 12 9126 rs
|
||||
Ethernet56 193,194,195,196,197,198,199,200 Ethernet56 400000 14 9126 rs
|
||||
Ethernet64 185,186,187,188,189,190,191,192 Ethernet64 400000 16 9126 rs
|
||||
Ethernet72 177,178,179,180,181,182,183,184 Ethernet72 400000 18 9126 rs
|
||||
Ethernet80 169,170,171,172,173,174,175,176 Ethernet80 400000 20 9126 rs
|
||||
Ethernet88 161,162,163,164,165,166,167,168 Ethernet88 400000 22 9126 rs
|
||||
Ethernet96 153,154,155,156,157,158,159,160 Ethernet96 400000 24 9126 rs
|
||||
Ethernet104 145,146,147,148,149,150,151,152 Ethernet104 400000 26 9126 rs
|
||||
Ethernet112 137,138,139,140,141,142,143,144 Ethernet112 400000 28 9126 rs
|
||||
Ethernet120 129,130,131,132,133,134,135,136 Ethernet120 400000 30 9126 rs
|
||||
Ethernet128 121,122,123,124,125,126,127,128 Ethernet128 400000 32 9126 rs
|
||||
Ethernet136 113,114,115,116,117,118,119,120 Ethernet136 400000 34 9126 rs
|
||||
Ethernet144 105,106,107,108,109,110,111,112 Ethernet144 400000 36 9126 rs
|
||||
Ethernet152 97,98,99,100,101,102,103,104 Ethernet152 400000 38 9126 rs
|
||||
Ethernet160 89,90,91,92,93,94,95,96 Ethernet160 400000 40 9126 rs
|
||||
Ethernet168 81,82,83,84,85,86,87,88 Ethernet168 400000 42 9126 rs
|
||||
Ethernet176 73,74,75,76,77,78,79,80 Ethernet176 400000 44 9126 rs
|
||||
Ethernet184 65,66,67,68,69,70,71,72 Ethernet184 400000 46 9126 rs
|
||||
Ethernet192 57,58,59,60,61,62,63,64 Ethernet192 400000 48 9126 rs
|
||||
Ethernet200 49,50,51,52,53,54,55,56 Ethernet200 400000 50 9126 rs
|
||||
Ethernet208 41,42,43,44,45,46,47,48 Ethernet208 400000 52 9126 rs
|
||||
Ethernet216 33,34,35,36,37,38,39,40 Ethernet216 400000 54 9126 rs
|
||||
Ethernet224 25,26,27,28,29,30,31,32 Ethernet224 400000 56 9126 rs
|
||||
Ethernet232 17,18,19,20,21,22,23,24 Ethernet232 400000 58 9126 rs
|
||||
Ethernet240 9,10,11,12,13,14,15,16 Ethernet240 400000 60 9126 rs
|
||||
Ethernet248 1,2,3,4,5,6,7,8 Ethernet248 400000 62 9126 rs
|
||||
|
@ -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 = [] %}
|
||||
{% for port in PORT %}
|
||||
{%- if port_names_list.append(port) %}{% endif %}
|
||||
@ -19,102 +8,122 @@
|
||||
{
|
||||
"TC_TO_QUEUE_MAP":{
|
||||
"AZURE":{
|
||||
"1":"1",
|
||||
"0":"0",
|
||||
"3":"3",
|
||||
"1":"1",
|
||||
"2":"2",
|
||||
"5":"5",
|
||||
"3":"3",
|
||||
"4":"4",
|
||||
"7":"7",
|
||||
"6":"6"
|
||||
"5":"5",
|
||||
"6":"6",
|
||||
"7":"7"
|
||||
}
|
||||
},
|
||||
"TC_TO_PRIORITY_GROUP_MAP": {
|
||||
"AZURE": {
|
||||
"1": "0",
|
||||
"0": "0",
|
||||
"3": "0",
|
||||
"1": "0",
|
||||
"2": "0",
|
||||
"4": "1",
|
||||
"5": "2",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "0",
|
||||
"6": "0",
|
||||
"7": "0"
|
||||
}
|
||||
},
|
||||
"DSCP_TO_TC_MAP": {
|
||||
"AZURE": {
|
||||
"0":"0",
|
||||
"1":"0",
|
||||
"2":"0",
|
||||
"3":"0",
|
||||
"4":"4",
|
||||
"5":"5",
|
||||
"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"
|
||||
"0" : "1",
|
||||
"1" : "1",
|
||||
"2" : "1",
|
||||
"3" : "3",
|
||||
"4" : "4",
|
||||
"5" : "2",
|
||||
"6" : "1",
|
||||
"7" : "1",
|
||||
"8" : "0",
|
||||
"9" : "1",
|
||||
"10": "1",
|
||||
"11": "1",
|
||||
"12": "1",
|
||||
"13": "1",
|
||||
"14": "1",
|
||||
"15": "1",
|
||||
"16": "1",
|
||||
"17": "1",
|
||||
"18": "1",
|
||||
"19": "1",
|
||||
"20": "1",
|
||||
"21": "1",
|
||||
"22": "1",
|
||||
"23": "1",
|
||||
"24": "1",
|
||||
"25": "1",
|
||||
"26": "1",
|
||||
"27": "1",
|
||||
"28": "1",
|
||||
"29": "1",
|
||||
"30": "1",
|
||||
"31": "1",
|
||||
"32": "1",
|
||||
"33": "1",
|
||||
"34": "1",
|
||||
"35": "1",
|
||||
"36": "1",
|
||||
"37": "1",
|
||||
"38": "1",
|
||||
"39": "1",
|
||||
"40": "1",
|
||||
"41": "1",
|
||||
"42": "1",
|
||||
"43": "1",
|
||||
"44": "1",
|
||||
"45": "1",
|
||||
"46": "5",
|
||||
"47": "1",
|
||||
"48": "6",
|
||||
"49": "1",
|
||||
"50": "1",
|
||||
"51": "1",
|
||||
"52": "1",
|
||||
"53": "1",
|
||||
"54": "1",
|
||||
"55": "1",
|
||||
"56": "1",
|
||||
"57": "1",
|
||||
"58": "1",
|
||||
"59": "1",
|
||||
"60": "1",
|
||||
"61": "1",
|
||||
"62": "1",
|
||||
"63": "1"
|
||||
}
|
||||
},
|
||||
"PORT_QOS_MAP": {
|
||||
"{{ port_names }}": {
|
||||
"tc_to_pg_map": "AZURE",
|
||||
"tc_to_queue_map": "AZURE",
|
||||
"dscp_to_tc_map": "AZURE",
|
||||
"pfc_enable": "4,5"
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}": {
|
||||
"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"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"WRED_PROFILE": {
|
||||
"AZURE_LOSSLESS" : {
|
||||
"wred_green_enable" : "true",
|
||||
"wred_yellow_enable" : "true",
|
||||
"wred_red_enable" : "true",
|
||||
"ecn" : "ecn_all",
|
||||
"green_max_threshold" : "2097152",
|
||||
"green_min_threshold" : "1048576",
|
||||
"yellow_max_threshold" : "2097152",
|
||||
"yellow_min_threshold" : "1048576",
|
||||
"red_max_threshold" : "2097152",
|
||||
"red_min_threshold" : "1048576",
|
||||
"green_drop_probability" : "5",
|
||||
"yellow_drop_probability": "5",
|
||||
"red_drop_probability" : "5"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,121 @@
|
||||
{% 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": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}": {
|
||||
"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]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"SCHEDULER": {
|
||||
"scheduler.7": {
|
||||
"type": "STRICT"
|
||||
}
|
||||
},
|
||||
"QUEUE": {
|
||||
"{{ port_names }}|7": {
|
||||
"scheduler": "[SCHEDULER|scheduler.7]"
|
||||
}
|
||||
}
|
||||
}
|
129
device/celestica/x86_64-cel_midstone-r0/Midstone-200i_32x400/qos_defaults_t1.j2
Executable file
129
device/celestica/x86_64-cel_midstone-r0/Midstone-200i_32x400/qos_defaults_t1.j2
Executable file
@ -0,0 +1,129 @@
|
||||
{% 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": "3",
|
||||
"4": "4",
|
||||
"5": "0",
|
||||
"6": "0",
|
||||
"7": "0"
|
||||
}
|
||||
},
|
||||
"DSCP_TO_TC_MAP": {
|
||||
"AZURE": {
|
||||
"0" : "1",
|
||||
"1" : "1",
|
||||
"2" : "1",
|
||||
"3" : "3",
|
||||
"4" : "4",
|
||||
"5" : "2",
|
||||
"6" : "1",
|
||||
"7" : "1",
|
||||
"8" : "0",
|
||||
"9" : "1",
|
||||
"10": "1",
|
||||
"11": "1",
|
||||
"12": "1",
|
||||
"13": "1",
|
||||
"14": "1",
|
||||
"15": "1",
|
||||
"16": "1",
|
||||
"17": "1",
|
||||
"18": "1",
|
||||
"19": "1",
|
||||
"20": "1",
|
||||
"21": "1",
|
||||
"22": "1",
|
||||
"23": "1",
|
||||
"24": "1",
|
||||
"25": "1",
|
||||
"26": "1",
|
||||
"27": "1",
|
||||
"28": "1",
|
||||
"29": "1",
|
||||
"30": "1",
|
||||
"31": "1",
|
||||
"32": "1",
|
||||
"33": "1",
|
||||
"34": "1",
|
||||
"35": "1",
|
||||
"36": "1",
|
||||
"37": "1",
|
||||
"38": "1",
|
||||
"39": "1",
|
||||
"40": "1",
|
||||
"41": "1",
|
||||
"42": "1",
|
||||
"43": "1",
|
||||
"44": "1",
|
||||
"45": "1",
|
||||
"46": "5",
|
||||
"47": "1",
|
||||
"48": "6",
|
||||
"49": "1",
|
||||
"50": "1",
|
||||
"51": "1",
|
||||
"52": "1",
|
||||
"53": "1",
|
||||
"54": "1",
|
||||
"55": "1",
|
||||
"56": "1",
|
||||
"57": "1",
|
||||
"58": "1",
|
||||
"59": "1",
|
||||
"60": "1",
|
||||
"61": "1",
|
||||
"62": "1",
|
||||
"63": "1"
|
||||
}
|
||||
},
|
||||
"PORT_QOS_MAP": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}": {
|
||||
"tc_to_pg_map": "AZURE",
|
||||
"tc_to_queue_map": "AZURE",
|
||||
"dscp_to_tc_map": "AZURE",
|
||||
"pfc_enable": "3,4"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"WRED_PROFILE": {
|
||||
"AZURE_LOSSLESS" : {
|
||||
"wred_green_enable" : "true",
|
||||
"wred_yellow_enable" : "true",
|
||||
"wred_red_enable" : "true",
|
||||
"ecn" : "ecn_all",
|
||||
"green_max_threshold" : "2097152",
|
||||
"green_min_threshold" : "1048576",
|
||||
"yellow_max_threshold" : "2097152",
|
||||
"yellow_min_threshold" : "1048576",
|
||||
"red_max_threshold" : "2097152",
|
||||
"red_min_threshold" : "1048576",
|
||||
"green_drop_probability" : "5",
|
||||
"yellow_drop_probability": "5",
|
||||
"red_drop_probability" : "5"
|
||||
}
|
||||
}
|
||||
}
|
@ -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
|
||||
|
@ -1,6 +1,5 @@
|
||||
{# Default values which will be used if no actual configura available #}
|
||||
{% set default_cable = '300m' %}
|
||||
{% set default_ports_num = 64 -%}
|
||||
{% 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 #}
|
||||
@ -12,44 +11,53 @@
|
||||
}
|
||||
%}
|
||||
|
||||
{%- macro cable_length(port_name) -%}
|
||||
{%- set cable_len = [] -%}
|
||||
{%- for local_port in DEVICE_NEIGHBOR -%}
|
||||
{%- if local_port == port_name -%}
|
||||
{%- if DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%}
|
||||
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%}
|
||||
{%- set neighbor_role = neighbor.type -%}
|
||||
{%- 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 -%}
|
||||
{%- 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 -%}
|
||||
{{ default_cable }}
|
||||
{%- endif -%}
|
||||
{% endmacro %}
|
||||
{%- 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 -%}
|
||||
|
||||
{# 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 = [] %}
|
||||
{% for port in PORT %}
|
||||
{%- if port_names_list.append(port) %}{% endif %}
|
||||
@ -57,6 +65,15 @@
|
||||
{% 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",
|
||||
@ -64,57 +81,81 @@
|
||||
"mode": "dynamic",
|
||||
"xoff": "17708800"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"lossy_pool": {
|
||||
"size": "18874368",
|
||||
"type": "egress",
|
||||
"mode": "dynamic",
|
||||
"xoff": "0"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "66092800",
|
||||
"type": "egress"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossless_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"xoff":"1433600",
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"xoff":"38816",
|
||||
"size":"1518",
|
||||
"dynamic_th":"-4",
|
||||
"xon_offset":"6272"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"size":"0",
|
||||
"static_th":"9721600"
|
||||
"dynamic_th":"1",
|
||||
"xon_offset":"9408"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"egress_lossy_pool",
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"static_th":"9721600"
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|lossy_pool]",
|
||||
"size":"0",
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"egress_lossy_pool",
|
||||
"pool":"[BUFFER_POOL|lossy_pool]",
|
||||
"size":"1518",
|
||||
"dynamic_th":"3"
|
||||
"dynamic_th":"2"
|
||||
}
|
||||
},
|
||||
"BUFFER_PG": {
|
||||
"{{ port_names }}|0-3": {
|
||||
"profile" : "egress_lossless_profile"
|
||||
},
|
||||
"{{ port_names }}|4-5": {
|
||||
"profile" : "ingress_lossless_profile"
|
||||
},
|
||||
"{{ port_names }}|6-7": {
|
||||
"profile" : "egress_lossless_profile"
|
||||
}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|1-2": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
|
||||
"BUFFER_QUEUE": {
|
||||
"{{ port_names }}|4-5": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
|
||||
},
|
||||
"{{ port_names }}|0-3": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-2": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
},
|
||||
"{{ port_names }}|6-7": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
}
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,42 @@
|
||||
{% 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":"2"
|
||||
}
|
||||
},
|
||||
"BUFFER_PG": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-7": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
},
|
||||
"BUFFER_QUEUE": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-7": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
@ -0,0 +1,161 @@
|
||||
{# 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"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "66092800",
|
||||
"type": "egress"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossless_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"xoff":"38816",
|
||||
"size":"1518",
|
||||
"dynamic_th":"1",
|
||||
"xon_offset":"9408"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"size":"0",
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"lossy_pool",
|
||||
"size":"0",
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"lossy_pool",
|
||||
"size":"1518",
|
||||
"dynamic_th":"2"
|
||||
}
|
||||
},
|
||||
"BUFFER_PG": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "ingress_lossless_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|1-2": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
|
||||
"BUFFER_QUEUE": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "egress_lossless_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-2": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
@ -4,12 +4,17 @@ ifcs:
|
||||
nodes:
|
||||
- node_id: "0"
|
||||
options:
|
||||
sd_low_power_mode_global_default: "true"
|
||||
sku: "configs/sku/innovium.77700_B"
|
||||
netdev:
|
||||
- auto_create: "no"
|
||||
multi_interface: "yes"
|
||||
buffer_management_mode: "api_driven"
|
||||
wred_cr_ip_proto_list: "17"
|
||||
cr_assignment_mode: "1"
|
||||
max_lossless_tc: "2"
|
||||
ilpm_enable: "1"
|
||||
forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
|
||||
txring:
|
||||
- txring_id: "0"
|
||||
desc_count: "1024"
|
||||
@ -632,24 +637,6 @@ nodes:
|
||||
type: "eth"
|
||||
admin_state: "true"
|
||||
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:
|
||||
- id: "0"
|
||||
lane_swap: "01234567"
|
||||
|
@ -5,6 +5,7 @@ device_id: 0x1b58
|
||||
# Hardware constraint information
|
||||
hardware:
|
||||
num_ibs: 6
|
||||
ib_active: 0,1,2,3,4,5
|
||||
|
||||
ports_per_ib: 32, 32, 32, 32, 20, 20
|
||||
recirc_port_num: 32, 32, 32, 32, 32, 32
|
||||
|
@ -0,0 +1,8 @@
|
||||
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:$INNOVIUM_DIR/ifcs_cmds:$INNOVIUM_DIR/testutil"
|
||||
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"
|
||||
IVM_SAI_PARAM_A0008: "32"
|
@ -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"
|
@ -0,0 +1,22 @@
|
||||
# PG lossless profiles.
|
||||
# speed cable size xon xoff threshold xon_offset
|
||||
25000 5m 1518 0 15680 1 9408
|
||||
50000 5m 1518 0 21248 1 9408
|
||||
100000 5m 1518 0 34624 1 9408
|
||||
200000 5m 1518 0 62368 1 9408
|
||||
400000 5m 1518 0 117536 1 9408
|
||||
25000 40m 1518 0 16928 1 9408
|
||||
50000 40m 1518 0 23392 1 9408
|
||||
100000 40m 1518 0 38816 1 9408
|
||||
200000 40m 1518 0 71904 1 9408
|
||||
400000 40m 1518 0 135520 1 9408
|
||||
25000 100m 1518 0 18848 1 9408
|
||||
50000 100m 1518 0 27264 1 9408
|
||||
100000 100m 1518 0 46496 1 9408
|
||||
200000 100m 1518 0 87168 1 9408
|
||||
400000 100m 1518 0 166688 1 9408
|
||||
25000 300m 1518 0 25184 1 9408
|
||||
50000 300m 1518 0 40128 1 9408
|
||||
100000 300m 1518 0 72384 1 9408
|
||||
200000 300m 1518 0 138112 1 9408
|
||||
400000 300m 1518 0 268640 1 9408
|
@ -1,67 +1,65 @@
|
||||
# name lanes speed index mtu
|
||||
Ethernet0 249,250,251,252 100000 0 9126
|
||||
Ethernet4 253,254,255,256 100000 1 9126
|
||||
Ethernet8 245,246,247,248 100000 2 9126
|
||||
Ethernet12 241,242,243,244 100000 3 9126
|
||||
Ethernet16 233,234,235,236 100000 4 9126
|
||||
Ethernet20 237,238,239,240 100000 5 9126
|
||||
Ethernet24 229,230,231,232 100000 6 9126
|
||||
Ethernet28 225,226,227,228 100000 7 9126
|
||||
Ethernet32 217,218,219,220 100000 8 9126
|
||||
Ethernet36 221,222,223,224 100000 9 9126
|
||||
Ethernet40 213,214,215,216 100000 10 9126
|
||||
Ethernet44 209,210,211,212 100000 11 9126
|
||||
Ethernet48 201,202,203,204 100000 12 9126
|
||||
Ethernet52 205,206,207,208 100000 13 9126
|
||||
Ethernet56 197,198,199,200 100000 14 9126
|
||||
Ethernet60 193,194,195,196 100000 15 9126
|
||||
Ethernet64 185,186,187,188 100000 16 9126
|
||||
Ethernet68 189,190,191,192 100000 17 9126
|
||||
Ethernet72 181,182,183,184 100000 18 9126
|
||||
Ethernet76 177,178,179,180 100000 19 9126
|
||||
Ethernet80 169,170,171,172 100000 20 9126
|
||||
Ethernet84 173,174,175,176 100000 21 9126
|
||||
Ethernet88 165,166,167,168 100000 22 9126
|
||||
Ethernet92 161,162,163,164 100000 23 9126
|
||||
Ethernet96 153,154,155,156 100000 24 9126
|
||||
Ethernet100 157,158,159,160 100000 25 9126
|
||||
Ethernet104 149,150,151,152 100000 26 9126
|
||||
Ethernet108 145,146,147,148 100000 27 9126
|
||||
Ethernet112 137,138,139,140 100000 28 9126
|
||||
Ethernet116 141,142,143,144 100000 29 9126
|
||||
Ethernet120 133,134,135,136 100000 30 9126
|
||||
Ethernet124 129,130,131,132 100000 31 9126
|
||||
Ethernet128 121,122,123,124 100000 32 9126
|
||||
Ethernet132 125,126,127,128 100000 33 9126
|
||||
Ethernet136 117,118,119,120 100000 34 9126
|
||||
Ethernet140 113,114,115,116 100000 35 9126
|
||||
Ethernet144 105,106,107,108 100000 36 9126
|
||||
Ethernet148 109,110,111,112 100000 37 9126
|
||||
Ethernet152 101,102,103,104 100000 38 9126
|
||||
Ethernet156 97,98,99,100 100000 39 9126
|
||||
Ethernet160 89,90,91,92 100000 40 9126
|
||||
Ethernet164 93,94,95,96 100000 41 9126
|
||||
Ethernet168 85,86,87,88 100000 42 9126
|
||||
Ethernet172 81,82,83,84 100000 43 9126
|
||||
Ethernet176 73,74,75,76 100000 44 9126
|
||||
Ethernet180 77,78,79,80 100000 45 9126
|
||||
Ethernet184 69,70,71,72 100000 46 9126
|
||||
Ethernet188 65,66,67,68 100000 47 9126
|
||||
Ethernet192 57,58,59,60 100000 48 9126
|
||||
Ethernet196 61,62,63,64 100000 49 9126
|
||||
Ethernet200 53,54,55,56 100000 50 9126
|
||||
Ethernet204 49,50,51,52 100000 51 9126
|
||||
Ethernet208 41,42,43,44 100000 52 9126
|
||||
Ethernet212 45,46,47,48 100000 53 9126
|
||||
Ethernet216 37,38,39,40 100000 54 9126
|
||||
Ethernet220 33,34,35,36 100000 55 9126
|
||||
Ethernet224 25,26,27,28 100000 56 9126
|
||||
Ethernet228 29,30,31,32 100000 57 9126
|
||||
Ethernet232 21,22,23,24 100000 58 9126
|
||||
Ethernet236 17,18,19,20 100000 59 9126
|
||||
Ethernet240 9,10,11,12 100000 60 9126
|
||||
Ethernet244 13,14,15,16 100000 61 9126
|
||||
Ethernet248 5,6,7,8 100000 62 9126
|
||||
Ethernet252 1,2,3,4 100000 63 9126
|
||||
Ethernet256 257 10000 64 9126
|
||||
Ethernet257 258 10000 65 9126
|
||||
# name lanes alias speed index mtu
|
||||
Ethernet0 249,250,251,252 Eth1 100000 0 9126
|
||||
Ethernet4 253,254,255,256 Eth2 100000 1 9126
|
||||
Ethernet8 245,246,247,248 Eth3 100000 2 9126
|
||||
Ethernet12 241,242,243,244 Eth4 100000 3 9126
|
||||
Ethernet16 233,234,235,236 Eth5 100000 4 9126
|
||||
Ethernet20 237,238,239,240 Eth6 100000 5 9126
|
||||
Ethernet24 229,230,231,232 Eth7 100000 6 9126
|
||||
Ethernet28 225,226,227,228 Eth8 100000 7 9126
|
||||
Ethernet32 217,218,219,220 Eth9 100000 8 9126
|
||||
Ethernet36 221,222,223,224 Eth10 100000 9 9126
|
||||
Ethernet40 213,214,215,216 Eth11 100000 10 9126
|
||||
Ethernet44 209,210,211,212 Eth12 100000 11 9126
|
||||
Ethernet48 201,202,203,204 Eth13 100000 12 9126
|
||||
Ethernet52 205,206,207,208 Eth14 100000 13 9126
|
||||
Ethernet56 197,198,199,200 Eth15 100000 14 9126
|
||||
Ethernet60 193,194,195,196 Eth16 100000 15 9126
|
||||
Ethernet64 185,186,187,188 Eth17 100000 16 9126
|
||||
Ethernet68 189,190,191,192 Eth18 100000 17 9126
|
||||
Ethernet72 181,182,183,184 Eth19 100000 18 9126
|
||||
Ethernet76 177,178,179,180 Eth20 100000 19 9126
|
||||
Ethernet80 169,170,171,172 Eth21 100000 20 9126
|
||||
Ethernet84 173,174,175,176 Eth22 100000 21 9126
|
||||
Ethernet88 165,166,167,168 Eth23 100000 22 9126
|
||||
Ethernet92 161,162,163,164 Eth24 100000 23 9126
|
||||
Ethernet96 153,154,155,156 Eth25 100000 24 9126
|
||||
Ethernet100 157,158,159,160 Eth26 100000 25 9126
|
||||
Ethernet104 149,150,151,152 Eth27 100000 26 9126
|
||||
Ethernet108 145,146,147,148 Eth28 100000 27 9126
|
||||
Ethernet112 137,138,139,140 Eth29 100000 28 9126
|
||||
Ethernet116 141,142,143,144 Eth30 100000 29 9126
|
||||
Ethernet120 133,134,135,136 Eth31 100000 30 9126
|
||||
Ethernet124 129,130,131,132 Eth32 100000 31 9126
|
||||
Ethernet128 121,122,123,124 Eth33 100000 32 9126
|
||||
Ethernet132 125,126,127,128 Eth34 100000 33 9126
|
||||
Ethernet136 117,118,119,120 Eth35 100000 34 9126
|
||||
Ethernet140 113,114,115,116 Eth36 100000 35 9126
|
||||
Ethernet144 105,106,107,108 Eth37 100000 36 9126
|
||||
Ethernet148 109,110,111,112 Eth38 100000 37 9126
|
||||
Ethernet152 101,102,103,104 Eth39 100000 38 9126
|
||||
Ethernet156 97,98,99,100 Eth40 100000 39 9126
|
||||
Ethernet160 89,90,91,92 Eth41 100000 40 9126
|
||||
Ethernet164 93,94,95,96 Eth42 100000 41 9126
|
||||
Ethernet168 85,86,87,88 Eth43 100000 42 9126
|
||||
Ethernet172 81,82,83,84 Eth44 100000 43 9126
|
||||
Ethernet176 73,74,75,76 Eth45 100000 44 9126
|
||||
Ethernet180 77,78,79,80 Eth46 100000 45 9126
|
||||
Ethernet184 69,70,71,72 Eth47 100000 46 9126
|
||||
Ethernet188 65,66,67,68 Eth48 100000 47 9126
|
||||
Ethernet192 57,58,59,60 Eth49 100000 48 9126
|
||||
Ethernet196 61,62,63,64 Eth50 100000 49 9126
|
||||
Ethernet200 53,54,55,56 Eth51 100000 50 9126
|
||||
Ethernet204 49,50,51,52 Eth52 100000 51 9126
|
||||
Ethernet208 41,42,43,44 Eth53 100000 52 9126
|
||||
Ethernet212 45,46,47,48 Eth54 100000 53 9126
|
||||
Ethernet216 37,38,39,40 Eth55 100000 54 9126
|
||||
Ethernet220 33,34,35,36 Eth56 100000 55 9126
|
||||
Ethernet224 25,26,27,28 Eth57 100000 56 9126
|
||||
Ethernet228 29,30,31,32 Eth58 100000 57 9126
|
||||
Ethernet232 21,22,23,24 Eth59 100000 58 9126
|
||||
Ethernet236 17,18,19,20 Eth60 100000 59 9126
|
||||
Ethernet240 9,10,11,12 Eth61 100000 60 9126
|
||||
Ethernet244 13,14,15,16 Eth62 100000 61 9126
|
||||
Ethernet248 5,6,7,8 Eth63 100000 62 9126
|
||||
Ethernet252 1,2,3,4 Eth64 100000 63 9126
|
||||
|
@ -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 = [] %}
|
||||
{% for port in PORT %}
|
||||
{%- if port_names_list.append(port) %}{% endif %}
|
||||
@ -19,102 +8,122 @@
|
||||
{
|
||||
"TC_TO_QUEUE_MAP":{
|
||||
"AZURE":{
|
||||
"1":"1",
|
||||
"0":"0",
|
||||
"3":"3",
|
||||
"1":"1",
|
||||
"2":"2",
|
||||
"5":"5",
|
||||
"3":"3",
|
||||
"4":"4",
|
||||
"7":"7",
|
||||
"6":"6"
|
||||
"5":"5",
|
||||
"6":"6",
|
||||
"7":"7"
|
||||
}
|
||||
},
|
||||
"TC_TO_PRIORITY_GROUP_MAP": {
|
||||
"AZURE": {
|
||||
"1": "0",
|
||||
"0": "0",
|
||||
"3": "0",
|
||||
"1": "0",
|
||||
"2": "0",
|
||||
"4": "1",
|
||||
"5": "2",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "0",
|
||||
"6": "0",
|
||||
"7": "0"
|
||||
}
|
||||
},
|
||||
"DSCP_TO_TC_MAP": {
|
||||
"AZURE": {
|
||||
"0":"0",
|
||||
"1":"0",
|
||||
"2":"0",
|
||||
"3":"0",
|
||||
"4":"4",
|
||||
"5":"5",
|
||||
"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"
|
||||
"0" : "1",
|
||||
"1" : "1",
|
||||
"2" : "1",
|
||||
"3" : "3",
|
||||
"4" : "4",
|
||||
"5" : "2",
|
||||
"6" : "1",
|
||||
"7" : "1",
|
||||
"8" : "0",
|
||||
"9" : "1",
|
||||
"10": "1",
|
||||
"11": "1",
|
||||
"12": "1",
|
||||
"13": "1",
|
||||
"14": "1",
|
||||
"15": "1",
|
||||
"16": "1",
|
||||
"17": "1",
|
||||
"18": "1",
|
||||
"19": "1",
|
||||
"20": "1",
|
||||
"21": "1",
|
||||
"22": "1",
|
||||
"23": "1",
|
||||
"24": "1",
|
||||
"25": "1",
|
||||
"26": "1",
|
||||
"27": "1",
|
||||
"28": "1",
|
||||
"29": "1",
|
||||
"30": "1",
|
||||
"31": "1",
|
||||
"32": "1",
|
||||
"33": "1",
|
||||
"34": "1",
|
||||
"35": "1",
|
||||
"36": "1",
|
||||
"37": "1",
|
||||
"38": "1",
|
||||
"39": "1",
|
||||
"40": "1",
|
||||
"41": "1",
|
||||
"42": "1",
|
||||
"43": "1",
|
||||
"44": "1",
|
||||
"45": "1",
|
||||
"46": "5",
|
||||
"47": "1",
|
||||
"48": "6",
|
||||
"49": "1",
|
||||
"50": "1",
|
||||
"51": "1",
|
||||
"52": "1",
|
||||
"53": "1",
|
||||
"54": "1",
|
||||
"55": "1",
|
||||
"56": "1",
|
||||
"57": "1",
|
||||
"58": "1",
|
||||
"59": "1",
|
||||
"60": "1",
|
||||
"61": "1",
|
||||
"62": "1",
|
||||
"63": "1"
|
||||
}
|
||||
},
|
||||
"PORT_QOS_MAP": {
|
||||
"{{ port_names }}": {
|
||||
"tc_to_pg_map": "AZURE",
|
||||
"tc_to_queue_map": "AZURE",
|
||||
"dscp_to_tc_map": "AZURE",
|
||||
"pfc_enable": "4,5"
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}": {
|
||||
"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"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"WRED_PROFILE": {
|
||||
"AZURE_LOSSLESS" : {
|
||||
"wred_green_enable" : "true",
|
||||
"wred_yellow_enable" : "true",
|
||||
"wred_red_enable" : "true",
|
||||
"ecn" : "ecn_all",
|
||||
"green_max_threshold" : "2097152",
|
||||
"green_min_threshold" : "1048576",
|
||||
"yellow_max_threshold" : "2097152",
|
||||
"yellow_min_threshold" : "1048576",
|
||||
"red_max_threshold" : "2097152",
|
||||
"red_min_threshold" : "1048576",
|
||||
"green_drop_probability" : "5",
|
||||
"yellow_drop_probability": "5",
|
||||
"red_drop_probability" : "5"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,121 @@
|
||||
{% 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": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}": {
|
||||
"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]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"SCHEDULER": {
|
||||
"scheduler.7": {
|
||||
"type": "STRICT"
|
||||
}
|
||||
},
|
||||
"QUEUE": {
|
||||
"{{ port_names }}|7": {
|
||||
"scheduler": "[SCHEDULER|scheduler.7]"
|
||||
}
|
||||
}
|
||||
}
|
129
device/celestica/x86_64-cel_midstone-r0/Midstone-200i_64x100/qos_defaults_t1.j2
Executable file
129
device/celestica/x86_64-cel_midstone-r0/Midstone-200i_64x100/qos_defaults_t1.j2
Executable file
@ -0,0 +1,129 @@
|
||||
{% 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": "3",
|
||||
"4": "4",
|
||||
"5": "0",
|
||||
"6": "0",
|
||||
"7": "0"
|
||||
}
|
||||
},
|
||||
"DSCP_TO_TC_MAP": {
|
||||
"AZURE": {
|
||||
"0" : "1",
|
||||
"1" : "1",
|
||||
"2" : "1",
|
||||
"3" : "3",
|
||||
"4" : "4",
|
||||
"5" : "2",
|
||||
"6" : "1",
|
||||
"7" : "1",
|
||||
"8" : "0",
|
||||
"9" : "1",
|
||||
"10": "1",
|
||||
"11": "1",
|
||||
"12": "1",
|
||||
"13": "1",
|
||||
"14": "1",
|
||||
"15": "1",
|
||||
"16": "1",
|
||||
"17": "1",
|
||||
"18": "1",
|
||||
"19": "1",
|
||||
"20": "1",
|
||||
"21": "1",
|
||||
"22": "1",
|
||||
"23": "1",
|
||||
"24": "1",
|
||||
"25": "1",
|
||||
"26": "1",
|
||||
"27": "1",
|
||||
"28": "1",
|
||||
"29": "1",
|
||||
"30": "1",
|
||||
"31": "1",
|
||||
"32": "1",
|
||||
"33": "1",
|
||||
"34": "1",
|
||||
"35": "1",
|
||||
"36": "1",
|
||||
"37": "1",
|
||||
"38": "1",
|
||||
"39": "1",
|
||||
"40": "1",
|
||||
"41": "1",
|
||||
"42": "1",
|
||||
"43": "1",
|
||||
"44": "1",
|
||||
"45": "1",
|
||||
"46": "5",
|
||||
"47": "1",
|
||||
"48": "6",
|
||||
"49": "1",
|
||||
"50": "1",
|
||||
"51": "1",
|
||||
"52": "1",
|
||||
"53": "1",
|
||||
"54": "1",
|
||||
"55": "1",
|
||||
"56": "1",
|
||||
"57": "1",
|
||||
"58": "1",
|
||||
"59": "1",
|
||||
"60": "1",
|
||||
"61": "1",
|
||||
"62": "1",
|
||||
"63": "1"
|
||||
}
|
||||
},
|
||||
"PORT_QOS_MAP": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}": {
|
||||
"tc_to_pg_map": "AZURE",
|
||||
"tc_to_queue_map": "AZURE",
|
||||
"dscp_to_tc_map": "AZURE",
|
||||
"pfc_enable": "3,4"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"WRED_PROFILE": {
|
||||
"AZURE_LOSSLESS" : {
|
||||
"wred_green_enable" : "true",
|
||||
"wred_yellow_enable" : "true",
|
||||
"wred_red_enable" : "true",
|
||||
"ecn" : "ecn_all",
|
||||
"green_max_threshold" : "2097152",
|
||||
"green_min_threshold" : "1048576",
|
||||
"yellow_max_threshold" : "2097152",
|
||||
"yellow_min_threshold" : "1048576",
|
||||
"red_max_threshold" : "2097152",
|
||||
"red_min_threshold" : "1048576",
|
||||
"green_drop_probability" : "5",
|
||||
"yellow_drop_probability": "5",
|
||||
"red_drop_probability" : "5"
|
||||
}
|
||||
}
|
||||
}
|
@ -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
|
||||
|
@ -1,7 +1,5 @@
|
||||
{# Default values which will be used if no actual configura available #}
|
||||
{% set default_cable = '300m' %}
|
||||
{% set default_speed = '100G' %}
|
||||
{% set default_ports_num = 32 -%}
|
||||
{% 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 #}
|
||||
@ -13,44 +11,53 @@
|
||||
}
|
||||
%}
|
||||
|
||||
{%- macro cable_length(port_name) -%}
|
||||
{%- set cable_len = [] -%}
|
||||
{%- for local_port in DEVICE_NEIGHBOR -%}
|
||||
{%- if local_port == port_name -%}
|
||||
{%- if DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%}
|
||||
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%}
|
||||
{%- set neighbor_role = neighbor.type -%}
|
||||
{%- 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 -%}
|
||||
{%- 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 -%}
|
||||
{{ default_cable }}
|
||||
{%- endif -%}
|
||||
{% endmacro %}
|
||||
{%- 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 -%}
|
||||
|
||||
{# 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 = [] %}
|
||||
{% for port in PORT %}
|
||||
{%- if port_names_list.append(port) %}{% endif %}
|
||||
@ -58,6 +65,15 @@
|
||||
{% 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",
|
||||
@ -65,57 +81,81 @@
|
||||
"mode": "dynamic",
|
||||
"xoff": "17708800"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"lossy_pool": {
|
||||
"size": "18874368",
|
||||
"type": "egress",
|
||||
"mode": "dynamic",
|
||||
"xoff": "0"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "66092800",
|
||||
"type": "egress"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossless_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"xoff":"1433600",
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"xoff":"38816",
|
||||
"size":"1518",
|
||||
"dynamic_th":"-4",
|
||||
"xon_offset":"6272"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"size":"0",
|
||||
"static_th":"9721600"
|
||||
"dynamic_th":"1",
|
||||
"xon_offset":"9408"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"egress_lossy_pool",
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"static_th":"9721600"
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|lossy_pool]",
|
||||
"size":"0",
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"egress_lossy_pool",
|
||||
"pool":"[BUFFER_POOL|lossy_pool]",
|
||||
"size":"1518",
|
||||
"dynamic_th":"3"
|
||||
"dynamic_th":"2"
|
||||
}
|
||||
},
|
||||
"BUFFER_PG": {
|
||||
"{{ port_names }}|0-3": {
|
||||
"profile" : "egress_lossless_profile"
|
||||
},
|
||||
"{{ port_names }}|4-5": {
|
||||
"profile" : "ingress_lossless_profile"
|
||||
},
|
||||
"{{ port_names }}|6-7": {
|
||||
"profile" : "egress_lossless_profile"
|
||||
}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|1-2": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
|
||||
"BUFFER_QUEUE": {
|
||||
"{{ port_names }}|4-5": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
|
||||
},
|
||||
"{{ port_names }}|0-3": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-2": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
},
|
||||
"{{ port_names }}|6-7": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
}
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
||||
|
@ -4,11 +4,14 @@ ifcs:
|
||||
nodes:
|
||||
- node_id: "0"
|
||||
options:
|
||||
sd_low_power_mode_global_default: "true"
|
||||
sku: "configs/sku/innovium.77700_B"
|
||||
netdev:
|
||||
- auto_create: "no"
|
||||
multi_interface: "yes"
|
||||
buffer_management_mode: "bootstrap_lossless"
|
||||
wred_cr_ip_proto_list: "17"
|
||||
cr_assignment_mode: "1"
|
||||
max_lossless_tc: "2"
|
||||
txring:
|
||||
- txring_id: "0"
|
||||
|
@ -5,6 +5,7 @@ device_id: 0x1b58
|
||||
# Hardware constraint information
|
||||
hardware:
|
||||
num_ibs: 6
|
||||
ib_active: 0,1,2,3,4,5
|
||||
|
||||
ports_per_ib: 32, 32, 32, 32, 20, 20
|
||||
recirc_port_num: 32, 32, 32, 32, 32, 32
|
||||
|
@ -0,0 +1,8 @@
|
||||
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/ifcs_cmds:$INNOVIUM_DIR/testutil"
|
||||
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"
|
||||
IVM_SAI_PARAM_A0008: "32"
|
@ -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"
|
@ -1,102 +1,129 @@
|
||||
{% 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":{
|
||||
"1":"1",
|
||||
"0":"0",
|
||||
"3":"3",
|
||||
"1":"1",
|
||||
"2":"2",
|
||||
"5":"5",
|
||||
"3":"3",
|
||||
"4":"4",
|
||||
"7":"7",
|
||||
"6":"6"
|
||||
"5":"5",
|
||||
"6":"6",
|
||||
"7":"7"
|
||||
}
|
||||
},
|
||||
"TC_TO_PRIORITY_GROUP_MAP": {
|
||||
"AZURE": {
|
||||
"1": "0",
|
||||
"0": "0",
|
||||
"3": "0",
|
||||
"1": "0",
|
||||
"2": "0",
|
||||
"4": "1",
|
||||
"5": "2",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "0",
|
||||
"6": "0",
|
||||
"7": "0"
|
||||
}
|
||||
},
|
||||
"DSCP_TO_TC_MAP": {
|
||||
"AZURE": {
|
||||
"0":"0",
|
||||
"1":"0",
|
||||
"2":"0",
|
||||
"3":"0",
|
||||
"4":"4",
|
||||
"5":"5",
|
||||
"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"
|
||||
"0" : "1",
|
||||
"1" : "1",
|
||||
"2" : "1",
|
||||
"3" : "3",
|
||||
"4" : "4",
|
||||
"5" : "2",
|
||||
"6" : "1",
|
||||
"7" : "1",
|
||||
"8" : "0",
|
||||
"9" : "1",
|
||||
"10": "1",
|
||||
"11": "1",
|
||||
"12": "1",
|
||||
"13": "1",
|
||||
"14": "1",
|
||||
"15": "1",
|
||||
"16": "1",
|
||||
"17": "1",
|
||||
"18": "1",
|
||||
"19": "1",
|
||||
"20": "1",
|
||||
"21": "1",
|
||||
"22": "1",
|
||||
"23": "1",
|
||||
"24": "1",
|
||||
"25": "1",
|
||||
"26": "1",
|
||||
"27": "1",
|
||||
"28": "1",
|
||||
"29": "1",
|
||||
"30": "1",
|
||||
"31": "1",
|
||||
"32": "1",
|
||||
"33": "1",
|
||||
"34": "1",
|
||||
"35": "1",
|
||||
"36": "1",
|
||||
"37": "1",
|
||||
"38": "1",
|
||||
"39": "1",
|
||||
"40": "1",
|
||||
"41": "1",
|
||||
"42": "1",
|
||||
"43": "1",
|
||||
"44": "1",
|
||||
"45": "1",
|
||||
"46": "5",
|
||||
"47": "1",
|
||||
"48": "6",
|
||||
"49": "1",
|
||||
"50": "1",
|
||||
"51": "1",
|
||||
"52": "1",
|
||||
"53": "1",
|
||||
"54": "1",
|
||||
"55": "1",
|
||||
"56": "1",
|
||||
"57": "1",
|
||||
"58": "1",
|
||||
"59": "1",
|
||||
"60": "1",
|
||||
"61": "1",
|
||||
"62": "1",
|
||||
"63": "1"
|
||||
}
|
||||
},
|
||||
"PORT_QOS_MAP": {
|
||||
"Ethernet180,Ethernet8,Ethernet44,Ethernet184,Ethernet188,Ethernet0,Ethernet4,Ethernet108,Ethernet248,Ethernet100,Ethernet244,Ethernet128,Ethernet104,Ethernet240,Ethernet40,Ethernet228,Ethernet96,Ethernet168,Ethernet148,Ethernet204,Ethernet120,Ethernet220,Ethernet144,Ethernet208,Ethernet160,Ethernet224,Ethernet140,Ethernet56,Ethernet164,Ethernet76,Ethernet72,Ethernet32,Ethernet16,Ethernet36,Ethernet12,Ethernet196,Ethernet28,Ethernet192,Ethernet200,Ethernet124,Ethernet24,Ethernet116,Ethernet80,Ethernet112,Ethernet84,Ethernet152,Ethernet136,Ethernet156,Ethernet92,Ethernet132,Ethernet48,Ethernet232,Ethernet172,Ethernet216,Ethernet236,Ethernet176,Ethernet212,Ethernet64,Ethernet88,Ethernet60,Ethernet52,Ethernet20,Ethernet68,Ethernet252": {
|
||||
"tc_to_pg_map": "AZURE",
|
||||
"tc_to_queue_map": "AZURE",
|
||||
"dscp_to_tc_map": "AZURE",
|
||||
"pfc_enable": "4,5"
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}": {
|
||||
"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"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"WRED_PROFILE": {
|
||||
"AZURE_LOSSLESS" : {
|
||||
"wred_green_enable" : "true",
|
||||
"wred_yellow_enable" : "true",
|
||||
"wred_red_enable" : "true",
|
||||
"ecn" : "ecn_all",
|
||||
"green_max_threshold" : "2097152",
|
||||
"green_min_threshold" : "1048576",
|
||||
"yellow_max_threshold" : "2097152",
|
||||
"yellow_min_threshold" : "1048576",
|
||||
"red_max_threshold" : "2097152",
|
||||
"red_min_threshold" : "1048576",
|
||||
"green_drop_probability" : "5",
|
||||
"yellow_drop_probability": "5",
|
||||
"red_drop_probability" : "5"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -1,6 +1,5 @@
|
||||
{# Default values which will be used if no actual configura available #}
|
||||
{% set default_cable = '300m' %}
|
||||
{% set default_ports_num = 64 -%}
|
||||
{% 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 #}
|
||||
@ -12,44 +11,53 @@
|
||||
}
|
||||
%}
|
||||
|
||||
{%- macro cable_length(port_name) -%}
|
||||
{%- set cable_len = [] -%}
|
||||
{%- for local_port in DEVICE_NEIGHBOR -%}
|
||||
{%- if local_port == port_name -%}
|
||||
{%- if DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%}
|
||||
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%}
|
||||
{%- set neighbor_role = neighbor.type -%}
|
||||
{%- 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 -%}
|
||||
{%- 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 -%}
|
||||
{{ default_cable }}
|
||||
{%- endif -%}
|
||||
{% endmacro %}
|
||||
{%- 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 -%}
|
||||
|
||||
{# 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 = [] %}
|
||||
{% for port in PORT %}
|
||||
{%- if port_names_list.append(port) %}{% endif %}
|
||||
@ -57,6 +65,15 @@
|
||||
{% 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",
|
||||
@ -64,57 +81,81 @@
|
||||
"mode": "dynamic",
|
||||
"xoff": "17708800"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"lossy_pool": {
|
||||
"size": "18874368",
|
||||
"type": "egress",
|
||||
"mode": "dynamic",
|
||||
"xoff": "0"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "66092800",
|
||||
"type": "egress"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossless_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"xoff":"1433600",
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"xoff":"38816",
|
||||
"size":"1518",
|
||||
"dynamic_th":"-4",
|
||||
"xon_offset":"6272"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"size":"0",
|
||||
"static_th":"9721600"
|
||||
"dynamic_th":"1",
|
||||
"xon_offset":"9408"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"egress_lossy_pool",
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"static_th":"9721600"
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|lossy_pool]",
|
||||
"size":"0",
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"egress_lossy_pool",
|
||||
"pool":"[BUFFER_POOL|lossy_pool]",
|
||||
"size":"1518",
|
||||
"dynamic_th":"3"
|
||||
"dynamic_th":"2"
|
||||
}
|
||||
},
|
||||
"BUFFER_PG": {
|
||||
"{{ port_names }}|0-3": {
|
||||
"profile" : "egress_lossless_profile"
|
||||
},
|
||||
"{{ port_names }}|4-5": {
|
||||
"profile" : "ingress_lossless_profile"
|
||||
},
|
||||
"{{ port_names }}|6-7": {
|
||||
"profile" : "egress_lossless_profile"
|
||||
}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|1-2": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
|
||||
"BUFFER_QUEUE": {
|
||||
"{{ port_names }}|4-5": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
|
||||
},
|
||||
"{{ port_names }}|0-3": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-2": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
},
|
||||
"{{ port_names }}|6-7": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
}
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,42 @@
|
||||
{% 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":"2"
|
||||
}
|
||||
},
|
||||
"BUFFER_PG": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-7": {
|
||||
"profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
},
|
||||
"BUFFER_QUEUE": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-7": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
@ -0,0 +1,161 @@
|
||||
{# 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"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "66092800",
|
||||
"type": "egress"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossless_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"xoff":"38816",
|
||||
"size":"1518",
|
||||
"dynamic_th":"1",
|
||||
"xon_offset":"9408"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"ingress_lossless_pool",
|
||||
"size":"0",
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"lossy_pool",
|
||||
"size":"0",
|
||||
"static_th":"9497600"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"lossy_pool",
|
||||
"size":"1518",
|
||||
"dynamic_th":"2"
|
||||
}
|
||||
},
|
||||
"BUFFER_PG": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "ingress_lossless_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|1-2": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "ingress_lossy_profile"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
|
||||
"BUFFER_QUEUE": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "egress_lossless_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|0-2": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}|5-7": {
|
||||
"profile" : "egress_lossy_profile"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
@ -4,12 +4,17 @@ ifcs:
|
||||
nodes:
|
||||
- node_id: "0"
|
||||
options:
|
||||
sd_low_power_mode_global_default: "true"
|
||||
sku: "configs/sku/innovium.77700_B"
|
||||
netdev:
|
||||
- auto_create: "no"
|
||||
multi_interface: "yes"
|
||||
buffer_management_mode: "api_driven"
|
||||
wred_cr_ip_proto_list: "17"
|
||||
cr_assignment_mode: "1"
|
||||
max_lossless_tc: "2"
|
||||
ilpm_enable: "1"
|
||||
forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
|
||||
txring:
|
||||
- txring_id: "0"
|
||||
desc_count: "1024"
|
||||
@ -504,20 +509,6 @@ nodes:
|
||||
speed: "200G"
|
||||
sysport: "1"
|
||||
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:
|
||||
- id: "0"
|
||||
lane_swap: "01234567"
|
||||
|
@ -5,6 +5,7 @@ device_id: 0x1b58
|
||||
# Hardware constraint information
|
||||
hardware:
|
||||
num_ibs: 6
|
||||
ib_active: 0,1,2,3,4,5
|
||||
|
||||
ports_per_ib: 32, 32, 32, 32, 20, 20
|
||||
recirc_port_num: 32, 32, 32, 32, 32, 32
|
||||
|
@ -0,0 +1,8 @@
|
||||
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:$INNOVIUM_DIR/ifcs_cmds:$INNOVIUM_DIR/testutil"
|
||||
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"
|
||||
IVM_SAI_PARAM_A0008: "32"
|
@ -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"
|
@ -0,0 +1,22 @@
|
||||
# PG lossless profiles.
|
||||
# speed cable size xon xoff threshold xon_offset
|
||||
25000 5m 1518 0 15680 1 9408
|
||||
50000 5m 1518 0 21248 1 9408
|
||||
100000 5m 1518 0 34624 1 9408
|
||||
200000 5m 1518 0 62368 1 9408
|
||||
400000 5m 1518 0 117536 1 9408
|
||||
25000 40m 1518 0 16928 1 9408
|
||||
50000 40m 1518 0 23392 1 9408
|
||||
100000 40m 1518 0 38816 1 9408
|
||||
200000 40m 1518 0 71904 1 9408
|
||||
400000 40m 1518 0 135520 1 9408
|
||||
25000 100m 1518 0 18848 1 9408
|
||||
50000 100m 1518 0 27264 1 9408
|
||||
100000 100m 1518 0 46496 1 9408
|
||||
200000 100m 1518 0 87168 1 9408
|
||||
400000 100m 1518 0 166688 1 9408
|
||||
25000 300m 1518 0 25184 1 9408
|
||||
50000 300m 1518 0 40128 1 9408
|
||||
100000 300m 1518 0 72384 1 9408
|
||||
200000 300m 1518 0 138112 1 9408
|
||||
400000 300m 1518 0 268640 1 9408
|
@ -1,67 +1,65 @@
|
||||
# name lanes speed index mtu fec
|
||||
Ethernet0 249,250,251,252 200000 0 9126 rs
|
||||
Ethernet4 253,254,255,256 200000 1 9126 rs
|
||||
Ethernet8 245,246,247,248 200000 2 9126 rs
|
||||
Ethernet12 241,242,243,244 200000 3 9126 rs
|
||||
Ethernet16 233,234,235,236 200000 4 9126 rs
|
||||
Ethernet20 237,238,239,240 200000 5 9126 rs
|
||||
Ethernet24 229,230,231,232 200000 6 9126 rs
|
||||
Ethernet28 225,226,227,228 200000 7 9126 rs
|
||||
Ethernet32 217,218,219,220 200000 8 9126 rs
|
||||
Ethernet36 221,222,223,224 200000 9 9126 rs
|
||||
Ethernet40 213,214,215,216 200000 10 9126 rs
|
||||
Ethernet44 209,210,211,212 200000 11 9126 rs
|
||||
Ethernet48 201,202,203,204 200000 12 9126 rs
|
||||
Ethernet52 205,206,207,208 200000 13 9126 rs
|
||||
Ethernet56 197,198,199,200 200000 14 9126 rs
|
||||
Ethernet60 193,194,195,196 200000 15 9126 rs
|
||||
Ethernet64 185,186,187,188 200000 16 9126 rs
|
||||
Ethernet68 189,190,191,192 200000 17 9126 rs
|
||||
Ethernet72 181,182,183,184 200000 18 9126 rs
|
||||
Ethernet76 177,178,179,180 200000 19 9126 rs
|
||||
Ethernet80 169,170,171,172 200000 20 9126 rs
|
||||
Ethernet84 173,174,175,176 200000 21 9126 rs
|
||||
Ethernet88 165,166,167,168 200000 22 9126 rs
|
||||
Ethernet92 161,162,163,164 200000 23 9126 rs
|
||||
Ethernet96 153,154,155,156 200000 24 9126 rs
|
||||
Ethernet100 157,158,159,160 200000 25 9126 rs
|
||||
Ethernet104 149,150,151,152 200000 26 9126 rs
|
||||
Ethernet108 145,146,147,148 200000 27 9126 rs
|
||||
Ethernet112 137,138,139,140 200000 28 9126 rs
|
||||
Ethernet116 141,142,143,144 200000 29 9126 rs
|
||||
Ethernet120 133,134,135,136 200000 30 9126 rs
|
||||
Ethernet124 129,130,131,132 200000 31 9126 rs
|
||||
Ethernet128 121,122,123,124 200000 32 9126 rs
|
||||
Ethernet132 125,126,127,128 200000 33 9126 rs
|
||||
Ethernet136 117,118,119,120 200000 34 9126 rs
|
||||
Ethernet140 113,114,115,116 200000 35 9126 rs
|
||||
Ethernet144 105,106,107,108 200000 36 9126 rs
|
||||
Ethernet148 109,110,111,112 200000 37 9126 rs
|
||||
Ethernet152 101,102,103,104 200000 38 9126 rs
|
||||
Ethernet156 97,98,99,100 200000 39 9126 rs
|
||||
Ethernet160 89,90,91,92 200000 40 9126 rs
|
||||
Ethernet164 93,94,95,96 200000 41 9126 rs
|
||||
Ethernet168 85,86,87,88 200000 42 9126 rs
|
||||
Ethernet172 81,82,83,84 200000 43 9126 rs
|
||||
Ethernet176 73,74,75,76 200000 44 9126 rs
|
||||
Ethernet180 77,78,79,80 200000 45 9126 rs
|
||||
Ethernet184 69,70,71,72 200000 46 9126 rs
|
||||
Ethernet188 65,66,67,68 200000 47 9126 rs
|
||||
Ethernet192 57,58,59,60 200000 48 9126 rs
|
||||
Ethernet196 61,62,63,64 200000 49 9126 rs
|
||||
Ethernet200 53,54,55,56 200000 50 9126 rs
|
||||
Ethernet204 49,50,51,52 200000 51 9126 rs
|
||||
Ethernet208 41,42,43,44 200000 52 9126 rs
|
||||
Ethernet212 45,46,47,48 200000 53 9126 rs
|
||||
Ethernet216 37,38,39,40 200000 54 9126 rs
|
||||
Ethernet220 33,34,35,36 200000 55 9126 rs
|
||||
Ethernet224 25,26,27,28 200000 56 9126 rs
|
||||
Ethernet228 29,30,31,32 200000 57 9126 rs
|
||||
Ethernet232 21,22,23,24 200000 58 9126 rs
|
||||
Ethernet236 17,18,19,20 200000 59 9126 rs
|
||||
Ethernet240 9,10,11,12 200000 60 9126 rs
|
||||
Ethernet244 13,14,15,16 200000 61 9126 rs
|
||||
Ethernet248 5,6,7,8 200000 62 9126 rs
|
||||
Ethernet252 1,2,3,4 200000 63 9126 rs
|
||||
Ethernet256 257 10000 64 9126 none
|
||||
Ethernet257 258 10000 65 9126 none
|
||||
# name lanes alias speed index mtu fec
|
||||
Ethernet0 249,250,251,252 Eth1 200000 0 9126 rs
|
||||
Ethernet4 253,254,255,256 Eth2 200000 1 9126 rs
|
||||
Ethernet8 245,246,247,248 Eth3 200000 2 9126 rs
|
||||
Ethernet12 241,242,243,244 Eth4 200000 3 9126 rs
|
||||
Ethernet16 233,234,235,236 Eth5 200000 4 9126 rs
|
||||
Ethernet20 237,238,239,240 Eth6 200000 5 9126 rs
|
||||
Ethernet24 229,230,231,232 Eth7 200000 6 9126 rs
|
||||
Ethernet28 225,226,227,228 Eth8 200000 7 9126 rs
|
||||
Ethernet32 217,218,219,220 Eth9 200000 8 9126 rs
|
||||
Ethernet36 221,222,223,224 Eth10 200000 9 9126 rs
|
||||
Ethernet40 213,214,215,216 Eth11 200000 10 9126 rs
|
||||
Ethernet44 209,210,211,212 Eth12 200000 11 9126 rs
|
||||
Ethernet48 201,202,203,204 Eth13 200000 12 9126 rs
|
||||
Ethernet52 205,206,207,208 Eth14 200000 13 9126 rs
|
||||
Ethernet56 197,198,199,200 Eth15 200000 14 9126 rs
|
||||
Ethernet60 193,194,195,196 Eth16 200000 15 9126 rs
|
||||
Ethernet64 185,186,187,188 Eth17 200000 16 9126 rs
|
||||
Ethernet68 189,190,191,192 Eth18 200000 17 9126 rs
|
||||
Ethernet72 181,182,183,184 Eth19 200000 18 9126 rs
|
||||
Ethernet76 177,178,179,180 Eth20 200000 19 9126 rs
|
||||
Ethernet80 169,170,171,172 Eth21 200000 20 9126 rs
|
||||
Ethernet84 173,174,175,176 Eth22 200000 21 9126 rs
|
||||
Ethernet88 165,166,167,168 Eth23 200000 22 9126 rs
|
||||
Ethernet92 161,162,163,164 Eth24 200000 23 9126 rs
|
||||
Ethernet96 153,154,155,156 Eth25 200000 24 9126 rs
|
||||
Ethernet100 157,158,159,160 Eth26 200000 25 9126 rs
|
||||
Ethernet104 149,150,151,152 Eth27 200000 26 9126 rs
|
||||
Ethernet108 145,146,147,148 Eth28 200000 27 9126 rs
|
||||
Ethernet112 137,138,139,140 Eth29 200000 28 9126 rs
|
||||
Ethernet116 141,142,143,144 Eth30 200000 29 9126 rs
|
||||
Ethernet120 133,134,135,136 Eth31 200000 30 9126 rs
|
||||
Ethernet124 129,130,131,132 Eth32 200000 31 9126 rs
|
||||
Ethernet128 121,122,123,124 Eth33 200000 32 9126 rs
|
||||
Ethernet132 125,126,127,128 Eth34 200000 33 9126 rs
|
||||
Ethernet136 117,118,119,120 Eth35 200000 34 9126 rs
|
||||
Ethernet140 113,114,115,116 Eth36 200000 35 9126 rs
|
||||
Ethernet144 105,106,107,108 Eth37 200000 36 9126 rs
|
||||
Ethernet148 109,110,111,112 Eth38 200000 37 9126 rs
|
||||
Ethernet152 101,102,103,104 Eth39 200000 38 9126 rs
|
||||
Ethernet156 97,98,99,100 Eth40 200000 39 9126 rs
|
||||
Ethernet160 89,90,91,92 Eth41 200000 40 9126 rs
|
||||
Ethernet164 93,94,95,96 Eth42 200000 41 9126 rs
|
||||
Ethernet168 85,86,87,88 Eth43 200000 42 9126 rs
|
||||
Ethernet172 81,82,83,84 Eth44 200000 43 9126 rs
|
||||
Ethernet176 73,74,75,76 Eth45 200000 44 9126 rs
|
||||
Ethernet180 77,78,79,80 Eth46 200000 45 9126 rs
|
||||
Ethernet184 69,70,71,72 Eth47 200000 46 9126 rs
|
||||
Ethernet188 65,66,67,68 Eth48 200000 47 9126 rs
|
||||
Ethernet192 57,58,59,60 Eth49 200000 48 9126 rs
|
||||
Ethernet196 61,62,63,64 Eth50 200000 49 9126 rs
|
||||
Ethernet200 53,54,55,56 Eth51 200000 50 9126 rs
|
||||
Ethernet204 49,50,51,52 Eth52 200000 51 9126 rs
|
||||
Ethernet208 41,42,43,44 Eth53 200000 52 9126 rs
|
||||
Ethernet212 45,46,47,48 Eth54 200000 53 9126 rs
|
||||
Ethernet216 37,38,39,40 Eth55 200000 54 9126 rs
|
||||
Ethernet220 33,34,35,36 Eth56 200000 55 9126 rs
|
||||
Ethernet224 25,26,27,28 Eth57 200000 56 9126 rs
|
||||
Ethernet228 29,30,31,32 Eth58 200000 57 9126 rs
|
||||
Ethernet232 21,22,23,24 Eth59 200000 58 9126 rs
|
||||
Ethernet236 17,18,19,20 Eth60 200000 59 9126 rs
|
||||
Ethernet240 9,10,11,12 Eth61 200000 60 9126 rs
|
||||
Ethernet244 13,14,15,16 Eth62 200000 61 9126 rs
|
||||
Ethernet248 5,6,7,8 Eth63 200000 62 9126 rs
|
||||
Ethernet252 1,2,3,4 Eth64 200000 63 9126 rs
|
||||
|
@ -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 = [] %}
|
||||
{% for port in PORT %}
|
||||
{%- if port_names_list.append(port) %}{% endif %}
|
||||
@ -19,102 +8,122 @@
|
||||
{
|
||||
"TC_TO_QUEUE_MAP":{
|
||||
"AZURE":{
|
||||
"1":"1",
|
||||
"0":"0",
|
||||
"3":"3",
|
||||
"1":"1",
|
||||
"2":"2",
|
||||
"5":"5",
|
||||
"3":"3",
|
||||
"4":"4",
|
||||
"7":"7",
|
||||
"6":"6"
|
||||
"5":"5",
|
||||
"6":"6",
|
||||
"7":"7"
|
||||
}
|
||||
},
|
||||
"TC_TO_PRIORITY_GROUP_MAP": {
|
||||
"AZURE": {
|
||||
"1": "0",
|
||||
"0": "0",
|
||||
"3": "0",
|
||||
"1": "0",
|
||||
"2": "0",
|
||||
"4": "1",
|
||||
"5": "2",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "0",
|
||||
"6": "0",
|
||||
"7": "0"
|
||||
}
|
||||
},
|
||||
"DSCP_TO_TC_MAP": {
|
||||
"AZURE": {
|
||||
"0":"0",
|
||||
"1":"0",
|
||||
"2":"0",
|
||||
"3":"0",
|
||||
"4":"4",
|
||||
"5":"5",
|
||||
"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"
|
||||
"0" : "1",
|
||||
"1" : "1",
|
||||
"2" : "1",
|
||||
"3" : "3",
|
||||
"4" : "4",
|
||||
"5" : "2",
|
||||
"6" : "1",
|
||||
"7" : "1",
|
||||
"8" : "0",
|
||||
"9" : "1",
|
||||
"10": "1",
|
||||
"11": "1",
|
||||
"12": "1",
|
||||
"13": "1",
|
||||
"14": "1",
|
||||
"15": "1",
|
||||
"16": "1",
|
||||
"17": "1",
|
||||
"18": "1",
|
||||
"19": "1",
|
||||
"20": "1",
|
||||
"21": "1",
|
||||
"22": "1",
|
||||
"23": "1",
|
||||
"24": "1",
|
||||
"25": "1",
|
||||
"26": "1",
|
||||
"27": "1",
|
||||
"28": "1",
|
||||
"29": "1",
|
||||
"30": "1",
|
||||
"31": "1",
|
||||
"32": "1",
|
||||
"33": "1",
|
||||
"34": "1",
|
||||
"35": "1",
|
||||
"36": "1",
|
||||
"37": "1",
|
||||
"38": "1",
|
||||
"39": "1",
|
||||
"40": "1",
|
||||
"41": "1",
|
||||
"42": "1",
|
||||
"43": "1",
|
||||
"44": "1",
|
||||
"45": "1",
|
||||
"46": "5",
|
||||
"47": "1",
|
||||
"48": "6",
|
||||
"49": "1",
|
||||
"50": "1",
|
||||
"51": "1",
|
||||
"52": "1",
|
||||
"53": "1",
|
||||
"54": "1",
|
||||
"55": "1",
|
||||
"56": "1",
|
||||
"57": "1",
|
||||
"58": "1",
|
||||
"59": "1",
|
||||
"60": "1",
|
||||
"61": "1",
|
||||
"62": "1",
|
||||
"63": "1"
|
||||
}
|
||||
},
|
||||
"PORT_QOS_MAP": {
|
||||
"{{ port_names }}": {
|
||||
"tc_to_pg_map": "AZURE",
|
||||
"tc_to_queue_map": "AZURE",
|
||||
"dscp_to_tc_map": "AZURE",
|
||||
"pfc_enable": "4,5"
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}": {
|
||||
"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"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"WRED_PROFILE": {
|
||||
"AZURE_LOSSLESS" : {
|
||||
"wred_green_enable" : "true",
|
||||
"wred_yellow_enable" : "true",
|
||||
"wred_red_enable" : "true",
|
||||
"ecn" : "ecn_all",
|
||||
"green_max_threshold" : "2097152",
|
||||
"green_min_threshold" : "1048576",
|
||||
"yellow_max_threshold" : "2097152",
|
||||
"yellow_min_threshold" : "1048576",
|
||||
"red_max_threshold" : "2097152",
|
||||
"red_min_threshold" : "1048576",
|
||||
"green_drop_probability" : "5",
|
||||
"yellow_drop_probability": "5",
|
||||
"red_drop_probability" : "5"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,121 @@
|
||||
{% 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": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}": {
|
||||
"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]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"SCHEDULER": {
|
||||
"scheduler.7": {
|
||||
"type": "STRICT"
|
||||
}
|
||||
},
|
||||
"QUEUE": {
|
||||
"{{ port_names }}|7": {
|
||||
"scheduler": "[SCHEDULER|scheduler.7]"
|
||||
}
|
||||
}
|
||||
}
|
129
device/celestica/x86_64-cel_midstone-r0/Midstone-200i_64x200/qos_defaults_t1.j2
Executable file
129
device/celestica/x86_64-cel_midstone-r0/Midstone-200i_64x200/qos_defaults_t1.j2
Executable file
@ -0,0 +1,129 @@
|
||||
{% 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": "3",
|
||||
"4": "4",
|
||||
"5": "0",
|
||||
"6": "0",
|
||||
"7": "0"
|
||||
}
|
||||
},
|
||||
"DSCP_TO_TC_MAP": {
|
||||
"AZURE": {
|
||||
"0" : "1",
|
||||
"1" : "1",
|
||||
"2" : "1",
|
||||
"3" : "3",
|
||||
"4" : "4",
|
||||
"5" : "2",
|
||||
"6" : "1",
|
||||
"7" : "1",
|
||||
"8" : "0",
|
||||
"9" : "1",
|
||||
"10": "1",
|
||||
"11": "1",
|
||||
"12": "1",
|
||||
"13": "1",
|
||||
"14": "1",
|
||||
"15": "1",
|
||||
"16": "1",
|
||||
"17": "1",
|
||||
"18": "1",
|
||||
"19": "1",
|
||||
"20": "1",
|
||||
"21": "1",
|
||||
"22": "1",
|
||||
"23": "1",
|
||||
"24": "1",
|
||||
"25": "1",
|
||||
"26": "1",
|
||||
"27": "1",
|
||||
"28": "1",
|
||||
"29": "1",
|
||||
"30": "1",
|
||||
"31": "1",
|
||||
"32": "1",
|
||||
"33": "1",
|
||||
"34": "1",
|
||||
"35": "1",
|
||||
"36": "1",
|
||||
"37": "1",
|
||||
"38": "1",
|
||||
"39": "1",
|
||||
"40": "1",
|
||||
"41": "1",
|
||||
"42": "1",
|
||||
"43": "1",
|
||||
"44": "1",
|
||||
"45": "1",
|
||||
"46": "5",
|
||||
"47": "1",
|
||||
"48": "6",
|
||||
"49": "1",
|
||||
"50": "1",
|
||||
"51": "1",
|
||||
"52": "1",
|
||||
"53": "1",
|
||||
"54": "1",
|
||||
"55": "1",
|
||||
"56": "1",
|
||||
"57": "1",
|
||||
"58": "1",
|
||||
"59": "1",
|
||||
"60": "1",
|
||||
"61": "1",
|
||||
"62": "1",
|
||||
"63": "1"
|
||||
}
|
||||
},
|
||||
"PORT_QOS_MAP": {
|
||||
{% for port in port_names_list %}
|
||||
"{{ port }}": {
|
||||
"tc_to_pg_map": "AZURE",
|
||||
"tc_to_queue_map": "AZURE",
|
||||
"dscp_to_tc_map": "AZURE",
|
||||
"pfc_enable": "3,4"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"WRED_PROFILE": {
|
||||
"AZURE_LOSSLESS" : {
|
||||
"wred_green_enable" : "true",
|
||||
"wred_yellow_enable" : "true",
|
||||
"wred_red_enable" : "true",
|
||||
"ecn" : "ecn_all",
|
||||
"green_max_threshold" : "2097152",
|
||||
"green_min_threshold" : "1048576",
|
||||
"yellow_max_threshold" : "2097152",
|
||||
"yellow_min_threshold" : "1048576",
|
||||
"red_max_threshold" : "2097152",
|
||||
"red_min_threshold" : "1048576",
|
||||
"green_drop_probability" : "5",
|
||||
"yellow_drop_probability": "5",
|
||||
"red_drop_probability" : "5"
|
||||
}
|
||||
}
|
||||
}
|
@ -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
|
||||
|
@ -1,3 +1,4 @@
|
||||
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="intel_iommu=off"
|
||||
CONSOLE_PORT=0x3f8
|
||||
CONSOLE_DEV=0
|
||||
CONSOLE_SPEED=115200
|
||||
|
1723
device/celestica/x86_64-cel_midstone-r0/minigraph.xml
Executable file
1723
device/celestica/x86_64-cel_midstone-r0/minigraph.xml
Executable file
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,5 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
#############################################################################
|
||||
# Celestica Midstone-200i
|
||||
#
|
||||
@ -9,8 +11,8 @@
|
||||
|
||||
try:
|
||||
from sonic_eeprom import eeprom_tlvinfo
|
||||
except ImportError as e:
|
||||
raise ImportError(str(e) + "- required module not found")
|
||||
except ImportError, e:
|
||||
raise ImportError (str(e) + "- required module not found")
|
||||
|
||||
|
||||
class board(eeprom_tlvinfo.TlvInfoDecoder):
|
||||
|
@ -1,3 +1,5 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
#############################################################################
|
||||
# Celestica
|
||||
#
|
||||
@ -12,8 +14,7 @@ import subprocess
|
||||
try:
|
||||
from sonic_psu.psu_base import PsuBase
|
||||
except ImportError as e:
|
||||
raise ImportError(str(e) + "- required module not found")
|
||||
|
||||
raise ImportError (str(e) + "- required module not found")
|
||||
|
||||
class PsuUtil(PsuBase):
|
||||
"""Platform-specific PSUutil class"""
|
||||
@ -43,6 +44,7 @@ class PsuUtil(PsuBase):
|
||||
status = 1
|
||||
return status == 1
|
||||
|
||||
|
||||
def get_psu_presence(self, index):
|
||||
"""
|
||||
Retrieves the presence status of power supply unit (PSU) defined
|
||||
@ -56,3 +58,4 @@ class PsuUtil(PsuBase):
|
||||
|
||||
status = 1
|
||||
return status == 1
|
||||
|
||||
|
@ -32,7 +32,7 @@ class SfpUtil(SfpUtilBase):
|
||||
|
||||
@property
|
||||
def qsfp_ports(self):
|
||||
return list(range(self.QSFP_PORT_START, self.QSFP_PORT_END+1))
|
||||
return range(self.QSFP_PORT_START, self.QSFP_PORT_END+1)
|
||||
|
||||
@property
|
||||
def port_to_eeprom_mapping(self):
|
||||
@ -59,7 +59,7 @@ class SfpUtil(SfpUtilBase):
|
||||
try:
|
||||
reg_file = open("/sys/devices/platform/ms200i_cpld/qsfp_modprs")
|
||||
except IOError as e:
|
||||
print("Error: unable to open file: %s" % str(e))
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
content = reg_file.readline().rstrip()
|
||||
@ -90,7 +90,7 @@ class SfpUtil(SfpUtilBase):
|
||||
try:
|
||||
reg_file = open("/sys/devices/platform/ms200i_cpld/qsfp_lpmode")
|
||||
except IOError as e:
|
||||
print("Error: unable to open file: %s" % str(e))
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
|
||||
content = reg_file.readline().rstrip()
|
||||
|
||||
@ -120,7 +120,7 @@ class SfpUtil(SfpUtilBase):
|
||||
try:
|
||||
reg_file = open("/sys/devices/platform/ms200i_cpld/qsfp_lpmode", "r+")
|
||||
except IOError as e:
|
||||
print("Error: unable to open file: %s" % str(e))
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
content = reg_file.readline().rstrip()
|
||||
@ -162,7 +162,7 @@ class SfpUtil(SfpUtilBase):
|
||||
try:
|
||||
reg_file = open(QSFP_RESET_REGISTER_DEVICE_FILE, "r+")
|
||||
except IOError as e:
|
||||
print("Error: unable to open file: %s" % str(e))
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
content = reg_file.readline().rstrip()
|
||||
@ -194,7 +194,7 @@ class SfpUtil(SfpUtilBase):
|
||||
try:
|
||||
reg_file = open(QSFP_RESET_REGISTER_DEVICE_FILE, "w")
|
||||
except IOError as e:
|
||||
print("Error: unable to open file: %s" % str(e))
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
reg_value = reg_value | mask
|
||||
|
@ -1,3 +1,5 @@
|
||||
{
|
||||
"skip_ledd": true
|
||||
"skip_ledd": true,
|
||||
"skip_psud": true,
|
||||
"skip_thermalctld": true
|
||||
}
|
||||
|
1
device/celestica/x86_64-cel_midstone-r0/topo.conf
Normal file
1
device/celestica/x86_64-cel_midstone-r0/topo.conf
Normal file
@ -0,0 +1 @@
|
||||
t1
|
@ -9,19 +9,20 @@ debs/{{ deb }}{{' '}}
|
||||
{%- endfor -%}
|
||||
debs/
|
||||
|
||||
RUN dpkg -P syncd
|
||||
RUN apt-get purge -y syncd
|
||||
|
||||
## Pre-install the fundamental packages
|
||||
RUN apt-get update \
|
||||
&& apt-get -y install \
|
||||
net-tools \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
build-essential \
|
||||
libssl-dev \
|
||||
libffi-dev \
|
||||
python-dev \
|
||||
libpython2.7 \
|
||||
libjansson4 \
|
||||
libyaml-dev \
|
||||
wget \
|
||||
cmake \
|
||||
libqt5core5a \
|
||||
@ -43,9 +44,8 @@ RUN wget https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz \
|
||||
&& cd .. \
|
||||
&& rm -fr nanomsg-1.0.0 \
|
||||
&& rm -f 1.0.0.tar.gz \
|
||||
&& pip install cffi==1.7.0 \
|
||||
&& pip install --upgrade cffi==1.7.0 \
|
||||
&& pip install nnpy \
|
||||
&& pip install numpy \
|
||||
&& pip install scipy \
|
||||
&& mkdir -p /opt \
|
||||
&& cd /opt \
|
||||
&& wget https://raw.githubusercontent.com/p4lang/ptf/master/ptf_nn/ptf_nn_agent.py \
|
||||
|
@ -10,10 +10,8 @@ $(DOCKER_SYNCD_BASE)_DBG_DEPENDS += $(SYNCD_DBG) \
|
||||
$(LIBSAIMETADATA_DBG) \
|
||||
$(LIBSAIREDIS_DBG)
|
||||
|
||||
SONIC_STRETCH_DOCKERS += $(DOCKER_SYNCD_BASE)
|
||||
SONIC_STRETCH_DBG_DOCKERS += $(DOCKER_SYNCD_BASE_DBG)
|
||||
|
||||
$(DOCKER_SYNCD_BASE)_VERSION = 1.0.0
|
||||
$(DOCKER_SYNCD_BASE)_PACKAGE_NAME = syncd
|
||||
$(DOCKER_SYNCD_BASE)_MACHINE = innovium
|
||||
|
||||
$(DOCKER_SYNCD_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM docker-config-engine-stretch
|
||||
FROM docker-config-engine-buster
|
||||
|
||||
ARG docker_container_name
|
||||
|
||||
@ -17,8 +17,8 @@ debs/
|
||||
|
||||
# Needed for Innovium Debug Shell
|
||||
RUN apt-get install -y net-tools
|
||||
RUN apt-get install -y libpython2.7
|
||||
RUN apt-get install -y libjansson4
|
||||
RUN apt-get install -y libyaml-dev
|
||||
|
||||
RUN dpkg -i \
|
||||
{% for deb in docker_syncd_invm_debs.split(' ') -%}
|
||||
|
@ -5,8 +5,11 @@ $(SONIC_ONE_IMAGE)_MACHINE = innovium
|
||||
$(SONIC_ONE_IMAGE)_INSTALLS += $(SYSTEMD_SONIC_GENERATOR)
|
||||
$(SONIC_ONE_IMAGE)_IMAGE_TYPE = onie
|
||||
$(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(CEL_MIDSTONE_200I_PLATFORM_MODULE)
|
||||
$(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(DELTA_PLATFORM_MODULE)
|
||||
$(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(NETBERG_AURORA_715_PLATFORM_MODULE)
|
||||
$(SONIC_ONE_IMAGE)_INSTALLS += $(INVM_DRV)
|
||||
$(SONIC_ONE_IMAGE)_DOCKERS += $(SONIC_INSTALL_DOCKER_IMAGES)
|
||||
ifeq ($(INSTALL_DEBUG_TOOLS),y)
|
||||
$(SONIC_ONE_IMAGE)_DOCKERS += $(SONIC_INSTALL_DOCKER_DBG_IMAGES)
|
||||
$(SONIC_ONE_IMAGE)_DOCKERS += $(filter-out $(patsubst %-$(DBG_IMAGE_MARK).gz,%.gz, $(SONIC_INSTALL_DOCKER_DBG_IMAGES)), $(SONIC_INSTALL_DOCKER_IMAGES))
|
||||
else
|
||||
$(SONIC_ONE_IMAGE)_DOCKERS = $(SONIC_INSTALL_DOCKER_IMAGES)
|
||||
endif
|
||||
SONIC_INSTALLERS += $(SONIC_ONE_IMAGE)
|
||||
|
@ -1,12 +0,0 @@
|
||||
# Delta Platform modules
|
||||
|
||||
DELTA_ETC032IF_PLATFORM_MODULE_VERSION = 1.1
|
||||
|
||||
export DELTA_ETC032IF_PLATFORM_MODULE_VERSION
|
||||
|
||||
DELTA_PLATFORM_MODULE = platform-modules-et-c032if_$(DELTA_ETC032IF_PLATFORM_MODULE_VERSION)_$(CONFIGURED_ARCH).deb
|
||||
$(DELTA_PLATFORM_MODULE)_SRC_PATH = $(PLATFORM_PATH)/sonic-platform-modules-delta
|
||||
$(DELTA_PLATFORM_MODULE)_DEPENDS += $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON)
|
||||
$(DELTA_PLATFORM_MODULE)_PLATFORM = x86_64-delta_et-c032if-r0
|
||||
|
||||
SONIC_DPKG_DEBS += $(DELTA_PLATFORM_MODULE)
|
@ -1,13 +0,0 @@
|
||||
# Netberg Platform modules
|
||||
|
||||
NETBERG_AURORA_715_PLATFORM_MODULE_VERSION = 1.0.0
|
||||
|
||||
export NETBERG_AURORA_715_PLATFORM_MODULE_VERSION
|
||||
|
||||
NETBERG_AURORA_715_PLATFORM_MODULE = sonic-platform-netberg-aurora-715_$(NETBERG_AURORA_715_PLATFORM_MODULE_VERSION)_amd64.deb
|
||||
$(NETBERG_AURORA_715_PLATFORM_MODULE)_SRC_PATH = $(PLATFORM_PATH)/sonic-platform-modules-netberg
|
||||
$(NETBERG_AURORA_715_PLATFORM_MODULE)_DEPENDS += $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON)
|
||||
$(NETBERG_AURORA_715_PLATFORM_MODULE)_PLATFORM = x86_64-netberg_aurora_715-r0
|
||||
SONIC_DPKG_DEBS += $(NETBERG_AURORA_715_PLATFORM_MODULE)
|
||||
|
||||
SONIC_STRETCH_DEBS +=$(NETBERG_AURORA_715_PLATFORM_MODULE)
|
@ -1,7 +1,5 @@
|
||||
include $(PLATFORM_PATH)/invm-sai.mk
|
||||
include $(PLATFORM_PATH)/platform-modules-cel.mk
|
||||
include $(PLATFORM_PATH)/platform-modules-delta.mk
|
||||
include $(PLATFORM_PATH)/platform-modules-netberg.mk
|
||||
include $(PLATFORM_PATH)/docker-syncd-invm.mk
|
||||
include $(PLATFORM_PATH)/docker-syncd-invm-rpc.mk
|
||||
include $(PLATFORM_PATH)/one-image.mk
|
||||
|
@ -7,5 +7,4 @@ Standards-Version: 3.9.3
|
||||
|
||||
Package: platform-modules-midstone-200i
|
||||
Architecture: amd64
|
||||
Depends: linux-image-4.19.0-12-2-amd64-unsigned
|
||||
Description: kernel modules for platform devices
|
||||
|
@ -94,7 +94,7 @@ static int mc24lc64t_probe(struct i2c_client *client,
|
||||
sizeof(struct mc24lc64t_data), GFP_KERNEL)))
|
||||
return -ENOMEM;
|
||||
|
||||
drvdata->fake_client = i2c_new_dummy(client->adapter, client->addr + 1);
|
||||
drvdata->fake_client = i2c_new_dummy_device(client->adapter, client->addr + 1);
|
||||
if (!drvdata->fake_client)
|
||||
return -ENOMEM;
|
||||
|
||||
|
@ -1,16 +0,0 @@
|
||||
Copyright (C) 2016 Microsoft, Inc
|
||||
Copyright (C) 2017 Delta Networks, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
@ -1,381 +0,0 @@
|
||||
/*
|
||||
* <bsn.cl fy=2013 v=gpl>
|
||||
*
|
||||
* Copyright (C) 2017 Delta Networks, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it
|
||||
* and/or modify it under the terms ofthe GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the License,
|
||||
* or (at your option) any later version.
|
||||
*
|
||||
*
|
||||
* </bsn.cl>
|
||||
*
|
||||
*
|
||||
* A hwmon driver for the SMSC EMC2305 fan controller
|
||||
* Complete datasheet is available (6/2013) at:
|
||||
* http://www.smsc.com/media/Downloads_Public/Data_Sheets/2305.pdf
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/hwmon.h>
|
||||
#include <linux/hwmon-sysfs.h>
|
||||
#include <linux/err.h>
|
||||
|
||||
|
||||
static ssize_t set_pwm(struct device *dev, struct device_attribute *devattr,
|
||||
const char *buf, size_t count);
|
||||
static ssize_t show_pwm(struct device *dev, struct device_attribute *devattr,
|
||||
char *buf);
|
||||
static ssize_t set_fan(struct device *dev, struct device_attribute *devattr,
|
||||
const char *buf, size_t count);
|
||||
static ssize_t show_fan(struct device *dev, struct device_attribute *devattr,
|
||||
char *buf);
|
||||
static ssize_t set_fan_percentage(struct device *dev, struct device_attribute *devattr,
|
||||
const char *buf, size_t count);
|
||||
static ssize_t show_fan_percentage(struct device *dev, struct device_attribute * devattr,
|
||||
char *buf);
|
||||
static const unsigned short normal_i2c[] = { 0x2C, 0x2D, 0x2E, 0x2F, 0x4C,
|
||||
0x4D, I2C_CLIENT_END
|
||||
};
|
||||
|
||||
|
||||
#define EMC2305_REG_DEVICE 0xFD
|
||||
#define EMC2305_REG_VENDOR 0xFE
|
||||
|
||||
//#define FAN_MINIMUN 0x33 /*20%*/
|
||||
#define FAN_MINIMUN 0x0 /*0%*/
|
||||
#define FAN_RPM_BASED 0xAB
|
||||
|
||||
#define EMC2305_REG_FAN_DRIVE(n) (0x30 + 0x10 * n)
|
||||
#define EMC2305_REG_FAN_MIN_DRIVE(n) (0x38 + 0x10 * n)
|
||||
#define EMC2305_REG_FAN_TACH(n) (0x3E + 0x10 * n)
|
||||
#define EMC2305_REG_FAN_CONF(n) (0x32 + 0x10 * n)
|
||||
#define EMC2305_REG_FAN_REAR_H_RPM(n) (0x3D + 0x10 * n)
|
||||
#define EMC2305_REG_FAN_REAR_L_RPM(n) (0x3C + 0x10 * n)
|
||||
|
||||
#define EMC2305_DEVICE 0x34
|
||||
#define EMC2305_VENDOR 0x5D
|
||||
#define MAX_FAN_SPEED 23000
|
||||
|
||||
struct emc2305_data
|
||||
{
|
||||
struct device *hwmon_dev;
|
||||
struct attribute_group attrs;
|
||||
struct mutex lock;
|
||||
};
|
||||
|
||||
static int emc2305_probe(struct i2c_client *client,
|
||||
const struct i2c_device_id *id);
|
||||
static int emc2305_detect(struct i2c_client *client,
|
||||
struct i2c_board_info *info);
|
||||
static int emc2305_remove(struct i2c_client *client);
|
||||
|
||||
static const struct i2c_device_id emc2305_id[] =
|
||||
{
|
||||
{ "emc2305", 0 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, emc2305_id);
|
||||
|
||||
static struct i2c_driver emc2305_driver =
|
||||
{
|
||||
.class = I2C_CLASS_HWMON,
|
||||
.driver = {
|
||||
.name = "emc2305",
|
||||
},
|
||||
.probe = emc2305_probe,
|
||||
.remove = emc2305_remove,
|
||||
.id_table = emc2305_id,
|
||||
.detect = emc2305_detect,
|
||||
.address_list = normal_i2c,
|
||||
};
|
||||
|
||||
static SENSOR_DEVICE_ATTR(fan1_input, S_IWUSR | S_IRUGO, show_fan, set_fan, 0);
|
||||
static SENSOR_DEVICE_ATTR(fan2_input, S_IWUSR | S_IRUGO, show_fan, set_fan, 1);
|
||||
static SENSOR_DEVICE_ATTR(fan3_input, S_IWUSR | S_IRUGO, show_fan, set_fan, 2);
|
||||
static SENSOR_DEVICE_ATTR(fan4_input, S_IWUSR | S_IRUGO, show_fan, set_fan, 3);
|
||||
static SENSOR_DEVICE_ATTR(fan5_input, S_IWUSR | S_IRUGO, show_fan, set_fan, 4);
|
||||
static SENSOR_DEVICE_ATTR(fan1_input_percentage, S_IWUSR | S_IRUGO, show_fan_percentage, set_fan_percentage, 0);
|
||||
static SENSOR_DEVICE_ATTR(fan2_input_percentage, S_IWUSR | S_IRUGO, show_fan_percentage, set_fan_percentage, 1);
|
||||
static SENSOR_DEVICE_ATTR(fan3_input_percentage, S_IWUSR | S_IRUGO, show_fan_percentage, set_fan_percentage, 2);
|
||||
static SENSOR_DEVICE_ATTR(fan4_input_percentage, S_IWUSR | S_IRUGO, show_fan_percentage, set_fan_percentage, 3);
|
||||
static SENSOR_DEVICE_ATTR(fan5_input_percentage, S_IWUSR | S_IRUGO, show_fan_percentage, set_fan_percentage, 4);
|
||||
static SENSOR_DEVICE_ATTR(pwm1, S_IWUSR | S_IRUGO, show_pwm, set_pwm, 0);
|
||||
static SENSOR_DEVICE_ATTR(pwm2, S_IWUSR | S_IRUGO, show_pwm, set_pwm, 1);
|
||||
static SENSOR_DEVICE_ATTR(pwm3, S_IWUSR | S_IRUGO, show_pwm, set_pwm, 2);
|
||||
static SENSOR_DEVICE_ATTR(pwm4, S_IWUSR | S_IRUGO, show_pwm, set_pwm, 3);
|
||||
static SENSOR_DEVICE_ATTR(pwm5, S_IWUSR | S_IRUGO, show_pwm, set_pwm, 4);
|
||||
|
||||
static struct attribute *emc2305_attr[] =
|
||||
{
|
||||
&sensor_dev_attr_fan1_input.dev_attr.attr,
|
||||
&sensor_dev_attr_fan2_input.dev_attr.attr,
|
||||
&sensor_dev_attr_fan3_input.dev_attr.attr,
|
||||
&sensor_dev_attr_fan4_input.dev_attr.attr,
|
||||
&sensor_dev_attr_fan5_input.dev_attr.attr,
|
||||
&sensor_dev_attr_fan1_input_percentage.dev_attr.attr,
|
||||
&sensor_dev_attr_fan2_input_percentage.dev_attr.attr,
|
||||
&sensor_dev_attr_fan3_input_percentage.dev_attr.attr,
|
||||
&sensor_dev_attr_fan4_input_percentage.dev_attr.attr,
|
||||
&sensor_dev_attr_fan5_input_percentage.dev_attr.attr,
|
||||
&sensor_dev_attr_pwm1.dev_attr.attr,
|
||||
&sensor_dev_attr_pwm2.dev_attr.attr,
|
||||
&sensor_dev_attr_pwm3.dev_attr.attr,
|
||||
&sensor_dev_attr_pwm4.dev_attr.attr,
|
||||
&sensor_dev_attr_pwm5.dev_attr.attr,
|
||||
NULL
|
||||
};
|
||||
|
||||
static ssize_t show_fan_percentage(struct device *dev, struct device_attribute * devattr,
|
||||
char *buf)
|
||||
{
|
||||
struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
struct emc2305_data *data = i2c_get_clientdata(client);
|
||||
int val;
|
||||
|
||||
mutex_lock(&data->lock);
|
||||
val = i2c_smbus_read_word_swapped(client,
|
||||
EMC2305_REG_FAN_TACH(attr->index));
|
||||
mutex_unlock(&data->lock);
|
||||
/* Left shift 3 bits for showing correct RPM */
|
||||
val = val >> 3;
|
||||
if ((int)(3932160 * 2 / (val > 0 ? val : 1) == 960))return sprintf(buf, "%d\n", 0);
|
||||
return sprintf(buf, "%d\n", (int)(3932160 * 2 / (val > 0 ? val : 1) * 100 / MAX_FAN_SPEED));
|
||||
}
|
||||
|
||||
|
||||
static ssize_t set_fan_percentage(struct device *dev, struct device_attribute *devattr,
|
||||
const char *buf, size_t count)
|
||||
{
|
||||
struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
struct emc2305_data *data = i2c_get_clientdata(client);
|
||||
unsigned long hsb, lsb;
|
||||
unsigned long tech;
|
||||
unsigned long val;
|
||||
int ret;
|
||||
|
||||
ret = kstrtoul(buf, 10, &val);
|
||||
if (ret)
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
if (val > 100)
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (val <= 5)
|
||||
{
|
||||
hsb = 0xff; /*high bit*/
|
||||
lsb = 0xe0; /*low bit*/
|
||||
}
|
||||
else
|
||||
{
|
||||
val = val * 230;
|
||||
tech = (3932160 * 2) / (val > 0 ? val : 1);
|
||||
hsb = (uint8_t)(((tech << 3) >> 8) & 0x0ff);
|
||||
lsb = (uint8_t)((tech << 3) & 0x0f8);
|
||||
}
|
||||
|
||||
mutex_lock(&data->lock);
|
||||
i2c_smbus_write_byte_data(client, EMC2305_REG_FAN_REAR_H_RPM(attr->index), hsb);
|
||||
i2c_smbus_write_byte_data(client, EMC2305_REG_FAN_REAR_L_RPM(attr->index), lsb);
|
||||
mutex_unlock(&data->lock);
|
||||
return count;
|
||||
}
|
||||
|
||||
|
||||
static ssize_t show_fan(struct device *dev, struct device_attribute *devattr,
|
||||
char *buf)
|
||||
{
|
||||
struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
struct emc2305_data *data = i2c_get_clientdata(client);
|
||||
int val;
|
||||
|
||||
|
||||
mutex_lock(&data->lock);
|
||||
val = i2c_smbus_read_word_swapped(client,
|
||||
EMC2305_REG_FAN_TACH(attr->index));
|
||||
mutex_unlock(&data->lock);
|
||||
/* Left shift 3 bits for showing correct RPM */
|
||||
val = val >> 3;
|
||||
return sprintf(buf, "%d\n", 3932160 * 2 / (val > 0 ? val : 1));
|
||||
}
|
||||
|
||||
static ssize_t set_fan(struct device *dev, struct device_attribute *devattr,
|
||||
const char *buf, size_t count)
|
||||
{
|
||||
struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
struct emc2305_data *data = i2c_get_clientdata(client);
|
||||
unsigned long hsb, lsb;
|
||||
unsigned long tech;
|
||||
unsigned long val;
|
||||
int ret;
|
||||
|
||||
ret = kstrtoul(buf, 10, &val);
|
||||
if (ret)
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
if (val > 23000)
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (val <= 960)
|
||||
{
|
||||
hsb = 0xff; /*high bit*/
|
||||
lsb = 0xe0; /*low bit*/
|
||||
}
|
||||
else
|
||||
{
|
||||
tech = (3932160 * 2) / (val > 0 ? val : 1);
|
||||
hsb = (uint8_t)(((tech << 3) >> 8) & 0x0ff);
|
||||
lsb = (uint8_t)((tech << 3) & 0x0f8);
|
||||
}
|
||||
|
||||
mutex_lock(&data->lock);
|
||||
i2c_smbus_write_byte_data(client, EMC2305_REG_FAN_REAR_H_RPM(attr->index), hsb);
|
||||
i2c_smbus_write_byte_data(client, EMC2305_REG_FAN_REAR_L_RPM(attr->index), lsb);
|
||||
mutex_unlock(&data->lock);
|
||||
return count;
|
||||
}
|
||||
|
||||
static ssize_t show_pwm(struct device *dev, struct device_attribute *devattr,
|
||||
char *buf)
|
||||
{
|
||||
struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
struct emc2305_data *data = i2c_get_clientdata(client);
|
||||
int val;
|
||||
|
||||
mutex_lock(&data->lock);
|
||||
val = i2c_smbus_read_byte_data(client,
|
||||
EMC2305_REG_FAN_DRIVE(attr->index));
|
||||
mutex_unlock(&data->lock);
|
||||
return sprintf(buf, "%d\n", val);
|
||||
}
|
||||
|
||||
static ssize_t set_pwm(struct device *dev, struct device_attribute *devattr,
|
||||
const char *buf, size_t count)
|
||||
{
|
||||
struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
struct emc2305_data *data = i2c_get_clientdata(client);
|
||||
unsigned long val;
|
||||
int ret;
|
||||
|
||||
ret = kstrtoul(buf, 10, &val);
|
||||
if (ret)
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
if (val > 255)
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
mutex_lock(&data->lock);
|
||||
i2c_smbus_write_byte_data(client,
|
||||
EMC2305_REG_FAN_DRIVE(attr->index),
|
||||
val);
|
||||
mutex_unlock(&data->lock);
|
||||
return count;
|
||||
}
|
||||
|
||||
static int emc2305_detect(struct i2c_client *client,
|
||||
struct i2c_board_info *info)
|
||||
{
|
||||
struct i2c_adapter *adapter = client->adapter;
|
||||
int vendor, device;
|
||||
|
||||
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA |
|
||||
I2C_FUNC_SMBUS_WORD_DATA))
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
vendor = i2c_smbus_read_byte_data(client, EMC2305_REG_VENDOR);
|
||||
if (vendor != EMC2305_VENDOR)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
device = i2c_smbus_read_byte_data(client, EMC2305_REG_DEVICE);
|
||||
if (device != EMC2305_DEVICE)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
strlcpy(info->type, "emc2305", I2C_NAME_SIZE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int emc2305_probe(struct i2c_client *client,
|
||||
const struct i2c_device_id *id)
|
||||
{
|
||||
struct emc2305_data *data;
|
||||
int err;
|
||||
int i;
|
||||
|
||||
data = devm_kzalloc(&client->dev, sizeof(struct emc2305_data),
|
||||
GFP_KERNEL);
|
||||
if (!data)
|
||||
{
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
i2c_set_clientdata(client, data);
|
||||
mutex_init(&data->lock);
|
||||
|
||||
dev_info(&client->dev, "%s chip found\n", client->name);
|
||||
|
||||
data->attrs.attrs = emc2305_attr;
|
||||
err = sysfs_create_group(&client->dev.kobj, &data->attrs);
|
||||
if (err)
|
||||
{
|
||||
return err;
|
||||
}
|
||||
|
||||
data->hwmon_dev = hwmon_device_register(&client->dev);
|
||||
if (IS_ERR(data->hwmon_dev))
|
||||
{
|
||||
err = PTR_ERR(data->hwmon_dev);
|
||||
goto exit_remove;
|
||||
}
|
||||
|
||||
for (i = 0; i < 5; i++)
|
||||
{
|
||||
/* set minimum drive to 0% */
|
||||
i2c_smbus_write_byte_data(client, EMC2305_REG_FAN_MIN_DRIVE(i), FAN_MINIMUN);
|
||||
i2c_smbus_write_byte_data(client, EMC2305_REG_FAN_CONF(i), FAN_RPM_BASED);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
exit_remove:
|
||||
sysfs_remove_group(&client->dev.kobj, &data->attrs);
|
||||
return err;
|
||||
}
|
||||
|
||||
static int emc2305_remove(struct i2c_client *client)
|
||||
{
|
||||
struct emc2305_data *data = i2c_get_clientdata(client);
|
||||
|
||||
hwmon_device_unregister(data->hwmon_dev);
|
||||
sysfs_remove_group(&client->dev.kobj, &data->attrs);
|
||||
return 0;
|
||||
}
|
||||
|
||||
module_i2c_driver(emc2305_driver);
|
||||
|
||||
MODULE_AUTHOR("Neal Tai<neal.tai@deltaww.com>");
|
||||
MODULE_DESCRIPTION("SMSC EMC2305 fan controller driver");
|
||||
MODULE_LICENSE("GPL");
|
@ -1,5 +0,0 @@
|
||||
sonic-delta-platform-modules (1.1) unstable; urgency=low
|
||||
|
||||
* Initial release
|
||||
|
||||
-- Neal Tai <neal.tai@deltaww.com> Fri, 21 APR 2017 11:11:11 -0800
|
@ -1 +0,0 @@
|
||||
9
|
@ -1,13 +0,0 @@
|
||||
Source: sonic-delta-platform-modules
|
||||
Section: main
|
||||
Priority: extra
|
||||
Maintainer: Neal Tai <neal.tai@deltaww.com>
|
||||
Build-Depends: debhelper (>= 8.0.0), bzip2
|
||||
Standards-Version: 3.9.3
|
||||
|
||||
Package: platform-modules-et-c032if
|
||||
Architecture: amd64
|
||||
Depends: linux-image-4.19.0-12-2-amd64-unsigned
|
||||
Description: kernel modules for platform devices such as fan, led, sfp
|
||||
|
||||
|
@ -1,39 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: setup-board
|
||||
# Required-Start:
|
||||
# Required-Stop:
|
||||
# Should-Start:
|
||||
# Should-Stop:
|
||||
# Default-Start: S
|
||||
# Default-Stop: 0 6
|
||||
# Short-Description: Setup et-c032if board.
|
||||
### END INIT INFO
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Setting up board... "
|
||||
modprobe optoe
|
||||
modprobe delta_et-c032if_platform
|
||||
|
||||
/usr/local/bin/et-c032if_platform_init.sh
|
||||
echo "done."
|
||||
;;
|
||||
|
||||
stop)
|
||||
echo "done."
|
||||
|
||||
;;
|
||||
|
||||
force-reload|restart)
|
||||
echo "Not supported"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: /etc/init.d/platform-modules-et-c032if.init {start|stop}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
@ -1,3 +0,0 @@
|
||||
et-c032if/cfg/et-c032if-modules.conf etc/modules-load.d
|
||||
et-c032if/scripts/et-c032if_platform_init.sh usr/local/bin
|
||||
systemd/platform-modules-et-c032if.service lib/systemd/system
|
@ -1,33 +0,0 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
export INSTALL_MOD_DIR:=extra
|
||||
|
||||
KVERSION ?= $(shell uname -r)
|
||||
KERNEL_SRC := /lib/modules/$(KVERSION)
|
||||
MOD_SRC_DIR:= $(shell pwd)
|
||||
MODULE_DIRS:= et-c032if
|
||||
|
||||
%:
|
||||
dh $@ --with=systemd
|
||||
|
||||
override_dh_auto_build:
|
||||
(for mod in $(MODULE_DIRS); do \
|
||||
make -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/modules; \
|
||||
done)
|
||||
|
||||
override_dh_auto_install:
|
||||
(for mod in $(MODULE_DIRS); do \
|
||||
dh_installdirs -pplatform-modules-$${mod} \
|
||||
$(KERNEL_SRC)/$(INSTALL_MOD_DIR); \
|
||||
cp $(MOD_SRC_DIR)/$${mod}/modules/*.ko \
|
||||
debian/platform-modules-$${mod}/$(KERNEL_SRC)/$(INSTALL_MOD_DIR); \
|
||||
done)
|
||||
|
||||
override_dh_usrlocal:
|
||||
|
||||
override_dh_clean:
|
||||
dh_clean
|
||||
(for mod in $(MODULE_DIRS); do \
|
||||
make -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/modules clean; \
|
||||
done)
|
||||
|
@ -1,13 +0,0 @@
|
||||
# /etc/modules: kernel modules to load at boot time.
|
||||
#
|
||||
# This file contains the names of kernel modules that should be loaded
|
||||
# at boot time, one per line. Lines beginning with "#" are ignored.
|
||||
|
||||
i2c-i801
|
||||
i2c-isch
|
||||
i2c-ismt
|
||||
i2c-dev
|
||||
i2c-mux
|
||||
i2c-smbus
|
||||
i2c-mux-gpio
|
||||
i2c-mux-pca954x
|
@ -1,2 +0,0 @@
|
||||
obj-m := delta_et-c032if_platform.o
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,9 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
#platform init script for Delta et-c032if
|
||||
|
||||
|
||||
|
||||
exit 0
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user