diff --git a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/buffers.json.j2 b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/buffers.json.j2 index 84b4aa8c2f1e..cb4262034bc6 100644 --- a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/buffers.json.j2 +++ b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/buffers.json.j2 @@ -86,6 +86,10 @@ "type": "egress", "mode": "dynamic", "xoff": "0" + }, + "egress_lossless_pool": { + "size": "66092800", + "type": "egress" } }, "BUFFER_PROFILE": { @@ -94,7 +98,7 @@ "xoff":"38816", "size":"1518", "dynamic_th":"1", - "xon_offset":"13440" + "xon_offset":"9408" }, "egress_lossless_profile": { "pool":"[BUFFER_POOL|ingress_lossless_pool]", @@ -113,16 +117,29 @@ } }, "BUFFER_PG": { - "{{ port_names }}|0-2": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - }, - "{{ port_names }}|3-4": { - "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" - }, - "{{ port_names }}|5-7": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - } +{% 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": { {% for port in port_names_list %} "{{ port }}|3-4": { diff --git a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/buffers_defaults_def_lossy.j2 b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/buffers_defaults_def_lossy.j2 index 1a31812c26b1..3b1191a215fc 100644 --- a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/buffers_defaults_def_lossy.j2 +++ b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/buffers_defaults_def_lossy.j2 @@ -26,13 +26,17 @@ } }, "BUFFER_PG": { - "{{ port_names }}|0-7": { +{% for port in port_names_list %} + "{{ port }}|0-7": { "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - } + }{% if not loop.last %},{% endif %} +{% endfor %} }, "BUFFER_QUEUE": { - "{{ port_names }}|0-7": { +{% for port in port_names_list %} + "{{ port }}|0-7": { "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" - } + }{% if not loop.last %},{% endif %} +{% endfor %} } } diff --git a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/buffers_defaults_t1.j2 b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/buffers_defaults_t1.j2 index 84b4aa8c2f1e..365ba8c11384 100644 --- a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/buffers_defaults_t1.j2 +++ b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/buffers_defaults_t1.j2 @@ -86,6 +86,10 @@ "type": "egress", "mode": "dynamic", "xoff": "0" + }, + "egress_lossless_pool": { + "size": "66092800", + "type": "egress" } }, "BUFFER_PROFILE": { @@ -94,7 +98,7 @@ "xoff":"38816", "size":"1518", "dynamic_th":"1", - "xon_offset":"13440" + "xon_offset":"9408" }, "egress_lossless_profile": { "pool":"[BUFFER_POOL|ingress_lossless_pool]", @@ -113,15 +117,27 @@ } }, "BUFFER_PG": { - "{{ port_names }}|0-2": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - }, - "{{ port_names }}|3-4": { - "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" - }, - "{{ port_names }}|5-7": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - } +{% 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": { {% for port in port_names_list %} diff --git a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/config_128x100G_Cameo-esc600-128q.yaml b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/config_128x100G_Cameo-esc600-128q.yaml index 623d856ff839..974426286469 100644 --- a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/config_128x100G_Cameo-esc600-128q.yaml +++ b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/config_128x100G_Cameo-esc600-128q.yaml @@ -10,8 +10,9 @@ nodes: - 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" - wred_cr_ip_proto_list: "17" ilpm_enable: "1" forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E" mac_clk: "1340" diff --git a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/innovium.77700_A b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/innovium.77700_A index 84aa41983606..ec13307805e1 100644 --- a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/innovium.77700_A +++ b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/innovium.77700_A @@ -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 diff --git a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/innovium.77700_B b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/innovium.77700_B index 27297b313959..57ba52cbc3bc 100644 --- a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/innovium.77700_B +++ b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/innovium.77700_B @@ -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 diff --git a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/pg_profile_lookup.ini b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/pg_profile_lookup.ini index adcb52ab2a29..0d881737cfa1 100644 --- a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/pg_profile_lookup.ini +++ b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/pg_profile_lookup.ini @@ -1,18 +1,22 @@ # PG lossless profiles. # speed cable size xon xoff threshold xon_offset - 25000 5m 1518 0 15680 1 13440 - 50000 5m 1518 0 21248 1 13440 - 100000 5m 1518 0 34624 1 13440 - 400000 5m 1518 0 117536 1 13440 - 25000 40m 1518 0 16928 1 13440 - 50000 40m 1518 0 23392 1 13440 - 100000 40m 1518 0 38816 1 13440 - 400000 40m 1518 0 135520 1 13440 - 25000 100m 1518 0 18848 1 13440 - 50000 100m 1518 0 27264 1 13440 - 100000 100m 1518 0 46496 1 13440 - 400000 100m 1518 0 166688 1 13440 - 25000 300m 1518 0 25184 1 13440 - 50000 300m 1518 0 40128 1 13440 - 100000 300m 1518 0 72384 1 13440 - 400000 300m 1518 0 268640 1 13440 + 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 diff --git a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/qos.json.j2 b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/qos.json.j2 index c03541470fa1..3084c5235a20 100644 --- a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/qos.json.j2 +++ b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/qos.json.j2 @@ -32,70 +32,70 @@ }, "DSCP_TO_TC_MAP": { "AZURE": { - "0":"0", - "1":"0", - "2":"0", - "3":"3", - "4":"4", - "5":"0", - "6":"0", - "7":"0", - "8":"1", - "9":"0", - "10":"0", - "11":"0", - "12":"0", - "13":"0", - "14":"0", - "15":"0", - "16":"0", - "17":"0", - "18":"0", - "19":"0", - "20":"0", - "21":"0", - "22":"0", - "23":"0", - "24":"0", - "25":"0", - "26":"0", - "27":"0", - "28":"0", - "29":"0", - "30":"0", - "31":"0", - "32":"0", - "33":"0", - "34":"0", - "35":"0", - "36":"0", - "37":"0", - "38":"0", - "39":"0", - "40":"0", - "41":"0", - "42":"0", - "43":"0", - "44":"0", - "45":"0", - "46":"0", - "47":"0", - "48":"0", - "49":"0", - "50":"0", - "51":"0", - "52":"0", - "53":"0", - "54":"0", - "55":"0", - "56":"0", - "57":"0", - "58":"0", - "59":"0", - "60":"0", - "61":"0", - "62":"0", - "63":"0" + "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": { @@ -111,7 +111,19 @@ }, "WRED_PROFILE": { "AZURE_LOSSLESS" : { - "red_min_threshold":"50000" + "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" } } } diff --git a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/qos_defaults_def_lossy.j2 b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/qos_defaults_def_lossy.j2 index 104d2d78de87..a2b84b93530e 100644 --- a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/qos_defaults_def_lossy.j2 +++ b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/qos_defaults_def_lossy.j2 @@ -23,8 +23,8 @@ "0": "0", "1": "0", "2": "0", - "3": "3", - "4": "4", + "3": "1", + "4": "2", "5": "0", "6": "0", "7": "0" @@ -99,11 +99,14 @@ } }, "PORT_QOS_MAP": { - "{{ port_names }}": { +{% 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": { diff --git a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/qos_defaults_t1.j2 b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/qos_defaults_t1.j2 index c03541470fa1..3084c5235a20 100644 --- a/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/qos_defaults_t1.j2 +++ b/device/cameo/x86_64-cameo_esc600_128q-r0/esc600-128q/qos_defaults_t1.j2 @@ -32,70 +32,70 @@ }, "DSCP_TO_TC_MAP": { "AZURE": { - "0":"0", - "1":"0", - "2":"0", - "3":"3", - "4":"4", - "5":"0", - "6":"0", - "7":"0", - "8":"1", - "9":"0", - "10":"0", - "11":"0", - "12":"0", - "13":"0", - "14":"0", - "15":"0", - "16":"0", - "17":"0", - "18":"0", - "19":"0", - "20":"0", - "21":"0", - "22":"0", - "23":"0", - "24":"0", - "25":"0", - "26":"0", - "27":"0", - "28":"0", - "29":"0", - "30":"0", - "31":"0", - "32":"0", - "33":"0", - "34":"0", - "35":"0", - "36":"0", - "37":"0", - "38":"0", - "39":"0", - "40":"0", - "41":"0", - "42":"0", - "43":"0", - "44":"0", - "45":"0", - "46":"0", - "47":"0", - "48":"0", - "49":"0", - "50":"0", - "51":"0", - "52":"0", - "53":"0", - "54":"0", - "55":"0", - "56":"0", - "57":"0", - "58":"0", - "59":"0", - "60":"0", - "61":"0", - "62":"0", - "63":"0" + "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": { @@ -111,7 +111,19 @@ }, "WRED_PROFILE": { "AZURE_LOSSLESS" : { - "red_min_threshold":"50000" + "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" } } } diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/buffers.json.j2 b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/buffers.json.j2 index 84b4aa8c2f1e..cb4262034bc6 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/buffers.json.j2 +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/buffers.json.j2 @@ -86,6 +86,10 @@ "type": "egress", "mode": "dynamic", "xoff": "0" + }, + "egress_lossless_pool": { + "size": "66092800", + "type": "egress" } }, "BUFFER_PROFILE": { @@ -94,7 +98,7 @@ "xoff":"38816", "size":"1518", "dynamic_th":"1", - "xon_offset":"13440" + "xon_offset":"9408" }, "egress_lossless_profile": { "pool":"[BUFFER_POOL|ingress_lossless_pool]", @@ -113,16 +117,29 @@ } }, "BUFFER_PG": { - "{{ port_names }}|0-2": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - }, - "{{ port_names }}|3-4": { - "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" - }, - "{{ port_names }}|5-7": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - } +{% 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": { {% for port in port_names_list %} "{{ port }}|3-4": { diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/buffers_defaults_def_lossy.j2 b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/buffers_defaults_def_lossy.j2 index 1a31812c26b1..3b1191a215fc 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/buffers_defaults_def_lossy.j2 +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/buffers_defaults_def_lossy.j2 @@ -26,13 +26,17 @@ } }, "BUFFER_PG": { - "{{ port_names }}|0-7": { +{% for port in port_names_list %} + "{{ port }}|0-7": { "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - } + }{% if not loop.last %},{% endif %} +{% endfor %} }, "BUFFER_QUEUE": { - "{{ port_names }}|0-7": { +{% for port in port_names_list %} + "{{ port }}|0-7": { "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" - } + }{% if not loop.last %},{% endif %} +{% endfor %} } } diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/buffers_defaults_t1.j2 b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/buffers_defaults_t1.j2 index 84b4aa8c2f1e..cb4262034bc6 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/buffers_defaults_t1.j2 +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/buffers_defaults_t1.j2 @@ -86,6 +86,10 @@ "type": "egress", "mode": "dynamic", "xoff": "0" + }, + "egress_lossless_pool": { + "size": "66092800", + "type": "egress" } }, "BUFFER_PROFILE": { @@ -94,7 +98,7 @@ "xoff":"38816", "size":"1518", "dynamic_th":"1", - "xon_offset":"13440" + "xon_offset":"9408" }, "egress_lossless_profile": { "pool":"[BUFFER_POOL|ingress_lossless_pool]", @@ -113,16 +117,29 @@ } }, "BUFFER_PG": { - "{{ port_names }}|0-2": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - }, - "{{ port_names }}|3-4": { - "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" - }, - "{{ port_names }}|5-7": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - } +{% 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": { {% for port in port_names_list %} "{{ port }}|3-4": { diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/config_32x100G_Cameo-esc601-32q.yaml b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/config_32x100G_Cameo-esc601-32q.yaml index ec613635d19f..49c994b905ca 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/config_32x100G_Cameo-esc601-32q.yaml +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/config_32x100G_Cameo-esc601-32q.yaml @@ -10,8 +10,9 @@ nodes: - auto_create: "no" multi_interface: "yes" buffer_management_mode: "api_driven" - max_lossless_tc: "2" 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: diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/innovium.77700_B b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/innovium.77700_B index 27297b313959..57ba52cbc3bc 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/innovium.77700_B +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/innovium.77700_B @@ -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 diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/pg_profile_lookup.ini b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/pg_profile_lookup.ini index adcb52ab2a29..0d881737cfa1 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/pg_profile_lookup.ini +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/pg_profile_lookup.ini @@ -1,18 +1,22 @@ # PG lossless profiles. # speed cable size xon xoff threshold xon_offset - 25000 5m 1518 0 15680 1 13440 - 50000 5m 1518 0 21248 1 13440 - 100000 5m 1518 0 34624 1 13440 - 400000 5m 1518 0 117536 1 13440 - 25000 40m 1518 0 16928 1 13440 - 50000 40m 1518 0 23392 1 13440 - 100000 40m 1518 0 38816 1 13440 - 400000 40m 1518 0 135520 1 13440 - 25000 100m 1518 0 18848 1 13440 - 50000 100m 1518 0 27264 1 13440 - 100000 100m 1518 0 46496 1 13440 - 400000 100m 1518 0 166688 1 13440 - 25000 300m 1518 0 25184 1 13440 - 50000 300m 1518 0 40128 1 13440 - 100000 300m 1518 0 72384 1 13440 - 400000 300m 1518 0 268640 1 13440 + 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 diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/qos.json.j2 b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/qos.json.j2 index c03541470fa1..3084c5235a20 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/qos.json.j2 +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/qos.json.j2 @@ -32,70 +32,70 @@ }, "DSCP_TO_TC_MAP": { "AZURE": { - "0":"0", - "1":"0", - "2":"0", - "3":"3", - "4":"4", - "5":"0", - "6":"0", - "7":"0", - "8":"1", - "9":"0", - "10":"0", - "11":"0", - "12":"0", - "13":"0", - "14":"0", - "15":"0", - "16":"0", - "17":"0", - "18":"0", - "19":"0", - "20":"0", - "21":"0", - "22":"0", - "23":"0", - "24":"0", - "25":"0", - "26":"0", - "27":"0", - "28":"0", - "29":"0", - "30":"0", - "31":"0", - "32":"0", - "33":"0", - "34":"0", - "35":"0", - "36":"0", - "37":"0", - "38":"0", - "39":"0", - "40":"0", - "41":"0", - "42":"0", - "43":"0", - "44":"0", - "45":"0", - "46":"0", - "47":"0", - "48":"0", - "49":"0", - "50":"0", - "51":"0", - "52":"0", - "53":"0", - "54":"0", - "55":"0", - "56":"0", - "57":"0", - "58":"0", - "59":"0", - "60":"0", - "61":"0", - "62":"0", - "63":"0" + "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": { @@ -111,7 +111,19 @@ }, "WRED_PROFILE": { "AZURE_LOSSLESS" : { - "red_min_threshold":"50000" + "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" } } } diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/qos_defaults_def_lossy.j2 b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/qos_defaults_def_lossy.j2 index 104d2d78de87..a2b84b93530e 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/qos_defaults_def_lossy.j2 +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/qos_defaults_def_lossy.j2 @@ -23,8 +23,8 @@ "0": "0", "1": "0", "2": "0", - "3": "3", - "4": "4", + "3": "1", + "4": "2", "5": "0", "6": "0", "7": "0" @@ -99,11 +99,14 @@ } }, "PORT_QOS_MAP": { - "{{ port_names }}": { +{% 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": { diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/qos_defaults_t1.j2 b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/qos_defaults_t1.j2 index c03541470fa1..3084c5235a20 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/qos_defaults_t1.j2 +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/esc601-32q/qos_defaults_t1.j2 @@ -32,70 +32,70 @@ }, "DSCP_TO_TC_MAP": { "AZURE": { - "0":"0", - "1":"0", - "2":"0", - "3":"3", - "4":"4", - "5":"0", - "6":"0", - "7":"0", - "8":"1", - "9":"0", - "10":"0", - "11":"0", - "12":"0", - "13":"0", - "14":"0", - "15":"0", - "16":"0", - "17":"0", - "18":"0", - "19":"0", - "20":"0", - "21":"0", - "22":"0", - "23":"0", - "24":"0", - "25":"0", - "26":"0", - "27":"0", - "28":"0", - "29":"0", - "30":"0", - "31":"0", - "32":"0", - "33":"0", - "34":"0", - "35":"0", - "36":"0", - "37":"0", - "38":"0", - "39":"0", - "40":"0", - "41":"0", - "42":"0", - "43":"0", - "44":"0", - "45":"0", - "46":"0", - "47":"0", - "48":"0", - "49":"0", - "50":"0", - "51":"0", - "52":"0", - "53":"0", - "54":"0", - "55":"0", - "56":"0", - "57":"0", - "58":"0", - "59":"0", - "60":"0", - "61":"0", - "62":"0", - "63":"0" + "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": { @@ -111,7 +111,19 @@ }, "WRED_PROFILE": { "AZURE_LOSSLESS" : { - "red_min_threshold":"50000" + "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" } } } diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/buffers.json.j2 b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/buffers.json.j2 index 84b4aa8c2f1e..cb4262034bc6 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/buffers.json.j2 +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/buffers.json.j2 @@ -86,6 +86,10 @@ "type": "egress", "mode": "dynamic", "xoff": "0" + }, + "egress_lossless_pool": { + "size": "66092800", + "type": "egress" } }, "BUFFER_PROFILE": { @@ -94,7 +98,7 @@ "xoff":"38816", "size":"1518", "dynamic_th":"1", - "xon_offset":"13440" + "xon_offset":"9408" }, "egress_lossless_profile": { "pool":"[BUFFER_POOL|ingress_lossless_pool]", @@ -113,16 +117,29 @@ } }, "BUFFER_PG": { - "{{ port_names }}|0-2": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - }, - "{{ port_names }}|3-4": { - "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" - }, - "{{ port_names }}|5-7": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - } +{% 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": { {% for port in port_names_list %} "{{ port }}|3-4": { diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/buffers_defaults_def_lossy.j2 b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/buffers_defaults_def_lossy.j2 index 1a31812c26b1..3b1191a215fc 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/buffers_defaults_def_lossy.j2 +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/buffers_defaults_def_lossy.j2 @@ -26,13 +26,17 @@ } }, "BUFFER_PG": { - "{{ port_names }}|0-7": { +{% for port in port_names_list %} + "{{ port }}|0-7": { "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - } + }{% if not loop.last %},{% endif %} +{% endfor %} }, "BUFFER_QUEUE": { - "{{ port_names }}|0-7": { +{% for port in port_names_list %} + "{{ port }}|0-7": { "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" - } + }{% if not loop.last %},{% endif %} +{% endfor %} } } diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/buffers_defaults_t1.j2 b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/buffers_defaults_t1.j2 index 84b4aa8c2f1e..cb4262034bc6 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/buffers_defaults_t1.j2 +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/buffers_defaults_t1.j2 @@ -86,6 +86,10 @@ "type": "egress", "mode": "dynamic", "xoff": "0" + }, + "egress_lossless_pool": { + "size": "66092800", + "type": "egress" } }, "BUFFER_PROFILE": { @@ -94,7 +98,7 @@ "xoff":"38816", "size":"1518", "dynamic_th":"1", - "xon_offset":"13440" + "xon_offset":"9408" }, "egress_lossless_profile": { "pool":"[BUFFER_POOL|ingress_lossless_pool]", @@ -113,16 +117,29 @@ } }, "BUFFER_PG": { - "{{ port_names }}|0-2": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - }, - "{{ port_names }}|3-4": { - "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" - }, - "{{ port_names }}|5-7": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - } +{% 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": { {% for port in port_names_list %} "{{ port }}|3-4": { diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/config_32x200G_Cameo-esc601-32q.yaml b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/config_32x200G_Cameo-esc601-32q.yaml index 53b8ce036f98..5f214b1d912c 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/config_32x200G_Cameo-esc601-32q.yaml +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/config_32x200G_Cameo-esc601-32q.yaml @@ -10,8 +10,9 @@ nodes: - auto_create: "no" multi_interface: "yes" buffer_management_mode: "api_driven" - max_lossless_tc: "2" 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: diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/innovium.77700_B b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/innovium.77700_B index 27297b313959..57ba52cbc3bc 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/innovium.77700_B +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/innovium.77700_B @@ -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 diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/pg_profile_lookup.ini b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/pg_profile_lookup.ini index adcb52ab2a29..0d881737cfa1 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/pg_profile_lookup.ini +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/pg_profile_lookup.ini @@ -1,18 +1,22 @@ # PG lossless profiles. # speed cable size xon xoff threshold xon_offset - 25000 5m 1518 0 15680 1 13440 - 50000 5m 1518 0 21248 1 13440 - 100000 5m 1518 0 34624 1 13440 - 400000 5m 1518 0 117536 1 13440 - 25000 40m 1518 0 16928 1 13440 - 50000 40m 1518 0 23392 1 13440 - 100000 40m 1518 0 38816 1 13440 - 400000 40m 1518 0 135520 1 13440 - 25000 100m 1518 0 18848 1 13440 - 50000 100m 1518 0 27264 1 13440 - 100000 100m 1518 0 46496 1 13440 - 400000 100m 1518 0 166688 1 13440 - 25000 300m 1518 0 25184 1 13440 - 50000 300m 1518 0 40128 1 13440 - 100000 300m 1518 0 72384 1 13440 - 400000 300m 1518 0 268640 1 13440 + 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 diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/qos.json.j2 b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/qos.json.j2 index c03541470fa1..3084c5235a20 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/qos.json.j2 +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/qos.json.j2 @@ -32,70 +32,70 @@ }, "DSCP_TO_TC_MAP": { "AZURE": { - "0":"0", - "1":"0", - "2":"0", - "3":"3", - "4":"4", - "5":"0", - "6":"0", - "7":"0", - "8":"1", - "9":"0", - "10":"0", - "11":"0", - "12":"0", - "13":"0", - "14":"0", - "15":"0", - "16":"0", - "17":"0", - "18":"0", - "19":"0", - "20":"0", - "21":"0", - "22":"0", - "23":"0", - "24":"0", - "25":"0", - "26":"0", - "27":"0", - "28":"0", - "29":"0", - "30":"0", - "31":"0", - "32":"0", - "33":"0", - "34":"0", - "35":"0", - "36":"0", - "37":"0", - "38":"0", - "39":"0", - "40":"0", - "41":"0", - "42":"0", - "43":"0", - "44":"0", - "45":"0", - "46":"0", - "47":"0", - "48":"0", - "49":"0", - "50":"0", - "51":"0", - "52":"0", - "53":"0", - "54":"0", - "55":"0", - "56":"0", - "57":"0", - "58":"0", - "59":"0", - "60":"0", - "61":"0", - "62":"0", - "63":"0" + "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": { @@ -111,7 +111,19 @@ }, "WRED_PROFILE": { "AZURE_LOSSLESS" : { - "red_min_threshold":"50000" + "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" } } } diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/qos_defaults_def_lossy.j2 b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/qos_defaults_def_lossy.j2 index 104d2d78de87..a2b84b93530e 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/qos_defaults_def_lossy.j2 +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/qos_defaults_def_lossy.j2 @@ -23,8 +23,8 @@ "0": "0", "1": "0", "2": "0", - "3": "3", - "4": "4", + "3": "1", + "4": "2", "5": "0", "6": "0", "7": "0" @@ -99,11 +99,14 @@ } }, "PORT_QOS_MAP": { - "{{ port_names }}": { +{% 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": { diff --git a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/qos_defaults_t1.j2 b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/qos_defaults_t1.j2 index c03541470fa1..3084c5235a20 100644 --- a/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/qos_defaults_t1.j2 +++ b/device/cameo/x86_64-cameo_esc601_32q-r0/escc600-32q/qos_defaults_t1.j2 @@ -32,70 +32,70 @@ }, "DSCP_TO_TC_MAP": { "AZURE": { - "0":"0", - "1":"0", - "2":"0", - "3":"3", - "4":"4", - "5":"0", - "6":"0", - "7":"0", - "8":"1", - "9":"0", - "10":"0", - "11":"0", - "12":"0", - "13":"0", - "14":"0", - "15":"0", - "16":"0", - "17":"0", - "18":"0", - "19":"0", - "20":"0", - "21":"0", - "22":"0", - "23":"0", - "24":"0", - "25":"0", - "26":"0", - "27":"0", - "28":"0", - "29":"0", - "30":"0", - "31":"0", - "32":"0", - "33":"0", - "34":"0", - "35":"0", - "36":"0", - "37":"0", - "38":"0", - "39":"0", - "40":"0", - "41":"0", - "42":"0", - "43":"0", - "44":"0", - "45":"0", - "46":"0", - "47":"0", - "48":"0", - "49":"0", - "50":"0", - "51":"0", - "52":"0", - "53":"0", - "54":"0", - "55":"0", - "56":"0", - "57":"0", - "58":"0", - "59":"0", - "60":"0", - "61":"0", - "62":"0", - "63":"0" + "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": { @@ -111,7 +111,19 @@ }, "WRED_PROFILE": { "AZURE_LOSSLESS" : { - "red_min_threshold":"50000" + "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" } } } diff --git a/device/cameo/x86_64-cameo_esc602_32q-r0/esc602-32q/config_32x100G_Cameo-esc602-32q.yaml b/device/cameo/x86_64-cameo_esc602_32q-r0/esc602-32q/config_32x100G_Cameo-esc602-32q.yaml index 346c61d82871..8880c088a08a 100644 --- a/device/cameo/x86_64-cameo_esc602_32q-r0/esc602-32q/config_32x100G_Cameo-esc602-32q.yaml +++ b/device/cameo/x86_64-cameo_esc602_32q-r0/esc602-32q/config_32x100G_Cameo-esc602-32q.yaml @@ -9,6 +9,8 @@ nodes: - 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" skip_pll_check: "false" ilpm_enable: "1" diff --git a/device/cameo/x86_64-cameo_escc601_32q-r0/escc601-32q/buffers.json.j2 b/device/cameo/x86_64-cameo_escc601_32q-r0/escc601-32q/buffers.json.j2 index 826a63d0f580..9c4a98750182 100644 --- a/device/cameo/x86_64-cameo_escc601_32q-r0/escc601-32q/buffers.json.j2 +++ b/device/cameo/x86_64-cameo_escc601_32q-r0/escc601-32q/buffers.json.j2 @@ -76,16 +76,13 @@ }, "BUFFER_POOL": { "ingress_lossless_pool": { - "size": "34056960", + "size": "23201280", "type": "ingress", - "mode": "dynamic", - "xoff": "4185600" + "xoff": "7104000" }, "lossy_pool": { - "size": "14595840", - "type": "egress", - "mode": "dynamic", - "xoff": "0" + "size": "27601920", + "type": "egress" } }, "BUFFER_PROFILE": { diff --git a/device/cameo/x86_64-cameo_escc601_32q-r0/escc601-32q/buffers_defaults_def_lossy.j2 b/device/cameo/x86_64-cameo_escc601_32q-r0/escc601-32q/buffers_defaults_def_lossy.j2 index 72a618f07f4c..82cfd1b96d40 100644 --- a/device/cameo/x86_64-cameo_escc601_32q-r0/escc601-32q/buffers_defaults_def_lossy.j2 +++ b/device/cameo/x86_64-cameo_escc601_32q-r0/escc601-32q/buffers_defaults_def_lossy.j2 @@ -9,8 +9,6 @@ "lossy_pool": { "size": "46003200", "type": "egress", - "mode": "dynamic", - "xoff": "0" } }, "BUFFER_PROFILE": { diff --git a/device/cameo/x86_64-cameo_escc601_32q-r0/escc601-32q/buffers_defaults_t1.j2 b/device/cameo/x86_64-cameo_escc601_32q-r0/escc601-32q/buffers_defaults_t1.j2 index 826a63d0f580..9c4a98750182 100644 --- a/device/cameo/x86_64-cameo_escc601_32q-r0/escc601-32q/buffers_defaults_t1.j2 +++ b/device/cameo/x86_64-cameo_escc601_32q-r0/escc601-32q/buffers_defaults_t1.j2 @@ -76,16 +76,13 @@ }, "BUFFER_POOL": { "ingress_lossless_pool": { - "size": "34056960", + "size": "23201280", "type": "ingress", - "mode": "dynamic", - "xoff": "4185600" + "xoff": "7104000" }, "lossy_pool": { - "size": "14595840", - "type": "egress", - "mode": "dynamic", - "xoff": "0" + "size": "27601920", + "type": "egress" } }, "BUFFER_PROFILE": { diff --git a/device/cameo/x86_64-cameo_escc601_32q-r0/escc601-32q/config_32x200G_Cameo-escc601-32q.yaml b/device/cameo/x86_64-cameo_escc601_32q-r0/escc601-32q/config_32x200G_Cameo-escc601-32q.yaml index 5bf5c0dd2ff5..ca0198aa6f4c 100644 --- a/device/cameo/x86_64-cameo_escc601_32q-r0/escc601-32q/config_32x200G_Cameo-escc601-32q.yaml +++ b/device/cameo/x86_64-cameo_escc601_32q-r0/escc601-32q/config_32x200G_Cameo-escc601-32q.yaml @@ -4,11 +4,14 @@ ifcs: nodes: - node_id: "0" options: + sd_low_power_mode_global_default: "true" sku: "configs/sku/innovium.55610" 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" skip_pll_check: "false" ilpm_enable: "1" diff --git a/device/cameo/x86_64-cameo_escc601_32q-r0/plugins/led_monitor_plugin.py b/device/cameo/x86_64-cameo_escc601_32q-r0/plugins/led_monitor_plugin.py new file mode 100755 index 000000000000..27db265a4545 --- /dev/null +++ b/device/cameo/x86_64-cameo_escc601_32q-r0/plugins/led_monitor_plugin.py @@ -0,0 +1,84 @@ +"""SONiC LED plugin to control LED on/off/blinking when link-up/link-down/flowing-traffic +""" +def platform_configure_led(isg, lane, link_status, detailed_speed, activity_status): + """ Configure LED to turn on/off/blink based on link-up/link-down/activity-status + Args: + isg, lane, link_status, detailed_speed, activity_status + Returns: + cmd + Raises: + none + """ + base_cmd = 'i2cset -f -y 0 0x38' + isg_to_bitset_map = { + 'ISG0':'0', + 'ISG1':'1', + 'ISG2':'2', + 'ISG3':'3', + 'ISG4':'4', + 'ISG5':'5', + 'ISG6':'6', + 'ISG7':'7', + 'ISG8':'8', + 'ISG9':'9', + 'ISG10':'a', + 'ISG11':'b', + 'ISG12':'c', + 'ISG13':'d', + 'ISG14':'e', + 'ISG15':'f' + } + detailed_speed_to_bitset_map = { + '400G/50G':'0', + '200G/50G':'1', + '200G/25G':'2', + '100G/50G':'3', + '50G/50G':'4', + '100G/25G':'5', + '50G/25G':'6', + '25G/25G':'7', + '40G/10G':'8', + '10G/10G':'9' + } + + try: + if link_status == 'D': + arg = '0x' + isg_to_bitset_map[isg] + str(lane) + cmd = base_cmd + ' ' + arg + ' 0x00' + elif link_status == 'U': + arg1 = '0x' + isg_to_bitset_map[isg] + str(lane) + arg2 = '0x' + str(1+(2*activity_status)) + detailed_speed_to_bitset_map[detailed_speed] + cmd = base_cmd + ' ' + arg1 + ' ' + arg2 + + return cmd + + except Exception: + print('Error when processing command: {}'.format(cmd)) + raise + +def platform_configure_switch_led_control_from_TL5_to_CPU(): + """ Configure switch LED stream from TL5 to CPU through i2c + Args: + none + Returns: + cmd + Raises: + none + """ + cmd = 'i2cset -f -y 0 0x30 0xa0 0xf' + return cmd + +def main(): + """ Main function. + Args: + none + Returns: + none + Raises: + none + """ + return + + +if __name__ == '__main__': + main() diff --git a/device/cameo/x86_64-cameo_esqc610_56sq-r0/esqc610-56sq/config_48x25G_8x100G_Cameo-esqc610-56sq.yaml b/device/cameo/x86_64-cameo_esqc610_56sq-r0/esqc610-56sq/config_48x25G_8x100G_Cameo-esqc610-56sq.yaml index 1a8f583364e3..f18312aee58e 100644 --- a/device/cameo/x86_64-cameo_esqc610_56sq-r0/esqc610-56sq/config_48x25G_8x100G_Cameo-esqc610-56sq.yaml +++ b/device/cameo/x86_64-cameo_esqc610_56sq-r0/esqc610-56sq/config_48x25G_8x100G_Cameo-esqc610-56sq.yaml @@ -9,6 +9,8 @@ nodes: - 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" skip_pll_check: "false" ilpm_enable: "1" diff --git a/platform/innovium/sonic-platform-modules-cameo/debian/cameo_platform_version.sh b/platform/innovium/sonic-platform-modules-cameo/debian/cameo_platform_version.sh index b9bfd37abf4f..0a3d47f9175e 100755 --- a/platform/innovium/sonic-platform-modules-cameo/debian/cameo_platform_version.sh +++ b/platform/innovium/sonic-platform-modules-cameo/debian/cameo_platform_version.sh @@ -4,7 +4,7 @@ PLATFORM=$1 PLATFORM_PATH=$2 -export PLATFORM_DRIVER_VER='"1.1.1"' +export PLATFORM_DRIVER_VER='"1.1.0"' echo "PLATFORM_DRIVER_VER = $PLATFORM_DRIVER_VER"