Skip to content

Commit

Permalink
Merge pull request sonic-net#71 from chiourung/DPB-subport
Browse files Browse the repository at this point in the history
Calulcate subport values
bryan1978 authored Jul 12, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
2 parents a699c67 + 909dac4 commit 4554ea0
Showing 12 changed files with 1,048 additions and 404 deletions.
384 changes: 256 additions & 128 deletions device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-C128/hwsku.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,100 +1,132 @@
{
"interfaces": {
"Ethernet0": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet8": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet16": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet24": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet32": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet40": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet48": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet56": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet64": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet72": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet80": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet88": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet96": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet104": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet112": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet120": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet128": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet136": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet144": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet152": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet160": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet168": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet176": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet184": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet192": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet200": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet208": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet216": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet224": {
"default_brkout_mode": "1x200G[400G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x200G[400G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet232": {
"default_brkout_mode": "1x200G[400G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x200G[400G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet240": {
"default_brkout_mode": "1x200G[400G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x200G[400G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet248": {
"default_brkout_mode": "1x200G[400G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x200G[400G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
}
}
}
168 changes: 112 additions & 56 deletions device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O8C48/hwsku.json
Original file line number Diff line number Diff line change
@@ -1,172 +1,228 @@
{
"interfaces": {
"Ethernet0": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet4": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet8": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet12": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet16": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet20": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet24": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet28": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet32": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet36": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet40": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet44": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet48": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet52": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet56": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet60": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet64": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet68": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet72": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet76": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet80": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet84": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet88": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet92": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet96": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet104": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet112": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet120": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet128": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet136": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet144": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet152": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet160": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet164": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet168": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet172": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet176": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet180": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet184": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet188": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet192": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet196": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet200": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet204": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet208": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet212": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet216": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet220": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet224": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet228": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet232": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet236": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet240": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet244": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet248": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet252": {
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x100G[200G,50G,40G,25G,10G,1G]",
"subport": "2"
}
}
}
168 changes: 112 additions & 56 deletions device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O8V48/hwsku.json
Original file line number Diff line number Diff line change
@@ -1,172 +1,228 @@
{
"interfaces": {
"Ethernet0": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet4": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet8": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet12": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet16": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet20": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet24": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet28": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet32": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet36": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet40": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet44": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet48": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet52": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet56": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet60": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet64": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet68": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet72": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet76": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet80": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet84": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet88": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet92": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet96": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet104": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet112": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet120": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet128": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet136": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet144": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet152": {
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet160": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet164": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet168": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet172": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet176": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet180": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet184": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet188": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet192": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet196": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet200": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet204": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet208": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet212": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet216": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet220": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet224": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet228": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet232": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet236": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet240": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet244": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
},
"Ethernet248": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "1"
},
"Ethernet252": {
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]"
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G,1G]",
"subport": "2"
}
}
}
240 changes: 160 additions & 80 deletions device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-V48C32/hwsku.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -4,217 +4,249 @@
"alias": "fortyGigE0/2",
"lanes": "27,28",
"speed": "50000",
"index": "0"
"index": "0",
"subport": "2"
},
"Ethernet0": {
"alias": "fortyGigE0/0",
"lanes": "25,26",
"speed": "50000",
"index": "0"
"index": "0",
"subport": "1"
}
},
"Ethernet12_1x50G_2x25G": {
"Ethernet12": {
"alias": "fortyGigE0/12",
"lanes": "37,38",
"speed": "50000",
"index": "3"
"index": "3",
"subport": "1"
},
"Ethernet14": {
"alias": "fortyGigE0/14",
"lanes": "39",
"speed": "25000",
"index": "3"
"index": "3",
"subport": "2"
},
"Ethernet15": {
"alias": "fortyGigE0/15",
"lanes": "40",
"speed": "25000",
"index": "3"
"index": "3",
"subport": "3"
}
},
"Ethernet0_2x50G": {
"Ethernet2": {
"alias": "fortyGigE0/2",
"lanes": "27,28",
"speed": "50000",
"index": "0"
"index": "0",
"subport": "2"
},
"Ethernet0": {
"alias": "fortyGigE0/0",
"lanes": "25,26",
"speed": "50000",
"index": "0"
"index": "0",
"subport": "1"
}
},
"Ethernet0_1x100G": {
"Ethernet0": {
"alias": "fortyGigE0/0",
"lanes": "25,26,27,28",
"speed": "100000",
"index": "0"
"index": "0",
"subport": "1"
}
},
"Ethernet0_4x25G": {
"Ethernet2": {
"alias": "fortyGigE0/2",
"lanes": "27",
"speed": "25000",
"index": "0"
"index": "0",
"subport": "3"
},
"Ethernet3": {
"alias": "fortyGigE0/3",
"lanes": "28",
"speed": "25000",
"index": "0"
"index": "0",
"subport": "4"
},
"Ethernet0": {
"alias": "fortyGigE0/0",
"lanes": "25",
"speed": "25000",
"index": "0"
"index": "0",
"subport": "1"
},
"Ethernet1": {
"alias": "fortyGigE0/1",
"lanes": "26",
"speed": "25000",
"index": "0"
"index": "0",
"subport": "2"
}
},
"Ethernet0_2x25G_1x50G": {
"Ethernet2": {
"alias": "fortyGigE0/2",
"lanes": "27,28",
"speed": "50000",
"index": "0"
"index": "0",
"subport": "3"
},
"Ethernet0": {
"alias": "fortyGigE0/0",
"lanes": "25",
"speed": "25000",
"index": "0"
"index": "0",
"subport": "1"
},
"Ethernet1": {
"alias": "fortyGigE0/1",
"lanes": "26",
"speed": "25000",
"index": "0"
"index": "0",
"subport": "2"
}
},
"Ethernet0_1x50G_2x25G": {
"Ethernet2": {
"alias": "fortyGigE0/2",
"lanes": "27",
"speed": "25000",
"index": "0"
"index": "0",
"subport": "2"
},
"Ethernet3": {
"alias": "fortyGigE0/3",
"lanes": "28",
"speed": "25000",
"index": "0"
"index": "0",
"subport": "3"
},
"Ethernet0": {
"alias": "fortyGigE0/0",
"lanes": "25,26",
"speed": "50000",
"index": "0"
"index": "0",
"subport": "1"
}
},
"Ethernet4_4x25G": {
"Ethernet6": {
"alias": "fortyGigE0/6",
"lanes": "31",
"speed": "25000",
"index": "1"
"index": "1",
"subport": "3"
},
"Ethernet7": {
"alias": "fortyGigE0/7",
"lanes": "32",
"speed": "25000",
"index": "1"
"index": "1",
"subport": "4"
},
"Ethernet4": {
"alias": "fortyGigE0/4",
"lanes": "29",
"speed": "25000",
"index": "1"
"index": "1",
"subport": "1"
},
"Ethernet5": {
"alias": "fortyGigE0/5",
"lanes": "30",
"speed": "25000",
"index": "1"
"index": "1",
"subport": "2"
}
},
"Ethernet4_2x50G": {
"Ethernet6": {
"alias": "fortyGigE0/6",
"lanes": "31,32",
"speed": "50000",
"index": "1"
"index": "1",
"subport": "2"
},
"Ethernet4": {
"alias": "fortyGigE0/4",
"lanes": "29,30",
"speed": "50000",
"index": "1"
"index": "1",
"subport": "1"
}
},
"Ethernet8_2x50G": {
"Ethernet8": {
"alias": "fortyGigE0/8",
"lanes": "33,34",
"speed": "50000",
"index": "2"
"index": "2",
"subport": "1"
},
"Ethernet10": {
"alias": "fortyGigE0/10",
"lanes": "35,36",
"speed": "50000",
"index": "2"
"index": "2",
"subport": "2"
}
},
"Ethernet8_1x50G_2x25G": {
"Ethernet10": {
"alias": "fortyGigE0/10",
"lanes": "35",
"speed": "25000",
"index": "2"
"index": "2",
"subport": "1"
},
"Ethernet11": {
"alias": "fortyGigE0/11",
"lanes": "36",
"speed": "25000",
"index": "2"
"index": "2",
"subport": "2"
}
},
"Ethernet8_2x25G_1x50G": {
"Ethernet8": {
"alias": "fortyGigE0/8",
"lanes": "33",
"speed": "25000",
"index": "2"
"index": "2",
"subport": "1"
},
"Ethernet9": {
"alias": "fortyGigE0/9",
"lanes": "34",
"speed": "25000",
"index": "2"
"index": "2",
"subport": "2"
},
"Ethernet10": {
"alias": "fortyGigE0/10",
"lanes": "35,36",
"speed": "50000",
"index": "2"
"index": "2",
"subport": "3"
}
},
"Ethernet8_1x100G": {
"Ethernet8": {
"alias": "fortyGigE0/8",
"lanes": "33,34,35,36",
"speed": "100000",
"index": "2"
"index": "2",
"subport": "0"
}
}
}
8 changes: 4 additions & 4 deletions platform/vs/tests/breakout/test_breakout_cli.py
Original file line number Diff line number Diff line change
@@ -74,22 +74,22 @@ def test_breakout_modes(self, dvs):
print("**** Breakout Cli test Starts ****")
output_dict = self.breakout(dvs, 'Ethernet0', '2x50G')
expected_dict = expected["Ethernet0_2x50G"]
assert output_dict == expected_dict
assert output_dict == expected_dict, "output: {} != expected: {}".format(output_dict, expected_dict)
print("**** 1X100G --> 2x50G passed ****")

