[buffer] create infrastructure to enable buffer/QoS profiles
Signed-off-by: Ying Xie <ying.xie@microsoft.com>
This commit is contained in:
parent
a99fb25ada
commit
f7455b7b2c
@ -0,0 +1 @@
|
||||
../../../common/profiles/th/gen/BALANCED
|
@ -0,0 +1 @@
|
||||
../../../common/profiles/th/gen/RDMA-CENTRIC
|
@ -0,0 +1 @@
|
||||
../../../common/profiles/th/gen/TCP-CENTRIC
|
@ -0,0 +1,13 @@
|
||||
{%- set ports2cable = {
|
||||
'torrouter_server' : '300m',
|
||||
'leafrouter_torrouter' : '300m',
|
||||
'spinerouter_leafrouter' : '300m'
|
||||
}
|
||||
-%}
|
||||
|
||||
{%- macro generate_port_lists(PORT_ALL) %}
|
||||
{# Generate list of ports #}
|
||||
{%- for port_idx in range(0,32) %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endmacro %}
|
@ -0,0 +1,13 @@
|
||||
{%- set ports2cable = {
|
||||
'torrouter_server' : '300m',
|
||||
'leafrouter_torrouter' : '300m',
|
||||
'spinerouter_leafrouter' : '300m'
|
||||
}
|
||||
-%}
|
||||
|
||||
{%- macro generate_port_lists(PORT_ALL) %}
|
||||
{# Generate list of ports #}
|
||||
{%- for port_idx in range(0,32) %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endmacro %}
|
@ -1,54 +0,0 @@
|
||||
|
||||
{%- set default_cable = '5m' %}
|
||||
|
||||
{%- set ports2cable = {
|
||||
'torrouter_server' : '300m',
|
||||
'leafrouter_torrouter' : '300m',
|
||||
'spinerouter_leafrouter' : '300m'
|
||||
}
|
||||
-%}
|
||||
|
||||
{%- macro generate_port_lists(PORT_ALL) %}
|
||||
{# Generate list of ports #}
|
||||
{%- for port_idx in range(0,32) %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
"ingress_lossless_pool": {
|
||||
"size": "10875072",
|
||||
"type": "ingress",
|
||||
"mode": "dynamic",
|
||||
"xoff": "4194112"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"size": "9243812",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "15982720",
|
||||
"type": "egress",
|
||||
"mode": "static"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"1518",
|
||||
"static_th":"15982720"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"1518",
|
||||
"dynamic_th":"3"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
@ -0,0 +1 @@
|
||||
BALANCED/buffers_defaults_t0.j2
|
@ -1,54 +0,0 @@
|
||||
|
||||
{%- set default_cable = '40m' %}
|
||||
|
||||
{%- set ports2cable = {
|
||||
'torrouter_server' : '300m',
|
||||
'leafrouter_torrouter' : '300m',
|
||||
'spinerouter_leafrouter' : '300m'
|
||||
}
|
||||
-%}
|
||||
|
||||
{%- macro generate_port_lists(PORT_ALL) %}
|
||||
{# Generate list of ports #}
|
||||
{%- for port_idx in range(0,32) %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
"ingress_lossless_pool": {
|
||||
"size": "10875072",
|
||||
"type": "ingress",
|
||||
"mode": "dynamic",
|
||||
"xoff": "4194112"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"size": "9243812",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "15982720",
|
||||
"type": "egress",
|
||||
"mode": "static"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"1518",
|
||||
"static_th":"15982720"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"1518",
|
||||
"dynamic_th":"3"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
@ -0,0 +1 @@
|
||||
BALANCED/buffers_defaults_t1.j2
|
@ -1,17 +0,0 @@
|
||||
# PG lossless profiles.
|
||||
# speed cable size xon xoff threshold xon_offset
|
||||
10000 5m 1248 2288 35776 0 2288
|
||||
25000 5m 1248 2288 53248 0 2288
|
||||
40000 5m 1248 2288 66560 0 2288
|
||||
50000 5m 1248 2288 90272 0 2288
|
||||
100000 5m 1248 2288 165568 0 2288
|
||||
10000 40m 1248 2288 37024 0 2288
|
||||
25000 40m 1248 2288 53248 0 2288
|
||||
40000 40m 1248 2288 71552 0 2288
|
||||
50000 40m 1248 2288 96096 0 2288
|
||||
100000 40m 1248 2288 177632 0 2288
|
||||
10000 300m 1248 2288 46176 0 2288
|
||||
25000 300m 1248 2288 79040 0 2288
|
||||
40000 300m 1248 2288 108160 0 2288
|
||||
50000 300m 1248 2288 141856 0 2288
|
||||
100000 300m 1248 2288 268736 0 2288
|
@ -0,0 +1 @@
|
||||
BALANCED/pg_profile_lookup.ini
|
@ -1,21 +0,0 @@
|
||||
{%- macro generate_wred_profiles() %}
|
||||
"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" : "250000",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
||||
{%- include 'qos_config.j2' %}
|
@ -0,0 +1 @@
|
||||
BALANCED/qos.json.j2
|
@ -0,0 +1,41 @@
|
||||
{%- set default_cable = '5m' %}
|
||||
|
||||
{%- include 'buffer_ports_t0.j2' %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
"ingress_lossless_pool": {
|
||||
"size": "10875072",
|
||||
"type": "ingress",
|
||||
"mode": "dynamic",
|
||||
"xoff": "4194112"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"size": "9243812",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "15982720",
|
||||
"type": "egress",
|
||||
"mode": "static"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"1518",
|
||||
"static_th":"15982720"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"1518",
|
||||
"dynamic_th":"3"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
@ -0,0 +1,41 @@
|
||||
{%- set default_cable = '40m' %}
|
||||
|
||||
{%- include 'buffer_ports_t1.j2' %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
"ingress_lossless_pool": {
|
||||
"size": "10875072",
|
||||
"type": "ingress",
|
||||
"mode": "dynamic",
|
||||
"xoff": "4194112"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"size": "9243812",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "15982720",
|
||||
"type": "egress",
|
||||
"mode": "static"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"1518",
|
||||
"static_th":"15982720"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"1518",
|
||||
"dynamic_th":"3"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
17
device/common/profiles/th/gen/BALANCED/pg_profile_lookup.ini
Normal file
17
device/common/profiles/th/gen/BALANCED/pg_profile_lookup.ini
Normal file
@ -0,0 +1,17 @@
|
||||
# PG lossless profiles.
|
||||
# speed cable size xon xoff threshold xon_offset
|
||||
10000 5m 1248 2288 35776 0 2288
|
||||
25000 5m 1248 2288 53248 0 2288
|
||||
40000 5m 1248 2288 66560 0 2288
|
||||
50000 5m 1248 2288 90272 0 2288
|
||||
100000 5m 1248 2288 165568 0 2288
|
||||
10000 40m 1248 2288 37024 0 2288
|
||||
25000 40m 1248 2288 53248 0 2288
|
||||
40000 40m 1248 2288 71552 0 2288
|
||||
50000 40m 1248 2288 96096 0 2288
|
||||
100000 40m 1248 2288 177632 0 2288
|
||||
10000 300m 1248 2288 46176 0 2288
|
||||
25000 300m 1248 2288 79040 0 2288
|
||||
40000 300m 1248 2288 108160 0 2288
|
||||
50000 300m 1248 2288 141856 0 2288
|
||||
100000 300m 1248 2288 268736 0 2288
|
21
device/common/profiles/th/gen/BALANCED/qos.json.j2
Normal file
21
device/common/profiles/th/gen/BALANCED/qos.json.j2
Normal file
@ -0,0 +1,21 @@
|
||||
{%- macro generate_wred_profiles() %}
|
||||
"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" : "250000",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
||||
{%- include 'qos_config.j2' %}
|
@ -0,0 +1,41 @@
|
||||
{%- set default_cable = '5m' %}
|
||||
|
||||
{%- include 'buffer_ports_t0.j2' %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
"ingress_lossless_pool": {
|
||||
"size": "10875072",
|
||||
"type": "ingress",
|
||||
"mode": "dynamic",
|
||||
"xoff": "4194112"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"size": "9243812",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "15982720",
|
||||
"type": "egress",
|
||||
"mode": "static"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"1518",
|
||||
"static_th":"15982720"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"1518",
|
||||
"dynamic_th":"3"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
@ -0,0 +1,41 @@
|
||||
{%- set default_cable = '40m' %}
|
||||
|
||||
{%- include 'buffer_ports_t1.j2' %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
"ingress_lossless_pool": {
|
||||
"size": "10875072",
|
||||
"type": "ingress",
|
||||
"mode": "dynamic",
|
||||
"xoff": "4194112"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"size": "9243812",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "15982720",
|
||||
"type": "egress",
|
||||
"mode": "static"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"1518",
|
||||
"static_th":"15982720"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"1518",
|
||||
"dynamic_th":"3"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
@ -0,0 +1,17 @@
|
||||
# PG lossless profiles.
|
||||
# speed cable size xon xoff threshold xon_offset
|
||||
10000 5m 1248 2288 35776 0 2288
|
||||
25000 5m 1248 2288 53248 0 2288
|
||||
40000 5m 1248 2288 66560 0 2288
|
||||
50000 5m 1248 2288 90272 0 2288
|
||||
100000 5m 1248 2288 165568 0 2288
|
||||
10000 40m 1248 2288 37024 0 2288
|
||||
25000 40m 1248 2288 53248 0 2288
|
||||
40000 40m 1248 2288 71552 0 2288
|
||||
50000 40m 1248 2288 96096 0 2288
|
||||
100000 40m 1248 2288 177632 0 2288
|
||||
10000 300m 1248 2288 46176 0 2288
|
||||
25000 300m 1248 2288 79040 0 2288
|
||||
40000 300m 1248 2288 108160 0 2288
|
||||
50000 300m 1248 2288 141856 0 2288
|
||||
100000 300m 1248 2288 268736 0 2288
|
21
device/common/profiles/th/gen/RDMA-CENTRIC/qos.json.j2
Normal file
21
device/common/profiles/th/gen/RDMA-CENTRIC/qos.json.j2
Normal file
@ -0,0 +1,21 @@
|
||||
{%- macro generate_wred_profiles() %}
|
||||
"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" : "250000",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
||||
{%- include 'qos_config.j2' %}
|
1
device/common/profiles/th/gen/TCP-CENTRIC
Symbolic link
1
device/common/profiles/th/gen/TCP-CENTRIC
Symbolic link
@ -0,0 +1 @@
|
||||
BALANCED
|
Loading…
Reference in New Issue
Block a user