output_dict = self.breakout(dvs, 'Ethernet4', '4x25G[10G]')
expected_dict = expected["Ethernet4_4x25G"]
assert output_dict == expected_dict
assert output_dict == expected_dict, "output: {} != expected: {}".format(output_dict, expected_dict)
print("**** 1X100G --> 4x25G[10G] passed ****")

output_dict = self.breakout(dvs, 'Ethernet8', '2x25G(2)+1x50G(2)')
expected_dict = expected["Ethernet8_2x25G_1x50G"]
assert output_dict == expected_dict
assert output_dict == expected_dict, "output: {} != expected: {}".format(output_dict, expected_dict)
print("**** 1X100G --> 2x25G(2)+1x50G(2) passed ****")

output_dict = self.breakout(dvs, 'Ethernet12', '1x50G(2)+2x25G(2)')
expected_dict = expected["Ethernet12_1x50G_2x25G"]
assert output_dict == expected_dict
assert output_dict == expected_dict, "output: {} != expected: {}".format(output_dict, expected_dict)
print("**** 1X100G --> 1x50G(2)+2x25G(2) passed ****")

# TODOFIX: remove comments once #4442 PR got merged and
14 changes: 10 additions & 4 deletions src/sonic-config-engine/portconfig.py
Original file line number Diff line number Diff line change
@@ -353,8 +353,10 @@ def _str_to_entries(self, bmode):
def get_config(self):
# Ensure that we have corret number of configured lanes
lanes_used = 0
total_num_ports = 0
for entry in self._breakout_mode_entry:
lanes_used += entry.num_assigned_lanes
total_num_ports += entry.num_ports

if lanes_used > len(self._lanes):
raise RuntimeError("Assigned lines count is more that available!")
@@ -376,7 +378,8 @@ def get_config(self):
'alias': self._breakout_capabilities[alias_id],
'lanes': ','.join(lanes),
'speed': str(entry.default_speed),
'index': self._indexes[lane_id]
'index': self._indexes[lane_id],
'subport': "0" if total_num_ports == 1 else str(alias_id + 1)
}

lane_id += lanes_per_port
@@ -422,9 +425,12 @@ def parse_platform_json_file(hwsku_json_file, platform_json_file):
child_ports = get_child_ports(intf, brkout_mode, platform_json_file)

# take optional fields from hwsku.json
for key, item in hwsku_dict[INTF_KEY][intf].items():
if key in OPTIONAL_HWSKU_ATTRIBUTES:
child_ports.get(intf)[key] = item
hwsku_entry = hwsku_dict[INTF_KEY]
for child_port in child_ports:
if child_port in hwsku_entry:
for key, item in hwsku_entry[child_port].items():
if key in OPTIONAL_HWSKU_ATTRIBUTES:
child_ports.get(child_port)[key] = item

ports.update(child_ports)

163 changes: 163 additions & 0 deletions src/sonic-config-engine/tests/sample_hwsku.json
Original file line number Diff line number Diff line change
@@ -6,96 +6,243 @@
"Ethernet4": {
"default_brkout_mode": "2x50G"
},
"Ethernet6": {
"default_brkout_mode": "2x50G"
},
"Ethernet8": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet9": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet10": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet11": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet12": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet13": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet14": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet16": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet18": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet19": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet20": {
"default_brkout_mode": "1x100G[40G]"
},
"Ethernet24": {
"default_brkout_mode": "2x50G"
},
"Ethernet26": {
"default_brkout_mode": "2x50G"
},
"Ethernet28": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet29": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet30": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet31": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet32": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet33": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet34": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet36": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet38": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet39": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet40": {
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]"
},
"Ethernet44": {
"default_brkout_mode": "2x50G[40G,25G,10G,1G]"
},
"Ethernet46": {
"default_brkout_mode": "2x50G[40G,25G,10G,1G]"
},
"Ethernet48": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet49": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet50": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet51": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet52": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet53": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet54": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet56": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet58": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet59": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet60": {
"default_brkout_mode": "1x100G[40G]"
},
"Ethernet64": {
"default_brkout_mode": "2x50G"
},
"Ethernet66": {
"default_brkout_mode": "2x50G"
},
"Ethernet68": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet69": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet70": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet71": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet72": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet73": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet74": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet76": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet78": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet79": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet80": {
"default_brkout_mode": "1x100G[40G]"
},
"Ethernet84": {
"default_brkout_mode": "2x50G"
},
"Ethernet86": {
"default_brkout_mode": "2x50G"
},
"Ethernet88": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet89": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet90": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet91": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet92": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet93": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet94": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet96": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet98": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet99": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet100": {
"default_brkout_mode": "1x100G[40G]"
},
"Ethernet104": {
"default_brkout_mode": "2x50G"
},
"Ethernet106": {
"default_brkout_mode": "2x50G"
},
"Ethernet108": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet109": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet110": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet111": {
"default_brkout_mode": "4x25G[10G]"
},
"Ethernet112": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet113": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet114": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
},
"Ethernet116": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet118": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet119": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
},
"Ethernet120": {
"default_brkout_mode": "1x100G[40G]"
},
"Ethernet124": {
"default_brkout_mode": "2x50G"
},
"Ethernet126": {
"default_brkout_mode": "2x50G"
},
"Ethernet128": {
"default_brkout_mode": "1x40G[100G]"
},
@@ -105,11 +252,27 @@
"Ethernet136": {
"default_brkout_mode": "4x10G[25G]"
},
"Ethernet137": {
"default_brkout_mode": "4x10G[25G]"
},
"Ethernet138": {
"default_brkout_mode": "4x10G[25G]"
},
"Ethernet139": {
"default_brkout_mode": "4x10G[25G]"
},
"Ethernet140": {
"default_brkout_mode": "2x25G(2)+1x50000(2)"
},
"Ethernet141": {
"default_brkout_mode": "2x25G(2)+1x50000(2)"
},
"Ethernet142": {
"default_brkout_mode": "2x25G(2)+1x50000(2)"
},
"Ethernet144": {
"default_brkout_mode": "1x100000[50G,40000,25G,10000]"
}
}
}

107 changes: 99 additions & 8 deletions src/sonic-config-engine/tests/sample_output/platform_output.json

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions src/sonic-config-engine/tests/test_cfggen_platformJson.py
Original file line number Diff line number Diff line change
@@ -79,19 +79,19 @@ def test_platform_json_specific_ethernet_interfaces(self):
argument = ['-m', self.platform_sample_graph, '-p', self.platform_json, '-S', self.hwsku_json, '-v', "PORT[\'Ethernet8\']"]
output = self.run_script(argument)
self.maxDiff = None
expected = "{'index': '3', 'lanes': '8', 'description': 'Eth3/1', 'mtu': '9100', 'alias': 'Eth3/1', 'pfc_asym': 'off', 'speed': '25000', 'tpid': '0x8100'}"
expected = "{'index': '3', 'lanes': '8', 'description': 'Eth3/1', 'mtu': '9100', 'alias': 'Eth3/1', 'pfc_asym': 'off', 'speed': '25000', 'subport': '1', 'tpid': '0x8100'}"
self.assertEqual(utils.to_dict(output.strip()), utils.to_dict(expected))

argument = ['-m', self.platform_sample_graph, '-p', self.platform_json, '-S', self.hwsku_json, '-v', "PORT[\'Ethernet112\']"]
output = self.run_script(argument)
self.maxDiff = None
expected = "{'index': '29', 'lanes': '112', 'description': 'Eth29/1', 'mtu': '9100', 'alias': 'Eth29/1', 'pfc_asym': 'off', 'speed': '25000', 'tpid': '0x8100'}"
expected = "{'index': '29', 'lanes': '112', 'description': 'Eth29/1', 'mtu': '9100', 'alias': 'Eth29/1', 'pfc_asym': 'off', 'speed': '25000', 'subport': '1', 'tpid': '0x8100'}"
self.assertEqual(utils.to_dict(output.strip()), utils.to_dict(expected))

argument = ['-m', self.platform_sample_graph, '-p', self.platform_json, '-S', self.hwsku_json, '-v', "PORT[\'Ethernet4\']"]
output = self.run_script(argument)
self.maxDiff = None
expected = "{'index': '2', 'lanes': '4,5', 'description': 'Eth2/1', 'admin_status': 'up', 'mtu': '9100', 'alias': 'Eth2/1', 'pfc_asym': 'off', 'speed': '50000', 'tpid': '0x8100'}"
expected = "{'index': '2', 'lanes': '4,5', 'description': 'Eth2/1', 'admin_status': 'up', 'mtu': '9100', 'alias': 'Eth2/1', 'pfc_asym': 'off', 'speed': '50000', 'subport': '1', 'tpid': '0x8100'}"
print(output.strip())
self.assertEqual(utils.to_dict(output.strip()), utils.to_dict(expected))

2 changes: 1 addition & 1 deletion src/sonic-device-data/tests/hwsku_json_checker
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@ import sys

# Global variable
PORT_ATTRIBUTES = ["default_brkout_mode"]
OPTIONAL_PORT_ATTRIBUTES = ["fec", "autoneg", "port_type"]
OPTIONAL_PORT_ATTRIBUTES = ["fec", "autoneg", "port_type", "subport"]
PORT_REG = "Ethernet(\d+)"
HWSKU_JSON = '*hwsku.json'
INTF_KEY = "interfaces"

0 comments on commit 4554ea0

Please sign in to comment.