diff --git a/device/accton/x86_64-accton_as4630_54npe-r0/Accton-AS4630-54NPE/hwsku.json b/device/accton/x86_64-accton_as4630_54npe-r0/Accton-AS4630-54NPE/hwsku.json new file mode 100644 index 0000000000..bed9d19505 --- /dev/null +++ b/device/accton/x86_64-accton_as4630_54npe-r0/Accton-AS4630-54NPE/hwsku.json @@ -0,0 +1,273 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet1": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet2": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet3": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet4": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet5": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet6": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet7": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet8": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet9": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet10": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet11": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet12": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet13": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet14": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet15": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet16": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet17": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet18": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet19": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet20": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet21": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet22": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet23": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet24": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet25": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet26": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet27": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet28": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet29": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet30": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet31": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet32": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet33": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet34": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet35": { + "default_brkout_mode": "1x2.5G", + "autoneg": "on" + }, + + "Ethernet36": { + "default_brkout_mode": "1x10G", + "autoneg": "on" + }, + + "Ethernet37": { + "default_brkout_mode": "1x10G", + "autoneg": "on" + }, + + "Ethernet38": { + "default_brkout_mode": "1x10G", + "autoneg": "on" + }, + + "Ethernet39": { + "default_brkout_mode": "1x10G", + "autoneg": "on" + }, + + "Ethernet40": { + "default_brkout_mode": "1x10G", + "autoneg": "on" + }, + + "Ethernet41": { + "default_brkout_mode": "1x10G", + "autoneg": "on" + }, + + "Ethernet42": { + "default_brkout_mode": "1x10G", + "autoneg": "on" + }, + + "Ethernet43": { + "default_brkout_mode": "1x10G", + "autoneg": "on" + }, + + "Ethernet44": { + "default_brkout_mode": "1x10G", + "autoneg": "on" + }, + + "Ethernet45": { + "default_brkout_mode": "1x10G", + "autoneg": "on" + }, + + "Ethernet46": { + "default_brkout_mode": "1x10G", + "autoneg": "on" + }, + + "Ethernet47": { + "default_brkout_mode": "1x10G", + "autoneg": "on" + }, + + "Ethernet48": { + "default_brkout_mode": "1x25G[10G]", + "autoneg": "off" + }, + + "Ethernet49": { + "default_brkout_mode": "1x25G[10G]", + "autoneg": "off" + }, + + "Ethernet50": { + "default_brkout_mode": "1x25G[10G]", + "autoneg": "off" + }, + + "Ethernet51": { + "default_brkout_mode": "1x25G[10G]", + "autoneg": "off" + }, + + "Ethernet52": { + "default_brkout_mode": "1x100G[40G]", + "autoneg": "off" + }, + + "Ethernet56": { + "default_brkout_mode": "1x100G[40G]", + "autoneg": "off" + } + } +} diff --git a/device/accton/x86_64-accton_as4630_54npe-r0/default_sku b/device/accton/x86_64-accton_as4630_54npe-r0/default_sku new file mode 100644 index 0000000000..86cc1cd9c3 --- /dev/null +++ b/device/accton/x86_64-accton_as4630_54npe-r0/default_sku @@ -0,0 +1 @@ +Accton-AS4630-54NPE t1 diff --git a/device/accton/x86_64-accton_as4630_54npe-r0/platform.json b/device/accton/x86_64-accton_as4630_54npe-r0/platform.json new file mode 100644 index 0000000000..fbee0ff327 --- /dev/null +++ b/device/accton/x86_64-accton_as4630_54npe-r0/platform.json @@ -0,0 +1,695 @@ +{ + "chassis": { + "name": "4630-54NPE", + "components": [ + { + "name": "CPLD1" + }, + { + "name": "CPLD2" + }, + { + "name": "BIOS" + } + ], + "fans": [ + { + "name": "FAN-1" + }, + { + "name": "FAN-2" + }, + { + "name": "FAN-3" + } + ], + "fan_drawers":[ + { + "name": "FanTray1", + "num_fans" : 1, + "fans": [ + { + "name": "FAN-1" + } + ] + }, + { + "name": "FanTray2", + "num_fans" : 1, + "fans": [ + { + "name": "FAN-2" + } + ] + }, + { + "name": "FanTray3", + "num_fans" : 1, + "fans": [ + { + "name": "FAN-3" + } + ] + } + ], + "psus": [ + { + "name": "PSU-1", + "fans": [ + { + "name": "PSU-1 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-1 temp sensor 1" + } + ] + }, + { + "name": "PSU-2", + "fans": [ + { + "name": "PSU-2 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-2 temp sensor 1" + } + ] + } + ], + "thermals": [ + { + "name": "Temp sensor 1" + }, + { + "name": "Temp sensor 2" + }, + { + "name": "Temp sensor 3" + } + ], + "sfps": [ + { + "name": "Ethernet0" + }, + { + "name": "Ethernet1" + }, + { + "name": "Ethernet2" + }, + { + "name": "Ethernet3" + }, + { + "name": "Ethernet4" + }, + { + "name": "Ethernet5" + }, + { + "name": "Ethernet6" + }, + { + "name": "Ethernet7" + }, + { + "name": "Ethernet8" + }, + { + "name": "Ethernet9" + }, + { + "name": "Ethernet10" + }, + { + "name": "Ethernet11" + }, + { + "name": "Ethernet12" + }, + { + "name": "Ethernet13" + }, + { + "name": "Ethernet14" + }, + { + "name": "Ethernet15" + }, + { + "name": "Ethernet16" + }, + { + "name": "Ethernet17" + }, + { + "name": "Ethernet18" + }, + { + "name": "Ethernet19" + }, + { + "name": "Ethernet20" + }, + { + "name": "Ethernet21" + }, + { + "name": "Ethernet22" + }, + { + "name": "Ethernet23" + }, + { + "name": "Ethernet24" + }, + { + "name": "Ethernet25" + }, + { + "name": "Ethernet26" + }, + { + "name": "Ethernet27" + }, + { + "name": "Ethernet28" + }, + { + "name": "Ethernet29" + }, + { + "name": "Ethernet30" + }, + { + "name": "Ethernet31" + }, + { + "name": "Ethernet32" + }, + { + "name": "Ethernet33" + }, + { + "name": "Ethernet34" + }, + { + "name": "Ethernet35" + }, + { + "name": "Ethernet36" + }, + { + "name": "Ethernet37" + }, + { + "name": "Ethernet38" + }, + { + "name": "Ethernet39" + }, + { + "name": "Ethernet40" + }, + { + "name": "Ethernet41" + }, + { + "name": "Ethernet42" + }, + { + "name": "Ethernet43" + }, + { + "name": "Ethernet44" + }, + { + "name": "Ethernet45" + }, + { + "name": "Ethernet46" + }, + { + "name": "Ethernet47" + }, + { + "name": "Ethernet48" + }, + { + "name": "Ethernet49" + }, + { + "name": "Ethernet50" + }, + { + "name": "Ethernet51" + }, + { + "name": "Ethernet52" + }, + { + "name": "Ethernet56" + } + ] + }, + "interfaces": { + "Ethernet0": { + "index": "1", + "lanes": "2", + "breakout_modes": { + "1x2.5G": ["Eth1(Port1)"] + } + }, + + "Ethernet1": { + "index": "2", + "lanes": "1", + "breakout_modes": { + "1x2.5G": ["Eth2(Port2)"] + } + }, + + "Ethernet2": { + "index": "3", + "lanes": "4", + "breakout_modes": { + "1x2.5G": ["Eth3(Port3)"] + } + }, + + "Ethernet3": { + "index": "4", + "lanes": "3", + "breakout_modes": { + "1x2.5G": ["Eth4(Port4)"] + } + }, + + "Ethernet4": { + "index": "5", + "lanes": "6", + "breakout_modes": { + "1x2.5G": ["Eth5(Port5)"] + } + }, + + "Ethernet5": { + "index": "6", + "lanes": "5", + "breakout_modes": { + "1x2.5G": ["Eth6(Port6)"] + } + }, + + "Ethernet6": { + "index": "7", + "lanes": "8", + "breakout_modes": { + "1x2.5G": ["Eth7(Port7)"] + } + }, + + "Ethernet7": { + "index": "8", + "lanes": "7", + "breakout_modes": { + "1x2.5G": ["Eth8(Port8)"] + } + }, + + "Ethernet8": { + "index": "9", + "lanes": "10", + "breakout_modes": { + "1x2.5G": ["Eth9(Port9)"] + } + }, + + "Ethernet9": { + "index": "10", + "lanes": "9", + "breakout_modes": { + "1x2.5G": ["Eth10(Port10)"] + } + }, + + "Ethernet10": { + "index": "11", + "lanes": "12", + "breakout_modes": { + "1x2.5G": ["Eth11(Port11)"] + } + }, + + "Ethernet11": { + "index": "12", + "lanes": "11", + "breakout_modes": { + "1x2.5G": ["Eth12(Port12)"] + } + }, + + "Ethernet12": { + "index": "13", + "lanes": "14", + "breakout_modes": { + "1x2.5G": ["Eth13(Port13)"] + } + }, + + "Ethernet13": { + "index": "14", + "lanes": "13", + "breakout_modes": { + "1x2.5G": ["Eth14(Port14)"] + } + }, + + "Ethernet14": { + "index": "15", + "lanes": "16", + "breakout_modes": { + "1x2.5G": ["Eth15(Port15)"] + } + }, + + "Ethernet15": { + "index": "16", + "lanes": "15", + "breakout_modes": { + "1x2.5G": ["Eth16(Port16)"] + } + }, + + "Ethernet16": { + "index": "17", + "lanes": "18", + "breakout_modes": { + "1x2.5G": ["Eth17(Port17)"] + } + }, + + "Ethernet17": { + "index": "18", + "lanes": "17", + "breakout_modes": { + "1x2.5G": ["Eth18(Port18)"] + } + }, + + "Ethernet18": { + "index": "19", + "lanes": "20", + "breakout_modes": { + "1x2.5G": ["Eth19(Port19)"] + } + }, + + "Ethernet19": { + "index": "20", + "lanes": "19", + "breakout_modes": { + "1x2.5G": ["Eth20(Port20)"] + } + }, + + "Ethernet20": { + "index": "21", + "lanes": "22", + "breakout_modes": { + "1x2.5G": ["Eth21(Port21)"] + } + }, + + "Ethernet21": { + "index": "22", + "lanes": "21", + "breakout_modes": { + "1x2.5G": ["Eth22(Port22)"] + } + }, + + "Ethernet22": { + "index": "23", + "lanes": "24", + "breakout_modes": { + "1x2.5G": ["Eth23(Port23)"] + } + }, + + "Ethernet23": { + "index": "24", + "lanes": "23", + "breakout_modes": { + "1x2.5G": ["Eth24(Port24)"] + } + }, + + "Ethernet24": { + "index": "25", + "lanes": "26", + "breakout_modes": { + "1x2.5G": ["Eth25(Port25)"] + } + }, + + "Ethernet25": { + "index": "26", + "lanes": "25", + "breakout_modes": { + "1x2.5G": ["Eth26(Port26)"] + } + }, + + "Ethernet26": { + "index": "27", + "lanes": "28", + "breakout_modes": { + "1x2.5G": ["Eth27(Port27)"] + } + }, + + "Ethernet27": { + "index": "28", + "lanes": "27", + "breakout_modes": { + "1x2.5G": ["Eth28(Port28)"] + } + }, + + "Ethernet28": { + "index": "29", + "lanes": "30", + "breakout_modes": { + "1x2.5G": ["Eth29(Port29)"] + } + }, + + "Ethernet29": { + "index": "30", + "lanes": "29", + "breakout_modes": { + "1x2.5G": ["Eth30(Port30)"] + } + }, + + "Ethernet30": { + "index": "31", + "lanes": "32", + "breakout_modes": { + "1x2.5G": ["Eth31(Port31)"] + } + }, + + "Ethernet31": { + "index": "32", + "lanes": "31", + "breakout_modes": { + "1x2.5G": ["Eth32(Port32)"] + } + }, + + "Ethernet32": { + "index": "33", + "lanes": "34", + "breakout_modes": { + "1x2.5G": ["Eth33(Port33)"] + } + }, + + "Ethernet33": { + "index": "34", + "lanes": "33", + "breakout_modes": { + "1x2.5G": ["Eth34(Port34)"] + } + }, + + "Ethernet34": { + "index": "35", + "lanes": "36", + "breakout_modes": { + "1x2.5G": ["Eth35(Port35)"] + } + }, + + "Ethernet35": { + "index": "36", + "lanes": "35", + "breakout_modes": { + "1x2.5G": ["Eth36(Port36)"] + } + }, + + "Ethernet36": { + "index": "37", + "lanes": "51", + "breakout_modes": { + "1x10G": ["Eth37(Port37)"] + } + }, + + "Ethernet37": { + "index": "38", + "lanes": "52", + "breakout_modes": { + "1x10G": ["Eth38(Port38)"] + } + }, + + "Ethernet38": { + "index": "39", + "lanes": "49", + "breakout_modes": { + "1x10G": ["Eth39(Port39)"] + } + }, + + "Ethernet39": { + "index": "40", + "lanes": "50", + "breakout_modes": { + "1x10G": ["Eth40(Port40)"] + } + }, + + "Ethernet40": { + "index": "41", + "lanes": "55", + "breakout_modes": { + "1x10G": ["Eth41(Port41)"] + } + }, + + "Ethernet41": { + "index": "42", + "lanes": "56", + "breakout_modes": { + "1x10G": ["Eth42(Port42)"] + } + }, + + "Ethernet42": { + "index": "43", + "lanes": "53", + "breakout_modes": { + "1x10G": ["Eth43(Port43)"] + } + }, + + "Ethernet43": { + "index": "44", + "lanes": "54", + "breakout_modes": { + "1x10G": ["Eth44(Port44)"] + } + }, + + "Ethernet44": { + "index": "45", + "lanes": "59", + "breakout_modes": { + "1x10G": ["Eth45(Port45)"] + } + }, + + "Ethernet45": { + "index": "46", + "lanes": "60", + "breakout_modes": { + "1x10G": ["Eth46(Port46)"] + } + }, + + "Ethernet46": { + "index": "47", + "lanes": "57", + "breakout_modes": { + "1x10G": ["Eth47(Port47)"] + } + }, + + "Ethernet47": { + "index": "48", + "lanes": "58", + "breakout_modes": { + "1x10G": ["Eth48(Port48)"] + } + }, + + "Ethernet48": { + "index": "49", + "lanes": "67", + "breakout_modes": { + "1x25G[10G]": ["Eth49(Port49)"] + } + }, + + "Ethernet49": { + "index": "50", + "lanes": "66", + "breakout_modes": { + "1x25G[10G]": ["Eth50(Port50)"] + } + }, + + "Ethernet50": { + "index": "51", + "lanes": "65", + "breakout_modes": { + "1x25G[10G]": ["Eth51(Port51)"] + } + }, + + "Ethernet51": { + "index": "52", + "lanes": "68", + "breakout_modes": { + "1x25G[10G]": ["Eth52(Port52)"] + } + }, + "Ethernet52": { + "index": "53,53,53,53", + "lanes": "73,74,75,76", + "breakout_modes": { + "1x100G[40G]": ["Eth53(Port53)"], + "2x50G": ["Eth53/1(Port53)", "Eth53/2(Port53)"], + "4x25G[10G]": ["Eth53/1(Port53)", "Eth53/2(Port53)", "Eth53/3(Port53)", "Eth53/4(Port53)"] + } + }, + + "Ethernet56": { + "index": "54,54,54,54", + "lanes": "69,70,71,72", + "breakout_modes": { + "1x100G[40G]": ["Eth54(Port54)"], + "2x50G": ["Eth54/1(Port54)", "Eth54/2(Port54)"], + "4x25G[10G]": ["Eth54/1(Port54)", "Eth54/2(Port54)", "Eth54/3(Port54)", "Eth54/4(Port54)"] + } + } + } +} diff --git a/device/accton/x86_64-accton_as4630_54pe-r0/Accton-AS4630-54PE/hwsku.json b/device/accton/x86_64-accton_as4630_54pe-r0/Accton-AS4630-54PE/hwsku.json new file mode 100644 index 0000000000..2855c04f97 --- /dev/null +++ b/device/accton/x86_64-accton_as4630_54pe-r0/Accton-AS4630-54PE/hwsku.json @@ -0,0 +1,267 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet1": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet2": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet3": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet4": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet5": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet6": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet7": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet8": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet9": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet10": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet11": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet12": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet13": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet14": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet15": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet16": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet17": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet18": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet19": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet20": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet21": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet22": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet23": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet24": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet25": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet26": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet27": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet28": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet29": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet30": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet31": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet32": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet33": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet34": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet35": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet36": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet37": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet38": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet39": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet40": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet41": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet42": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet43": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet44": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet45": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet46": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet47": { + "default_brkout_mode": "1x1G", + "autoneg": "on" + }, + + "Ethernet48": { + "default_brkout_mode": "1x25G[10G]" + }, + + "Ethernet49": { + "default_brkout_mode": "1x25G[10G]" + }, + + "Ethernet50": { + "default_brkout_mode": "1x25G[10G]" + }, + + "Ethernet51": { + "default_brkout_mode": "1x25G[10G]" + }, + + "Ethernet52": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet56": { + "default_brkout_mode": "1x100G[40G]" + } + } +} diff --git a/device/accton/x86_64-accton_as4630_54pe-r0/Accton-AS4630-54PE/hx5-as4630-48x1G+4x25G+2x100G.bcm b/device/accton/x86_64-accton_as4630_54pe-r0/Accton-AS4630-54PE/hx5-as4630-48x1G+4x25G+2x100G.bcm index a5e7903abf..f4e22dcae6 100755 --- a/device/accton/x86_64-accton_as4630_54pe-r0/Accton-AS4630-54PE/hx5-as4630-48x1G+4x25G+2x100G.bcm +++ b/device/accton/x86_64-accton_as4630_54pe-r0/Accton-AS4630-54PE/hx5-as4630-48x1G+4x25G+2x100G.bcm @@ -1,4 +1,4 @@ -stable_size=76303168 +stable_size=0x5500000 #polarity/lanemap is using TH2 style. core_clock_frequency=893 @@ -27,7 +27,19 @@ ifp_inports_support_enable=1 #3x PM4x10Q (3 * 16 = 48 physical ports) #Doesn't support oversubscribe in Q mode #MCQ0 -port_gmii_mode_1=1 #Q mode +port_gmii_mode_1=1 #Q mode + +#riot vxlan +#dport_map_direct=1 +flow_init_mode=1 +riot_enable=1 +riot_overlay_l3_intf_mem_size=4096 +riot_overlay_l3_egress_mem_size=8192 +l3_ecmp_levels=2 +riot_overlay_ecmp_resilient_hash_size=16384 +use_all_splithorizon_groups=1 +host_as_route_disable=1 +max_vp_lags=448 #PHY4 U56 xx1, MDC/MDIO2, PHYADDR:0x00-0x07, 0x08 port_phy_addr_1=0x40 diff --git a/device/accton/x86_64-accton_as4630_54pe-r0/Accton-AS4630-54PE/port_config.ini b/device/accton/x86_64-accton_as4630_54pe-r0/Accton-AS4630-54PE/port_config.ini index 6c57150cdc..c35b5bcf6d 100755 --- a/device/accton/x86_64-accton_as4630_54pe-r0/Accton-AS4630-54PE/port_config.ini +++ b/device/accton/x86_64-accton_as4630_54pe-r0/Accton-AS4630-54PE/port_config.ini @@ -1,55 +1,55 @@ # name lanes alias index speed autoneg -Ethernet0 26 thousandE1 1 1000 on -Ethernet1 25 thousandE2 2 1000 on -Ethernet2 28 thousandE3 3 1000 on -Ethernet3 27 thousandE4 4 1000 on -Ethernet4 30 thousandE5 5 1000 on -Ethernet5 29 thousandE6 6 1000 on -Ethernet6 32 thousandE7 7 1000 on -Ethernet7 31 thousandE8 8 1000 on -Ethernet8 38 thousandE9 9 1000 on -Ethernet9 37 thousandE10 10 1000 on -Ethernet10 40 thousandE11 11 1000 on -Ethernet11 39 thousandE12 12 1000 on -Ethernet12 34 thousandE13 13 1000 on -Ethernet13 33 thousandE14 14 1000 on -Ethernet14 36 thousandE15 15 1000 on -Ethernet15 35 thousandE16 16 1000 on -Ethernet16 46 thousandE17 17 1000 on -Ethernet17 45 thousandE18 18 1000 on -Ethernet18 48 thousandE19 19 1000 on -Ethernet19 47 thousandE20 20 1000 on -Ethernet20 42 thousandE21 21 1000 on -Ethernet21 41 thousandE22 22 1000 on -Ethernet22 44 thousandE23 23 1000 on -Ethernet23 43 thousandE24 24 1000 on -Ethernet24 2 thousandE25 25 1000 on -Ethernet25 1 thousandE26 26 1000 on -Ethernet26 4 thousandE27 27 1000 on -Ethernet27 3 thousandE28 28 1000 on -Ethernet28 6 thousandE29 29 1000 on -Ethernet29 5 thousandE30 30 1000 on -Ethernet30 8 thousandE31 31 1000 on -Ethernet31 7 thousandE32 32 1000 on -Ethernet32 10 thousandE33 33 1000 on -Ethernet33 9 thousandE34 34 1000 on -Ethernet34 12 thousandE35 35 1000 on -Ethernet35 11 thousandE36 36 1000 on -Ethernet36 14 thousandE37 37 1000 on -Ethernet37 13 thousandE38 38 1000 on -Ethernet38 16 thousandE39 39 1000 on -Ethernet39 15 thousandE40 40 1000 on -Ethernet40 18 thousandE41 41 1000 on -Ethernet41 17 thousandE42 42 1000 on -Ethernet42 20 thousandE43 43 1000 on -Ethernet43 19 thousandE44 44 1000 on -Ethernet44 22 thousandE45 45 1000 on -Ethernet45 21 thousandE46 46 1000 on -Ethernet46 24 thousandE47 47 1000 on -Ethernet47 23 thousandE48 48 1000 on -Ethernet48 67 twentyfiveGigE49 49 25000 off -Ethernet49 66 twentyfiveGigE50 50 25000 off -Ethernet50 65 twentyfiveGigE51 51 25000 off -Ethernet51 68 twentyfiveGigE52 52 25000 off -Ethernet52 73,74,75,76 hundredGigE53 53 100000 off -Ethernet56 69,70,71,72 hundredGigE54 54 100000 off +Ethernet0 26 Eth1(Port1) 1 1000 on +Ethernet1 25 Eth2(Port2) 2 1000 on +Ethernet2 28 Eth3(Port3) 3 1000 on +Ethernet3 27 Eth4(Port4) 4 1000 on +Ethernet4 30 Eth5(Port5) 5 1000 on +Ethernet5 29 Eth6(Port6) 6 1000 on +Ethernet6 32 Eth7(Port7) 7 1000 on +Ethernet7 31 Eth8(Port8) 8 1000 on +Ethernet8 38 Eth9(Port9) 9 1000 on +Ethernet9 37 Eth10(Port10) 10 1000 on +Ethernet10 40 Eth11(Port11) 11 1000 on +Ethernet11 39 Eth12(Port12) 12 1000 on +Ethernet12 34 Eth13(Port13) 13 1000 on +Ethernet13 33 Eth14(Port14) 14 1000 on +Ethernet14 36 Eth15(Port15) 15 1000 on +Ethernet15 35 Eth16(Port16) 16 1000 on +Ethernet16 46 Eth17(Port17) 17 1000 on +Ethernet17 45 Eth18(Port18) 18 1000 on +Ethernet18 48 Eth19(Port19) 19 1000 on +Ethernet19 47 Eth20(Port20) 20 1000 on +Ethernet20 42 Eth21(Port21) 21 1000 on +Ethernet21 41 Eth22(Port22) 22 1000 on +Ethernet22 44 Eth23(Port23) 23 1000 on +Ethernet23 43 Eth24(Port24) 24 1000 on +Ethernet24 2 Eth25(Port25) 25 1000 on +Ethernet25 1 Eth26(Port26) 26 1000 on +Ethernet26 4 Eth27(Port27) 27 1000 on +Ethernet27 3 Eth28(Port28) 28 1000 on +Ethernet28 6 Eth29(Port29) 29 1000 on +Ethernet29 5 Eth30(Port30) 30 1000 on +Ethernet30 8 Eth31(Port31) 31 1000 on +Ethernet31 7 Eth32(Port32) 32 1000 on +Ethernet32 10 Eth33(Port33) 33 1000 on +Ethernet33 9 Eth34(Port34) 34 1000 on +Ethernet34 12 Eth35(Port35) 35 1000 on +Ethernet35 11 Eth36(Port36) 36 1000 on +Ethernet36 14 Eth37(Port37) 37 1000 on +Ethernet37 13 Eth38(Port38) 38 1000 on +Ethernet38 16 Eth39(Port39) 39 1000 on +Ethernet39 15 Eth40(Port40) 40 1000 on +Ethernet40 18 Eth41(Port41) 41 1000 on +Ethernet41 17 Eth42(Port42) 42 1000 on +Ethernet42 20 Eth43(Port43) 43 1000 on +Ethernet43 19 Eth44(Port44) 44 1000 on +Ethernet44 22 Eth45(Port45) 45 1000 on +Ethernet45 21 Eth46(Port46) 46 1000 on +Ethernet46 24 Eth47(Port47) 47 1000 on +Ethernet47 23 Eth48(Port48) 48 1000 on +Ethernet48 67 Eth49(Port49) 49 25000 off +Ethernet49 66 Eth50(Port50) 50 25000 off +Ethernet50 65 Eth51(Port51) 51 25000 off +Ethernet51 68 Eth52(Port52) 52 25000 off +Ethernet52 73,74,75,76 Eth53(Port53) 53 100000 off +Ethernet56 69,70,71,72 Eth54(Port54) 54 100000 off diff --git a/device/accton/x86_64-accton_as4630_54pe-r0/custom_led.bin b/device/accton/x86_64-accton_as4630_54pe-r0/custom_led.bin index 0f6e37a824..11f7790348 100644 Binary files a/device/accton/x86_64-accton_as4630_54pe-r0/custom_led.bin and b/device/accton/x86_64-accton_as4630_54pe-r0/custom_led.bin differ diff --git a/device/accton/x86_64-accton_as4630_54pe-r0/installer.conf b/device/accton/x86_64-accton_as4630_54pe-r0/installer.conf index 735fa7992d..85bb317cc9 100755 --- a/device/accton/x86_64-accton_as4630_54pe-r0/installer.conf +++ b/device/accton/x86_64-accton_as4630_54pe-r0/installer.conf @@ -1,4 +1,4 @@ CONSOLE_PORT=0x3f8 CONSOLE_DEV=0 CONSOLE_SPEED=115200 -ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="intel_iommu=off modprobe.blacklist=i2c-ismt,i2c_ismt,i2c-i801,i2c_i801" +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="pcie_aspm=off intel_iommu=off modprobe.blacklist=i2c-ismt,i2c_ismt,i2c-i801,i2c_i801" diff --git a/device/accton/x86_64-accton_as4630_54pe-r0/pcie.yaml b/device/accton/x86_64-accton_as4630_54pe-r0/pcie.yaml new file mode 100644 index 0000000000..c7e99c8678 --- /dev/null +++ b/device/accton/x86_64-accton_as4630_54pe-r0/pcie.yaml @@ -0,0 +1,167 @@ +- bus: '00' + dev: '00' + fn: '0' + id: '1980' + name: 'Host bridge: Intel Corporation Atom Processor C3000 Series System Agent (rev + 11)' +- bus: '00' + dev: '04' + fn: '0' + id: 19a1 + name: 'Host bridge: Intel Corporation Atom Processor C3000 Series Error Registers + (rev 11)' +- bus: '00' + dev: '05' + fn: '0' + id: 19a2 + name: 'Generic system peripheral [0807]: Intel Corporation Atom Processor C3000 + Series Root Complex Event Collector (rev 11)' +- bus: '00' + dev: '06' + fn: '0' + id: 19a3 + name: 'PCI bridge: Intel Corporation Atom Processor C3000 Series Integrated QAT + Root Port (rev 11)' +- bus: '00' + dev: 09 + fn: '0' + id: 19a4 + name: 'PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root + Port #0 (rev 11)' +- bus: '00' + dev: 0b + fn: '0' + id: 19a6 + name: 'PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root + Port #2 (rev 11)' +- bus: '00' + dev: 0e + fn: '0' + id: 19a8 + name: 'PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root + Port #4 (rev 11)' +- bus: '00' + dev: '10' + fn: '0' + id: 19aa + name: 'PCI bridge: Intel Corporation Atom Processor C3000 Series PCI Express Root + Port #6 (rev 11)' +- bus: '00' + dev: '12' + fn: '0' + id: 19ac + name: 'System peripheral: Intel Corporation Atom Processor C3000 Series SMBus Contoller + - Host (rev 11)' +- bus: '00' + dev: '13' + fn: '0' + id: 19b2 + name: 'SATA controller: Intel Corporation Atom Processor C3000 Series SATA Controller + 0 (rev 11)' +- bus: '00' + dev: '15' + fn: '0' + id: 19d0 + name: 'USB controller: Intel Corporation Atom Processor C3000 Series USB 3.0 xHCI + Controller (rev 11)' +- bus: '00' + dev: '16' + fn: '0' + id: 19d1 + name: 'PCI bridge: Intel Corporation Atom Processor C3000 Series Integrated LAN + Root Port #0 (rev 11)' +- bus: '00' + dev: '17' + fn: '0' + id: 19d2 + name: 'PCI bridge: Intel Corporation Atom Processor C3000 Series Integrated LAN + Root Port #1 (rev 11)' +- bus: '00' + dev: '18' + fn: '0' + id: 19d3 + name: 'Communication controller: Intel Corporation Atom Processor C3000 Series ME + HECI 1 (rev 11)' +- bus: '00' + dev: 1a + fn: '0' + id: 19d8 + name: 'Serial controller: Intel Corporation Atom Processor C3000 Series HSUART Controller + (rev 11)' +- bus: '00' + dev: 1a + fn: '1' + id: 19d8 + name: 'Serial controller: Intel Corporation Atom Processor C3000 Series HSUART Controller + (rev 11)' +- bus: '00' + dev: 1a + fn: '2' + id: 19d8 + name: 'Serial controller: Intel Corporation Atom Processor C3000 Series HSUART Controller + (rev 11)' +- bus: '00' + dev: 1c + fn: '0' + id: 19db + name: 'SD Host controller: Intel Corporation Device 19db (rev 11)' +- bus: '00' + dev: 1f + fn: '0' + id: 19dc + name: 'ISA bridge: Intel Corporation Atom Processor C3000 Series LPC or eSPI (rev + 11)' +- bus: '00' + dev: 1f + fn: '1' + id: 19dd + name: 'Memory controller: Intel Corporation Atom Processor C3000 Series Primary + to Side Band (P2SB) Bridge (rev 11)' +- bus: '00' + dev: 1f + fn: '2' + id: 19de + name: 'Memory controller: Intel Corporation Atom Processor C3000 Series Power Management + Controller (rev 11)' +- bus: '00' + dev: 1f + fn: '4' + id: 19df + name: 'SMBus: Intel Corporation Atom Processor C3000 Series SMBus controller (rev + 11)' +- bus: '00' + dev: 1f + fn: '5' + id: 19e0 + name: 'Serial bus controller [0c80]: Intel Corporation Atom Processor C3000 Series + SPI Controller (rev 11)' +- bus: '01' + dev: '00' + fn: '0' + id: 19e2 + name: 'Co-processor: Intel Corporation Atom Processor C3000 Series QuickAssist Technology + (rev 11)' +- bus: '05' + dev: '00' + fn: '0' + id: b371 + name: 'Ethernet controller: Broadcom Inc. and subsidiaries BCM56371 Switch ASIC + (rev 03)' +- bus: '06' + dev: '00' + fn: '0' + id: 15c2 + name: 'Ethernet controller: Intel Corporation Ethernet Connection X553 Backplane + (rev 11)' +- bus: '06' + dev: '00' + fn: '1' + id: 15c2 + name: 'Ethernet controller: Intel Corporation Ethernet Connection X553 Backplane + (rev 11)' +- bus: 08 + dev: '00' + fn: '0' + id: 15e5 + name: 'Ethernet controller: Intel Corporation Ethernet Connection X553 1GbE (rev + 11)' diff --git a/device/accton/x86_64-accton_as4630_54pe-r0/pddf/pd-plugin.json b/device/accton/x86_64-accton_as4630_54pe-r0/pddf/pd-plugin.json index 0abf66aab7..77dfdc8276 100644 --- a/device/accton/x86_64-accton_as4630_54pe-r0/pddf/pd-plugin.json +++ b/device/accton/x86_64-accton_as4630_54pe-r0/pddf/pd-plugin.json @@ -33,11 +33,11 @@ { "i2c": { - "valmap": { "F2B":"EXHAUST", "B2F":"INTAKE" } + "valmap": { "F2B":"exhaust", "B2F":"intake" } } }, - "PSU_FAN_MAX_SPEED":"18000" + "PSU_FAN_MAX_SPEED":"26688" }, "FAN": @@ -46,7 +46,7 @@ { "i2c": { - "valmap": {"1":"EXHAUST", "0":"INTAKE"} + "valmap": {"1":"exhaust", "0":"intake"} } }, diff --git a/device/accton/x86_64-accton_as4630_54pe-r0/pddf/pddf-device.json b/device/accton/x86_64-accton_as4630_54pe-r0/pddf/pddf-device.json index 34013b2a84..95da95496c 100644 --- a/device/accton/x86_64-accton_as4630_54pe-r0/pddf/pddf-device.json +++ b/device/accton/x86_64-accton_as4630_54pe-r0/pddf/pddf-device.json @@ -5,7 +5,7 @@ "num_fantrays":3, "num_fans_pertray":1, "num_ports":54, - "num_temps": 3, + "num_temps": 4, "pddf_dev_types": { "description":"AS4630 - Below is the list of supported PDDF device types (chip names) for various components. If any component uses some other driver, we will create the client using 'echo > /new_device' method", @@ -211,6 +211,21 @@ } }, + "TEMP4" : + { + "dev_info": { "device_type":"TEMP_SENSOR", "device_name":"TEMP4"}, + "dev_attr": { "display_name":"coretemp-isa-0000"}, + "i2c": + { + "path_info": {"sysfs_base_path": "/sys/class/hwmon/hwmon1"}, + "attr_list": + [ + { "attr_name": "temp1_high_crit_threshold", "drv_attr_name":"temp1_crit"}, + { "attr_name": "temp1_high_threshold", "drv_attr_name":"temp1_max"}, + { "attr_name": "temp1_input"} + ] + } + }, "CPLD1": { @@ -251,15 +266,15 @@ "SYS_LED": { "dev_info": { "device_type":"LED", "device_name":"SYS_LED"}, - "dev_attr": { "index":"0"}, + "dev_attr": { "index":"0", "flag": "rw"}, "i2c" : { "attr_list": [ - {"attr_name":"STATUS_LED_COLOR_GREEN", "bits" : "7:5", "descr" : "", "value" : "0x1", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x30"}, - {"attr_name":"STATUS_LED_COLOR_GREEN_BLINK", "bits" : "7:5", "descr" : "", "value" : "0x3", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x30"}, - {"attr_name":"STATUS_LED_COLOR_AMBER", "bits" : "7:5", "descr" : "", "value" : "0x4", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x30"}, - {"attr_name":"STATUS_LED_COLOR_AMBER_BLINK", "bits" : "7:5", "descr" : "", "value" : "0x2", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x30"}, - {"attr_name":"STATUS_LED_COLOR_OFF", "bits" : "7:5", "descr" : "", "value" : "0x7", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x30"} + {"attr_name":"green", "bits" : "7:5", "descr" : "", "value" : "0x1", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x30"}, + {"attr_name":"green_blink", "bits" : "7:5", "descr" : "", "value" : "0x3", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x30"}, + {"attr_name":"amber", "bits" : "7:5", "descr" : "", "value" : "0x4", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x30"}, + {"attr_name":"amber_blink", "bits" : "7:5", "descr" : "", "value" : "0x2", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x30"}, + {"attr_name":"off", "bits" : "7:5", "descr" : "", "value" : "0x7", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x30"} ] } }, @@ -268,13 +283,13 @@ "PSU1_LED": { "dev_info": { "device_type":"LED", "device_name":"PSU_LED"}, - "dev_attr": { "index":"0"}, + "dev_attr": { "index":"0", "flag": "r"}, "i2c" : { "attr_list": [ - {"attr_name":"STATUS_LED_COLOR_GREEN", "bits" : "1:0", "descr" : "", "value" : "0x1", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x30"}, - {"attr_name":"STATUS_LED_COLOR_AMBER", "bits" : "1:0", "descr" : "", "value" : "0x2", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x30"}, - {"attr_name":"STATUS_LED_COLOR_OFF", "bits" : "1:0", "descr" : "", "value" : "0x3", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x30"} + {"attr_name":"green", "bits" : "1:0", "descr" : "", "value" : "0x1", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x30"}, + {"attr_name":"amber", "bits" : "1:0", "descr" : "", "value" : "0x2", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x30"}, + {"attr_name":"off", "bits" : "1:0", "descr" : "", "value" : "0x3", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x30"} ] } }, @@ -282,13 +297,13 @@ "PSU2_LED": { "dev_info": { "device_type":"LED", "device_name":"PSU_LED"}, - "dev_attr": { "index":"1"}, + "dev_attr": { "index":"1", "flag": "r"}, "i2c" : { "attr_list": [ - {"attr_name":"STATUS_LED_COLOR_GREEN", "bits" : "7:6", "descr" : "", "value" : "0x1", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x31"}, - {"attr_name":"STATUS_LED_COLOR_AMBER", "bits" : "7:6", "descr" : "", "value" : "0x2", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x31"}, - {"attr_name":"STATUS_LED_COLOR_OFF", "bits" : "7:6", "descr" : "", "value" : "0x3", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x31"} + {"attr_name":"green", "bits" : "7:6", "descr" : "", "value" : "0x1", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x31"}, + {"attr_name":"amber", "bits" : "7:6", "descr" : "", "value" : "0x2", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x31"}, + {"attr_name":"off", "bits" : "7:6", "descr" : "", "value" : "0x3", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x31"} ] } }, @@ -296,13 +311,13 @@ "FAN_LED": { "dev_info": { "device_type":"LED", "device_name":"FAN_LED"}, - "dev_attr": { "index":"0"}, + "dev_attr": { "index":"0", "flag": "r"}, "i2c" : { "attr_list": [ - {"attr_name":"STATUS_LED_COLOR_GREEN", "bits" : "3:2", "descr" : "", "value" : "0x1", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x31"}, - {"attr_name":"STATUS_LED_COLOR_AMBER", "bits" : "3:2", "descr" : "", "value" : "0x2", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x31"}, - {"attr_name":"STATUS_LED_COLOR_OFF", "bits" : "3:2", "descr" : "", "value" : "0x3", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x31"} + {"attr_name":"green", "bits" : "3:2", "descr" : "", "value" : "0x1", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x31"}, + {"attr_name":"amber", "bits" : "3:2", "descr" : "", "value" : "0x2", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x31"}, + {"attr_name":"off", "bits" : "3:2", "descr" : "", "value" : "0x3", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x31"} ] } }, @@ -336,7 +351,11 @@ { "attr_name":"psu_i_out", "attr_devaddr":"0x58", "attr_devtype":"pmbus", "attr_offset":"0x8c", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"}, { "attr_name":"psu_p_out", "attr_devaddr":"0x58", "attr_devtype":"pmbus", "attr_offset":"0x96", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"}, { "attr_name":"psu_fan1_speed_rpm", "attr_devaddr":"0x58", "attr_devtype":"pmbus", "attr_offset":"0x90", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"}, - { "attr_name":"psu_temp1_input", "attr_devaddr":"0x58", "attr_devtype":"pmbus", "attr_offset":"0x8d", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"} + { "attr_name":"psu_temp1_input", "attr_devaddr":"0x58", "attr_devtype":"pmbus", "attr_offset":"0x8d", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"}, + { "attr_name":"psu_v_out_max", "attr_devaddr":"0x58", "attr_devtype":"pmbus", "attr_offset":"0xa5", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"}, + { "attr_name":"psu_v_out_min", "attr_devaddr":"0x58", "attr_devtype":"pmbus", "attr_offset":"0xa4", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"}, + { "attr_name":"psu_p_out_max", "attr_devaddr":"0x58", "attr_devtype":"pmbus", "attr_offset":"0xa7", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"}, + { "attr_name":"psu_temp1_high_threshold", "attr_devaddr":"0x58", "attr_devtype":"pmbus", "attr_offset":"0xa8", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"} ] } }, @@ -387,7 +406,11 @@ { "attr_name":"psu_i_out", "attr_devaddr":"0x59", "attr_devtype":"pmbus", "attr_offset":"0x8c", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"}, { "attr_name":"psu_p_out", "attr_devaddr":"0x59", "attr_devtype":"pmbus", "attr_offset":"0x96", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"}, { "attr_name":"psu_fan1_speed_rpm", "attr_devaddr":"0x59", "attr_devtype":"pmbus", "attr_offset":"0x90", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"}, - { "attr_name":"psu_temp1_input", "attr_devaddr":"0x59", "attr_devtype":"pmbus", "attr_offset":"0x8d", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"} + { "attr_name":"psu_temp1_input", "attr_devaddr":"0x59", "attr_devtype":"pmbus", "attr_offset":"0x8d", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"}, + { "attr_name":"psu_v_out_max", "attr_devaddr":"0x59", "attr_devtype":"pmbus", "attr_offset":"0xa5", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"}, + { "attr_name":"psu_v_out_min", "attr_devaddr":"0x59", "attr_devtype":"pmbus", "attr_offset":"0xa4", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"}, + { "attr_name":"psu_p_out_max", "attr_devaddr":"0x59", "attr_devtype":"pmbus", "attr_offset":"0xa7", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"}, + { "attr_name":"psu_temp1_high_threshold", "attr_devaddr":"0x59", "attr_devtype":"pmbus", "attr_offset":"0xa8", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"} ] } }, @@ -592,7 +615,9 @@ "topo_info": { "parent_bus":"0x16", "dev_addr":"0x53", "dev_type":"pddf_xcvr"}, "attr_list": [ - { "attr_name":"xcvr_present", "attr_devaddr":"0x60", "attr_devtype":"cpld", "attr_devname":"CPLD1", "attr_offset":"0x21", "attr_mask":"0x0", "attr_cmpval":"0x0", "attr_len":"1"} + { "attr_name":"xcvr_present", "attr_devaddr":"0x60", "attr_devtype":"cpld", "attr_devname":"CPLD1", "attr_offset":"0x21", "attr_mask":"0x0", "attr_cmpval":"0x0", "attr_len":"1"}, + { "attr_name":"xcvr_reset", "attr_devaddr":"0x60", "attr_devtype":"cpld", "attr_devname":"CPLD1", "attr_offset":"0x21", "attr_mask":"0x3", "attr_cmpval":"0x0", "attr_len":"1"}, + { "attr_name":"xcvr_intr_status", "attr_devaddr":"0x60", "attr_devtype":"cpld", "attr_devname":"CPLD1", "attr_offset":"0x21", "attr_mask":"0x2", "attr_cmpval":"0x0", "attr_len":"1"} ] } }, @@ -630,7 +655,9 @@ "topo_info": { "parent_bus":"0x17", "dev_addr":"0x53", "dev_type":"pddf_xcvr"}, "attr_list": [ - { "attr_name":"xcvr_present", "attr_devaddr":"0x60", "attr_devtype":"cpld", "attr_devname":"CPLD1", "attr_offset":"0x21", "attr_mask":"0x4", "attr_cmpval":"0x0", "attr_len":"1"} + { "attr_name":"xcvr_present", "attr_devaddr":"0x60", "attr_devtype":"cpld", "attr_devname":"CPLD1", "attr_offset":"0x21", "attr_mask":"0x4", "attr_cmpval":"0x0", "attr_len":"1"}, + { "attr_name":"xcvr_reset", "attr_devaddr":"0x60", "attr_devtype":"cpld", "attr_devname":"CPLD1", "attr_offset":"0x21", "attr_mask":"0x7", "attr_cmpval":"0x0", "attr_len":"1"}, + { "attr_name":"xcvr_intr_status", "attr_devaddr":"0x60", "attr_devtype":"cpld", "attr_devname":"CPLD1", "attr_offset":"0x21", "attr_mask":"0x5", "attr_cmpval":"0x0", "attr_len":"1"} ] } } diff --git a/device/accton/x86_64-accton_as4630_54pe-r0/platform.json b/device/accton/x86_64-accton_as4630_54pe-r0/platform.json new file mode 100755 index 0000000000..72461beac3 --- /dev/null +++ b/device/accton/x86_64-accton_as4630_54pe-r0/platform.json @@ -0,0 +1,785 @@ +{ + "chassis": { + "name": "4630-54PE", + "thermal_manager":false, + "status_led": { + "controllable": true, + "colors": ["STATUS_LED_COLOR_GREEN", "STATUS_LED_COLOR_GREEN_BLINK", "STATUS_LED_COLOR_AMBER", "STATUS_LED_COLOR_AMBER_BLINK", "STATUS_LED_COLOR_OFF"] + }, + "components": [ + { + "name": "CPLD1" + }, + { + "name": "BIOS" + } + ], + "fans": [ + { + "name": "FAN-1", + "speed": { + "controllable": true, + "minimum": 7 + }, + "status_led": { + "controllable": false + } + }, + { + "name": "FAN-2", + "speed": { + "controllable": true, + "minimum": 7 + }, + "status_led": { + "controllable": false + } + }, + { + "name": "FAN-3", + "speed": { + "controllable": true, + "minimum": 7 + }, + "status_led": { + "controllable": false + } + } + ], + "fan_drawers":[ + { + "name": "FanTray1", + "status_led": { + "controllable": false + }, + "num_fans" : 1, + "fans": [ + { + "name": "FAN-1", + "speed": { + "controllable": true, + "minimum": 7 + }, + "status_led": { + "controllable": false + } + } + ] + }, + { + "name": "FanTray2", + "status_led": { + "controllable": false + }, + "num_fans" : 1, + "fans": [ + { + "name": "FAN-2", + "speed": { + "controllable": true, + "minimum": 7 + }, + "status_led": { + "controllable": false + } + } + ] + }, + { + "name": "FanTray3", + "status_led": { + "controllable": false + }, + "num_fans" : 1, + "fans": [ + { + "name": "FAN-3", + "speed": { + "controllable": true, + "minimum": 7 + }, + "status_led": { + "controllable": false + } + } + ] + } + ], + "psus": [ + { + "name": "PSU-1", + "status_led": { + "controllable": true, + "colors": ["STATUS_LED_COLOR_GREEN", "STATUS_LED_COLOR_AMBER", "STATUS_LED_COLOR_OFF"] + }, + "fans": [ + { + "name": "PSU-1 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-1 temp sensor 1", + "controllable": false, + "low-crit-threshold": false, + "high-crit-threshold": false + } + ] + }, + { + "name": "PSU-2", + "status_led": { + "controllable": true, + "colors": ["STATUS_LED_COLOR_GREEN", "STATUS_LED_COLOR_AMBER", "STATUS_LED_COLOR_OFF"] + }, + "fans": [ + { + "name": "PSU-2 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-2 temp sensor 1", + "controllable": false, + "low-crit-threshold": false, + "high-crit-threshold": false + } + ] + } + ], + "thermals": [ + { + "name": "Temp sensor 1", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": false + }, + { + "name": "Temp sensor 2", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": false + }, + { + "name": "Temp sensor 3", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": false + }, + { + "name": "Temp sensor 4", + "controllable": false, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + } + ], + "sfps": [ + { + "name": "Ethernet0" + }, + { + "name": "Ethernet1" + }, + { + "name": "Ethernet2" + }, + { + "name": "Ethernet3" + }, + { + "name": "Ethernet4" + }, + { + "name": "Ethernet5" + }, + { + "name": "Ethernet6" + }, + { + "name": "Ethernet7" + }, + { + "name": "Ethernet8" + }, + { + "name": "Ethernet9" + }, + { + "name": "Ethernet10" + }, + { + "name": "Ethernet11" + }, + { + "name": "Ethernet12" + }, + { + "name": "Ethernet13" + }, + { + "name": "Ethernet14" + }, + { + "name": "Ethernet15" + }, + { + "name": "Ethernet16" + }, + { + "name": "Ethernet17" + }, + { + "name": "Ethernet18" + }, + { + "name": "Ethernet19" + }, + { + "name": "Ethernet20" + }, + { + "name": "Ethernet21" + }, + { + "name": "Ethernet22" + }, + { + "name": "Ethernet23" + }, + { + "name": "Ethernet24" + }, + { + "name": "Ethernet25" + }, + { + "name": "Ethernet26" + }, + { + "name": "Ethernet27" + }, + { + "name": "Ethernet28" + }, + { + "name": "Ethernet29" + }, + { + "name": "Ethernet30" + }, + { + "name": "Ethernet31" + }, + { + "name": "Ethernet32" + }, + { + "name": "Ethernet33" + }, + { + "name": "Ethernet34" + }, + { + "name": "Ethernet35" + }, + { + "name": "Ethernet36" + }, + { + "name": "Ethernet37" + }, + { + "name": "Ethernet38" + }, + { + "name": "Ethernet39" + }, + { + "name": "Ethernet40" + }, + { + "name": "Ethernet41" + }, + { + "name": "Ethernet42" + }, + { + "name": "Ethernet43" + }, + { + "name": "Ethernet44" + }, + { + "name": "Ethernet45" + }, + { + "name": "Ethernet46" + }, + { + "name": "Ethernet47" + }, + { + "name": "Ethernet48" + }, + { + "name": "Ethernet49" + }, + { + "name": "Ethernet50" + }, + { + "name": "Ethernet51" + }, + { + "name": "Ethernet52" + }, + { + "name": "Ethernet56" + } + ] + }, + "interfaces": { + "Ethernet0": { + "index": "1", + "lanes": "26", + "breakout_modes": { + "1x1G": ["Eth1(Port1)"] + } + }, + + "Ethernet1": { + "index": "2", + "lanes": "25", + "breakout_modes": { + "1x1G": ["Eth2(Port2)"] + } + }, + + "Ethernet2": { + "index": "3", + "lanes": "28", + "breakout_modes": { + "1x1G": ["Eth3(Port3)"] + } + }, + + "Ethernet3": { + "index": "4", + "lanes": "27", + "breakout_modes": { + "1x1G": ["Eth4(Port4)"] + } + }, + + "Ethernet4": { + "index": "5", + "lanes": "30", + "breakout_modes": { + "1x1G": ["Eth5(Port5)"] + } + }, + + "Ethernet5": { + "index": "6", + "lanes": "29", + "breakout_modes": { + "1x1G": ["Eth6(Port6)"] + } + }, + + "Ethernet6": { + "index": "7", + "lanes": "32", + "breakout_modes": { + "1x1G": ["Eth7(Port7)"] + } + }, + + "Ethernet7": { + "index": "8", + "lanes": "31", + "breakout_modes": { + "1x1G": ["Eth8(Port8)"] + } + }, + + "Ethernet8": { + "index": "9", + "lanes": "38", + "breakout_modes": { + "1x1G": ["Eth9(Port9)"] + } + }, + + "Ethernet9": { + "index": "10", + "lanes": "37", + "breakout_modes": { + "1x1G": ["Eth10(Port10)"] + } + }, + + "Ethernet10": { + "index": "11", + "lanes": "40", + "breakout_modes": { + "1x1G": ["Eth11(Port11)"] + } + }, + + "Ethernet11": { + "index": "12", + "lanes": "39", + "breakout_modes": { + "1x1G": ["Eth12(Port12)"] + } + }, + + "Ethernet12": { + "index": "13", + "lanes": "34", + "breakout_modes": { + "1x1G": ["Eth13(Port13)"] + } + }, + + "Ethernet13": { + "index": "14", + "lanes": "33", + "breakout_modes": { + "1x1G": ["Eth14(Port14)"] + } + }, + + "Ethernet14": { + "index": "15", + "lanes": "36", + "breakout_modes": { + "1x1G": ["Eth15(Port15)"] + } + }, + + "Ethernet15": { + "index": "16", + "lanes": "35", + "breakout_modes": { + "1x1G": ["Eth16(Port16)"] + } + }, + + "Ethernet16": { + "index": "17", + "lanes": "46", + "breakout_modes": { + "1x1G": ["Eth17(Port17)"] + } + }, + + "Ethernet17": { + "index": "18", + "lanes": "45", + "breakout_modes": { + "1x1G": ["Eth18(Port18)"] + } + }, + + "Ethernet18": { + "index": "19", + "lanes": "48", + "breakout_modes": { + "1x1G": ["Eth19(Port19)"] + } + }, + + "Ethernet19": { + "index": "20", + "lanes": "47", + "breakout_modes": { + "1x1G": ["Eth20(Port20)"] + } + }, + + "Ethernet20": { + "index": "21", + "lanes": "42", + "breakout_modes": { + "1x1G": ["Eth21(Port21)"] + } + }, + + "Ethernet21": { + "index": "22", + "lanes": "41", + "breakout_modes": { + "1x1G": ["Eth22(Port22)"] + } + }, + + "Ethernet22": { + "index": "23", + "lanes": "44", + "breakout_modes": { + "1x1G": ["Eth23(Port23)"] + } + }, + + "Ethernet23": { + "index": "24", + "lanes": "43", + "breakout_modes": { + "1x1G": ["Eth24(Port24)"] + } + }, + + "Ethernet24": { + "index": "25", + "lanes": "2", + "breakout_modes": { + "1x1G": ["Eth25(Port25)"] + } + }, + + "Ethernet25": { + "index": "26", + "lanes": "1", + "breakout_modes": { + "1x1G": ["Eth26(Port26)"] + } + }, + + "Ethernet26": { + "index": "27", + "lanes": "4", + "breakout_modes": { + "1x1G": ["Eth27(Port27)"] + } + }, + + "Ethernet27": { + "index": "28", + "lanes": "3", + "breakout_modes": { + "1x1G": ["Eth28(Port28)"] + } + }, + + "Ethernet28": { + "index": "29", + "lanes": "6", + "breakout_modes": { + "1x1G": ["Eth29(Port29)"] + } + }, + + "Ethernet29": { + "index": "30", + "lanes": "5", + "breakout_modes": { + "1x1G": ["Eth30(Port30)"] + } + }, + + "Ethernet30": { + "index": "31", + "lanes": "8", + "breakout_modes": { + "1x1G": ["Eth31(Port31)"] + } + }, + + "Ethernet31": { + "index": "32", + "lanes": "7", + "breakout_modes": { + "1x1G": ["Eth32(Port32)"] + } + }, + + "Ethernet32": { + "index": "33", + "lanes": "10", + "breakout_modes": { + "1x1G": ["Eth33(Port33)"] + } + }, + + "Ethernet33": { + "index": "34", + "lanes": "9", + "breakout_modes": { + "1x1G": ["Eth34(Port34)"] + } + }, + + "Ethernet34": { + "index": "35", + "lanes": "12", + "breakout_modes": { + "1x1G": ["Eth35(Port35)"] + } + }, + + "Ethernet35": { + "index": "36", + "lanes": "11", + "breakout_modes": { + "1x1G": ["Eth36(Port36)"] + } + }, + + "Ethernet36": { + "index": "37", + "lanes": "14", + "breakout_modes": { + "1x1G": ["Eth37(Port37)"] + } + }, + + "Ethernet37": { + "index": "38", + "lanes": "13", + "breakout_modes": { + "1x1G": ["Eth38(Port38)"] + } + }, + + "Ethernet38": { + "index": "39", + "lanes": "16", + "breakout_modes": { + "1x1G": ["Eth39(Port39)"] + } + }, + + "Ethernet39": { + "index": "40", + "lanes": "15", + "breakout_modes": { + "1x1G": ["Eth40(Port40)"] + } + }, + + "Ethernet40": { + "index": "41", + "lanes": "18", + "breakout_modes": { + "1x1G": ["Eth41(Port41)"] + } + }, + + "Ethernet41": { + "index": "42", + "lanes": "17", + "breakout_modes": { + "1x1G": ["Eth42(Port42)"] + } + }, + + "Ethernet42": { + "index": "43", + "lanes": "20", + "breakout_modes": { + "1x1G": ["Eth43(Port43)"] + } + }, + + "Ethernet43": { + "index": "44", + "lanes": "19", + "breakout_modes": { + "1x1G": ["Eth44(Port44)"] + } + }, + + "Ethernet44": { + "index": "45", + "lanes": "22", + "breakout_modes": { + "1x1G": ["Eth45(Port45)"] + } + }, + + "Ethernet45": { + "index": "46", + "lanes": "21", + "breakout_modes": { + "1x1G": ["Eth46(Port46)"] + } + }, + + "Ethernet46": { + "index": "47", + "lanes": "24", + "breakout_modes": { + "1x1G": ["Eth47(Port47)"] + } + }, + + "Ethernet47": { + "index": "48", + "lanes": "23", + "breakout_modes": { + "1x1G": ["Eth48(Port48)"] + } + }, + + "Ethernet48": { + "index": "49", + "lanes": "67", + "breakout_modes": { + "1x25G[10G]": ["Eth49(Port49)"] + } + }, + + "Ethernet49": { + "index": "50", + "lanes": "66", + "breakout_modes": { + "1x25G[10G]": ["Eth50(Port50)"] + } + }, + + "Ethernet50": { + "index": "51", + "lanes": "65", + "breakout_modes": { + "1x25G[10G]": ["Eth51(Port51)"] + } + }, + + "Ethernet51": { + "index": "52", + "lanes": "68", + "breakout_modes": { + "1x25G[10G]": ["Eth52(Port52)"] + } + }, + "Ethernet52": { + "index": "53,53,53,53", + "lanes": "73,74,75,76", + "breakout_modes": { + "1x100G[40G]": ["Eth53(Port53)"], + "2x50G": ["Eth53/1(Port53)", "Eth53/2(Port53)"], + "4x25G[10G]": ["Eth53/1(Port53)", "Eth53/2(Port53)", "Eth53/3(Port53)", "Eth53/4(Port53)"] + } + }, + + "Ethernet56": { + "index": "54,54,54,54", + "lanes": "69,70,71,72", + "breakout_modes": { + "1x100G[40G]": ["Eth54(Port54)"], + "2x50G": ["Eth54/1(Port54)", "Eth54/2(Port54)"], + "4x25G[10G]": ["Eth54/1(Port54)", "Eth54/2(Port54)", "Eth54/3(Port54)", "Eth54/4(Port54)"] + } + } + } +} diff --git a/device/accton/x86_64-accton_as4630_54pe-r0/platform_components.json b/device/accton/x86_64-accton_as4630_54pe-r0/platform_components.json new file mode 100644 index 0000000000..c1465e1374 --- /dev/null +++ b/device/accton/x86_64-accton_as4630_54pe-r0/platform_components.json @@ -0,0 +1,10 @@ +{ + "chassis": { + "4630-54PE-O-AC-F": { + "component": { + "CPLD1": { }, + "BIOS": { } + } + } + } +} \ No newline at end of file diff --git a/device/accton/x86_64-accton_as4630_54pe-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as4630_54pe-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as4630_54pe-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as4630_54pe-r0/pmon_daemon_control.json b/device/accton/x86_64-accton_as4630_54pe-r0/pmon_daemon_control.json index a3b204e20d..44bad64942 100644 --- a/device/accton/x86_64-accton_as4630_54pe-r0/pmon_daemon_control.json +++ b/device/accton/x86_64-accton_as4630_54pe-r0/pmon_daemon_control.json @@ -1,5 +1,4 @@ { - "skip_ledd": true, - "skip_pcied": true + "skip_ledd": true } diff --git a/device/accton/x86_64-accton_as4630_54pe-r0/system_health_monitoring_config.json b/device/accton/x86_64-accton_as4630_54pe-r0/system_health_monitoring_config.json index 61f624ee34..deb3745e14 100644 --- a/device/accton/x86_64-accton_as4630_54pe-r0/system_health_monitoring_config.json +++ b/device/accton/x86_64-accton_as4630_54pe-r0/system_health_monitoring_config.json @@ -1,17 +1,13 @@ { "services_to_ignore": [], "devices_to_ignore": [ - "asic", - "psu.voltage", - "psu.temperature", - "PSU1_FAN1.speed", - "PSU2_FAN1.speed" + "asic" ], "user_defined_checkers": [], "polling_interval": 60, "led_color": { - "fault": "STATUS_LED_COLOR_AMBER", - "normal": "STATUS_LED_COLOR_GREEN", - "booting": "STATUS_LED_COLOR_GREEN_BLINK" + "fault": "amber", + "normal": "green", + "booting": "green_blink" } } diff --git a/device/accton/x86_64-accton_as4630_54te-r0/Accton-AS4630-54TE/hwsku.json b/device/accton/x86_64-accton_as4630_54te-r0/Accton-AS4630-54TE/hwsku.json new file mode 100644 index 0000000000..c7f49d1665 --- /dev/null +++ b/device/accton/x86_64-accton_as4630_54te-r0/Accton-AS4630-54TE/hwsku.json @@ -0,0 +1,219 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet1": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet2": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet3": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet4": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet5": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet6": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet7": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet8": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet9": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet10": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet11": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet12": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet13": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet14": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet15": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet16": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet17": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet18": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet19": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet20": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet21": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet22": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet23": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet24": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet25": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet26": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet27": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet28": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet29": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet30": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet31": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet32": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet33": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet34": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet35": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet36": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet37": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet38": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet39": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet40": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet41": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet42": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet43": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet44": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet45": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet46": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet47": { + "default_brkout_mode": "1x1G" + }, + + "Ethernet48": { + "default_brkout_mode": "1x25G[10G]" + }, + + "Ethernet49": { + "default_brkout_mode": "1x25G[10G]" + }, + + "Ethernet50": { + "default_brkout_mode": "1x25G[10G]" + }, + + "Ethernet51": { + "default_brkout_mode": "1x25G[10G]" + }, + + "Ethernet52": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet56": { + "default_brkout_mode": "1x100G[40G]" + } + } +} diff --git a/device/accton/x86_64-accton_as4630_54te-r0/Accton-AS4630-54TE/hx5-as4630-48x1G+4x25G+2x100G.bcm b/device/accton/x86_64-accton_as4630_54te-r0/Accton-AS4630-54TE/hx5-as4630-48x1G+4x25G+2x100G.bcm new file mode 100644 index 0000000000..1a02415067 --- /dev/null +++ b/device/accton/x86_64-accton_as4630_54te-r0/Accton-AS4630-54TE/hx5-as4630-48x1G+4x25G+2x100G.bcm @@ -0,0 +1,502 @@ +stable_size=76303168 + +#polarity/lanemap is using TH2 style. +core_clock_frequency=893 +dpp_clock_ratio=2:3 + +ptp_ts_pll_fref=50000000 +ptp_bs_fref_0=50000000 +ptp_bs_fref_1=50000000 + +#oversubscribe_mode=1 + +pbmp_xport_xe=0x1FFFFFFE000000000000 + +parity_enable=0 +mem_cache_enable=1 + +l2_mem_entries=32768 +#l3_mem_entries=49152 +#fpem_mem_entries=16384 +l2xmsg_mode=1 +l3_alpm_enable=2 +ipv6_lpm_128b_enable=1 +port_flex_enable=1 +pcie_hot_swap_timeout_usec=10000 +ifp_inports_support_enable=1 + +#3x PM4x10Q (3 * 16 = 48 physical ports) +#Doesn't support oversubscribe in Q mode +#MCQ0 +port_gmii_mode_1=1 #Q mode + +#riot vxlan +#dport_map_direct=1 +flow_init_mode=1 +riot_enable=1 +riot_overlay_l3_intf_mem_size=4096 +riot_overlay_l3_egress_mem_size=8192 +l3_ecmp_levels=2 +riot_overlay_ecmp_resilient_hash_size=16384 +use_all_splithorizon_groups=1 +host_as_route_disable=1 +max_vp_lags=448 + +#PHY4 U56 xx1, MDC/MDIO2, PHYADDR:0x00-0x07, 0x08 +port_phy_addr_1=0x40 +port_phy_addr_2=0x41 +port_phy_addr_3=0x42 +port_phy_addr_4=0x43 +port_phy_addr_5=0x44 +port_phy_addr_6=0x45 +port_phy_addr_7=0x46 +port_phy_addr_8=0x47 +phy_port_primary_and_offset_1=0x0100 +phy_port_primary_and_offset_2=0x0101 +phy_port_primary_and_offset_3=0x0102 +phy_port_primary_and_offset_4=0x0103 +phy_port_primary_and_offset_5=0x0104 +phy_port_primary_and_offset_6=0x0105 +phy_port_primary_and_offset_7=0x0106 +phy_port_primary_and_offset_8=0x0107 +dport_map_port_1=26 +dport_map_port_2=25 +dport_map_port_3=28 +dport_map_port_4=27 +dport_map_port_5=30 +dport_map_port_6=29 +dport_map_port_7=32 +dport_map_port_8=31 +portmap_1=1:1 +portmap_2=2:1 +portmap_3=3:1 +portmap_4=4:1 +portmap_5=5:1 +portmap_6=6:1 +portmap_7=7:1 +portmap_8=8:1 +phy_chain_rx_lane_map_physical{1.0}=0x3210 +phy_chain_rx_lane_map_physical{2.0}=0x3210 +phy_chain_rx_lane_map_physical{3.0}=0x3210 +phy_chain_rx_lane_map_physical{4.0}=0x3210 +phy_chain_rx_lane_map_physical{5.0}=0x3210 +phy_chain_rx_lane_map_physical{6.0}=0x3210 +phy_chain_rx_lane_map_physical{7.0}=0x3210 +phy_chain_rx_lane_map_physical{8.0}=0x3210 +phy_chain_tx_lane_map_physical{1.0}=0x3210 +phy_chain_tx_lane_map_physical{2.0}=0x3210 +phy_chain_tx_lane_map_physical{3.0}=0x3210 +phy_chain_tx_lane_map_physical{4.0}=0x3210 +phy_chain_tx_lane_map_physical{5.0}=0x3210 +phy_chain_tx_lane_map_physical{6.0}=0x3210 +phy_chain_tx_lane_map_physical{7.0}=0x3210 +phy_chain_tx_lane_map_physical{8.0}=0x3210 +phy_chain_rx_polarity_flip_physical{1.0}=0x0 +phy_chain_rx_polarity_flip_physical{2.0}=0x0 +phy_chain_rx_polarity_flip_physical{3.0}=0x0 +phy_chain_rx_polarity_flip_physical{4.0}=0x0 +phy_chain_rx_polarity_flip_physical{5.0}=0x0 +phy_chain_rx_polarity_flip_physical{6.0}=0x0 +phy_chain_rx_polarity_flip_physical{7.0}=0x0 +phy_chain_rx_polarity_flip_physical{8.0}=0x0 +phy_chain_tx_polarity_flip_physical{1.0}=0x0 +phy_chain_tx_polarity_flip_physical{2.0}=0x0 +phy_chain_tx_polarity_flip_physical{3.0}=0x0 +phy_chain_tx_polarity_flip_physical{4.0}=0x0 +phy_chain_tx_polarity_flip_physical{5.0}=0x0 +phy_chain_tx_polarity_flip_physical{6.0}=0x0 +phy_chain_tx_polarity_flip_physical{7.0}=0x0 +phy_chain_tx_polarity_flip_physical{8.0}=0x0 + + +#PHY5 U57 x1x, MDC/MDIO2, PHYADDR:0x09-0x10, 0x11 +port_phy_addr_9=0x49 +port_phy_addr_10=0x4A +port_phy_addr_11=0x4B +port_phy_addr_12=0x4C +port_phy_addr_13=0x4D +port_phy_addr_14=0x4E +port_phy_addr_15=0x4F +port_phy_addr_16=0x50 +phy_port_primary_and_offset_9=0x0900 +phy_port_primary_and_offset_10=0x0901 +phy_port_primary_and_offset_11=0x0902 +phy_port_primary_and_offset_12=0x0903 +phy_port_primary_and_offset_13=0x0904 +phy_port_primary_and_offset_14=0x0905 +phy_port_primary_and_offset_15=0x0906 +phy_port_primary_and_offset_16=0x0907 +dport_map_port_9=34 +dport_map_port_10=33 +dport_map_port_11=36 +dport_map_port_12=35 +dport_map_port_13=38 +dport_map_port_14=37 +dport_map_port_15=40 +dport_map_port_16=39 +portmap_9=9:1 +portmap_10=10:1 +portmap_11=11:1 +portmap_12=12:1 +portmap_13=13:1 +portmap_14=14:1 +portmap_15=15:1 +portmap_16=16:1 +phy_chain_rx_lane_map_physical{9.0}=0x3210 +phy_chain_rx_lane_map_physical{10.0}=0x3210 +phy_chain_rx_lane_map_physical{11.0}=0x3210 +phy_chain_rx_lane_map_physical{12.0}=0x3210 +phy_chain_rx_lane_map_physical{13.0}=0x3210 +phy_chain_rx_lane_map_physical{14.0}=0x3210 +phy_chain_rx_lane_map_physical{15.0}=0x3210 +phy_chain_rx_lane_map_physical{16.0}=0x3210 +phy_chain_tx_lane_map_physical{9.0}=0x3210 +phy_chain_tx_lane_map_physical{10.0}=0x3210 +phy_chain_tx_lane_map_physical{11.0}=0x3210 +phy_chain_tx_lane_map_physical{12.0}=0x3210 +phy_chain_tx_lane_map_physical{13.0}=0x3210 +phy_chain_tx_lane_map_physical{14.0}=0x3210 +phy_chain_tx_lane_map_physical{15.0}=0x3210 +phy_chain_tx_lane_map_physical{16.0}=0x3210 +phy_chain_rx_polarity_flip_physical{9.0}=0x0 +phy_chain_rx_polarity_flip_physical{10.0}=0x0 +phy_chain_rx_polarity_flip_physical{11.0}=0x0 +phy_chain_rx_polarity_flip_physical{12.0}=0x0 +phy_chain_rx_polarity_flip_physical{13.0}=0x0 +phy_chain_rx_polarity_flip_physical{14.0}=0x0 +phy_chain_rx_polarity_flip_physical{15.0}=0x0 +phy_chain_rx_polarity_flip_physical{16.0}=0x0 +phy_chain_tx_polarity_flip_physical{9.0}=0x0 +phy_chain_tx_polarity_flip_physical{10.0}=0x0 +phy_chain_tx_polarity_flip_physical{11.0}=0x0 +phy_chain_tx_polarity_flip_physical{12.0}=0x0 +phy_chain_tx_polarity_flip_physical{13.0}=0x0 +phy_chain_tx_polarity_flip_physical{14.0}=0x0 +phy_chain_tx_polarity_flip_physical{15.0}=0x0 +phy_chain_tx_polarity_flip_physical{16.0}=0x0 + +#MCQ1 +port_gmii_mode_17=1 #Q mode + +#PHY6 U58 11x, MDC/MDIO2, PHYADDR:0x12-0x19, 0x1A +port_phy_addr_17=0x52 +port_phy_addr_18=0x53 +port_phy_addr_19=0x54 +port_phy_addr_20=0x55 +port_phy_addr_21=0x56 +port_phy_addr_22=0x57 +port_phy_addr_23=0x58 +port_phy_addr_24=0x59 +phy_port_primary_and_offset_17=0x1100 +phy_port_primary_and_offset_18=0x1101 +phy_port_primary_and_offset_19=0x1102 +phy_port_primary_and_offset_20=0x1103 +phy_port_primary_and_offset_21=0x1104 +phy_port_primary_and_offset_22=0x1105 +phy_port_primary_and_offset_23=0x1106 +phy_port_primary_and_offset_24=0x1107 +dport_map_port_17=42 +dport_map_port_18=41 +dport_map_port_19=44 +dport_map_port_20=43 +dport_map_port_21=46 +dport_map_port_22=45 +dport_map_port_23=48 +dport_map_port_24=47 +portmap_17=17:1 +portmap_18=18:1 +portmap_19=19:1 +portmap_20=20:1 +portmap_21=21:1 +portmap_22=22:1 +portmap_23=23:1 +portmap_24=24:1 +phy_chain_rx_lane_map_physical{17.0}=0x3210 +phy_chain_rx_lane_map_physical{18.0}=0x3210 +phy_chain_rx_lane_map_physical{19.0}=0x3210 +phy_chain_rx_lane_map_physical{20.0}=0x3210 +phy_chain_rx_lane_map_physical{21.0}=0x3210 +phy_chain_rx_lane_map_physical{22.0}=0x3210 +phy_chain_rx_lane_map_physical{23.0}=0x3210 +phy_chain_rx_lane_map_physical{24.0}=0x3210 +phy_chain_tx_lane_map_physical{17.0}=0x3210 +phy_chain_tx_lane_map_physical{18.0}=0x3210 +phy_chain_tx_lane_map_physical{19.0}=0x3210 +phy_chain_tx_lane_map_physical{20.0}=0x3210 +phy_chain_tx_lane_map_physical{21.0}=0x3210 +phy_chain_tx_lane_map_physical{22.0}=0x3210 +phy_chain_tx_lane_map_physical{23.0}=0x3210 +phy_chain_tx_lane_map_physical{24.0}=0x3210 +phy_chain_rx_polarity_flip_physical{17.0}=0x0 +phy_chain_rx_polarity_flip_physical{18.0}=0x0 +phy_chain_rx_polarity_flip_physical{19.0}=0x0 +phy_chain_rx_polarity_flip_physical{20.0}=0x0 +phy_chain_rx_polarity_flip_physical{21.0}=0x0 +phy_chain_rx_polarity_flip_physical{22.0}=0x0 +phy_chain_rx_polarity_flip_physical{23.0}=0x0 +phy_chain_rx_polarity_flip_physical{24.0}=0x0 +phy_chain_tx_polarity_flip_physical{17.0}=0x0 +phy_chain_tx_polarity_flip_physical{18.0}=0x0 +phy_chain_tx_polarity_flip_physical{19.0}=0x0 +phy_chain_tx_polarity_flip_physical{20.0}=0x0 +phy_chain_tx_polarity_flip_physical{21.0}=0x0 +phy_chain_tx_polarity_flip_physical{22.0}=0x0 +phy_chain_tx_polarity_flip_physical{23.0}=0x0 +phy_chain_tx_polarity_flip_physical{24.0}=0x0 + +#PHY1 U53 xx1, MDC/MDIO0, PHYADDR:0x00-0x07, 0x08 +port_phy_addr_25=0x00 +port_phy_addr_26=0x01 +port_phy_addr_27=0x02 +port_phy_addr_28=0x03 +port_phy_addr_29=0x04 +port_phy_addr_30=0x05 +port_phy_addr_31=0x06 +port_phy_addr_32=0x07 +phy_port_primary_and_offset_25=0x1900 +phy_port_primary_and_offset_26=0x1901 +phy_port_primary_and_offset_27=0x1902 +phy_port_primary_and_offset_28=0x1903 +phy_port_primary_and_offset_29=0x1904 +phy_port_primary_and_offset_30=0x1905 +phy_port_primary_and_offset_31=0x1906 +phy_port_primary_and_offset_32=0x1907 +dport_map_port_25=2 +dport_map_port_26=1 +dport_map_port_27=4 +dport_map_port_28=3 +dport_map_port_29=6 +dport_map_port_30=5 +dport_map_port_31=8 +dport_map_port_32=7 +portmap_25=25:1 +portmap_26=26:1 +portmap_27=27:1 +portmap_28=28:1 +portmap_29=29:1 +portmap_30=30:1 +portmap_31=31:1 +portmap_32=32:1 +phy_chain_rx_lane_map_physical{25.0}=0x3210 +phy_chain_rx_lane_map_physical{26.0}=0x3210 +phy_chain_rx_lane_map_physical{27.0}=0x3210 +phy_chain_rx_lane_map_physical{28.0}=0x3210 +phy_chain_rx_lane_map_physical{29.0}=0x3210 +phy_chain_rx_lane_map_physical{30.0}=0x3210 +phy_chain_rx_lane_map_physical{31.0}=0x3210 +phy_chain_rx_lane_map_physical{32.0}=0x3210 +phy_chain_tx_lane_map_physical{25.0}=0x3210 +phy_chain_tx_lane_map_physical{26.0}=0x3210 +phy_chain_tx_lane_map_physical{27.0}=0x3210 +phy_chain_tx_lane_map_physical{28.0}=0x3210 +phy_chain_tx_lane_map_physical{29.0}=0x3210 +phy_chain_tx_lane_map_physical{30.0}=0x3210 +phy_chain_tx_lane_map_physical{31.0}=0x3210 +phy_chain_tx_lane_map_physical{32.0}=0x3210 +phy_chain_rx_polarity_flip_physical{25.0}=0x0 +phy_chain_rx_polarity_flip_physical{26.0}=0x0 +phy_chain_rx_polarity_flip_physical{27.0}=0x0 +phy_chain_rx_polarity_flip_physical{28.0}=0x0 +phy_chain_rx_polarity_flip_physical{29.0}=0x0 +phy_chain_rx_polarity_flip_physical{30.0}=0x0 +phy_chain_rx_polarity_flip_physical{31.0}=0x0 +phy_chain_rx_polarity_flip_physical{32.0}=0x0 +phy_chain_tx_polarity_flip_physical{25.0}=0x0 +phy_chain_tx_polarity_flip_physical{26.0}=0x0 +phy_chain_tx_polarity_flip_physical{27.0}=0x0 +phy_chain_tx_polarity_flip_physical{28.0}=0x0 +phy_chain_tx_polarity_flip_physical{29.0}=0x0 +phy_chain_tx_polarity_flip_physical{30.0}=0x0 +phy_chain_tx_polarity_flip_physical{31.0}=0x0 +phy_chain_tx_polarity_flip_physical{32.0}=0x0 + +#MCQ2 +port_gmii_mode_33=1 #Q mode + +#PHY2 U54 x1x, MDC/MDIO0, PHYADDR:0x09-0x10, 0x11 +port_phy_addr_33=0x0D +port_phy_addr_34=0x0E +port_phy_addr_35=0x0F +port_phy_addr_36=0x10 +port_phy_addr_37=0x09 +port_phy_addr_38=0x0A +port_phy_addr_39=0x0B +port_phy_addr_40=0x0C +phy_port_primary_and_offset_33=0x2504 +phy_port_primary_and_offset_34=0x2505 +phy_port_primary_and_offset_35=0x2506 +phy_port_primary_and_offset_36=0x2507 +phy_port_primary_and_offset_37=0x2500 +phy_port_primary_and_offset_38=0x2501 +phy_port_primary_and_offset_39=0x2502 +phy_port_primary_and_offset_40=0x2503 +dport_map_port_33=14 +dport_map_port_34=13 +dport_map_port_35=16 +dport_map_port_36=15 +dport_map_port_37=10 +dport_map_port_38=9 +dport_map_port_39=12 +dport_map_port_40=11 +portmap_33=33:1 +portmap_34=34:1 +portmap_35=35:1 +portmap_36=36:1 +portmap_37=37:1 +portmap_38=38:1 +portmap_39=39:1 +portmap_40=40:1 +phy_chain_rx_lane_map_physical{33.0}=0x3210 +phy_chain_rx_lane_map_physical{34.0}=0x3210 +phy_chain_rx_lane_map_physical{35.0}=0x3210 +phy_chain_rx_lane_map_physical{36.0}=0x3210 +phy_chain_rx_lane_map_physical{37.0}=0x3210 +phy_chain_rx_lane_map_physical{38.0}=0x3210 +phy_chain_rx_lane_map_physical{39.0}=0x3210 +phy_chain_rx_lane_map_physical{40.0}=0x3210 +phy_chain_tx_lane_map_physical{33.0}=0x3210 +phy_chain_tx_lane_map_physical{34.0}=0x3210 +phy_chain_tx_lane_map_physical{35.0}=0x3210 +phy_chain_tx_lane_map_physical{36.0}=0x3210 +phy_chain_tx_lane_map_physical{37.0}=0x3210 +phy_chain_tx_lane_map_physical{38.0}=0x3210 +phy_chain_tx_lane_map_physical{39.0}=0x3210 +phy_chain_tx_lane_map_physical{40.0}=0x3210 +phy_chain_rx_polarity_flip_physical{33.0}=0x1 +phy_chain_rx_polarity_flip_physical{34.0}=0x1 +phy_chain_rx_polarity_flip_physical{35.0}=0x1 +phy_chain_rx_polarity_flip_physical{36.0}=0x1 +phy_chain_rx_polarity_flip_physical{37.0}=0x1 +phy_chain_rx_polarity_flip_physical{38.0}=0x1 +phy_chain_rx_polarity_flip_physical{39.0}=0x1 +phy_chain_rx_polarity_flip_physical{40.0}=0x1 +phy_chain_tx_polarity_flip_physical{33.0}=0x1 +phy_chain_tx_polarity_flip_physical{34.0}=0x1 +phy_chain_tx_polarity_flip_physical{35.0}=0x1 +phy_chain_tx_polarity_flip_physical{36.0}=0x1 +phy_chain_tx_polarity_flip_physical{37.0}=0x1 +phy_chain_tx_polarity_flip_physical{38.0}=0x1 +phy_chain_tx_polarity_flip_physical{39.0}=0x1 +phy_chain_tx_polarity_flip_physical{40.0}=0x1 + +#PHY3 U55 11x, MDC/MDIO0, PHYADDR:0x12-0x19, 0x1A +port_phy_addr_41=0x16 +port_phy_addr_42=0x17 +port_phy_addr_43=0x18 +port_phy_addr_44=0x19 +port_phy_addr_45=0x12 +port_phy_addr_46=0x13 +port_phy_addr_47=0x14 +port_phy_addr_48=0x15 +phy_port_primary_and_offset_41=0x2D00 +phy_port_primary_and_offset_42=0x2D01 +phy_port_primary_and_offset_43=0x2D02 +phy_port_primary_and_offset_44=0x2D03 +phy_port_primary_and_offset_45=0x2D04 +phy_port_primary_and_offset_46=0x2D05 +phy_port_primary_and_offset_47=0x2D06 +phy_port_primary_and_offset_48=0x2D07 +dport_map_port_41=22 +dport_map_port_42=21 +dport_map_port_43=24 +dport_map_port_44=23 +dport_map_port_45=18 +dport_map_port_46=17 +dport_map_port_47=20 +dport_map_port_48=19 +portmap_41=41:1 +portmap_42=42:1 +portmap_43=43:1 +portmap_44=44:1 +portmap_45=45:1 +portmap_46=46:1 +portmap_47=47:1 +portmap_48=48:1 +phy_chain_rx_lane_map_physical{41.0}=0x3210 +phy_chain_rx_lane_map_physical{42.0}=0x3210 +phy_chain_rx_lane_map_physical{43.0}=0x3210 +phy_chain_rx_lane_map_physical{44.0}=0x3210 +phy_chain_rx_lane_map_physical{45.0}=0x3210 +phy_chain_rx_lane_map_physical{46.0}=0x3210 +phy_chain_rx_lane_map_physical{47.0}=0x3210 +phy_chain_rx_lane_map_physical{48.0}=0x3210 +phy_chain_tx_lane_map_physical{41.0}=0x3210 +phy_chain_tx_lane_map_physical{42.0}=0x3210 +phy_chain_tx_lane_map_physical{43.0}=0x3210 +phy_chain_tx_lane_map_physical{44.0}=0x3210 +phy_chain_tx_lane_map_physical{45.0}=0x3210 +phy_chain_tx_lane_map_physical{46.0}=0x3210 +phy_chain_tx_lane_map_physical{47.0}=0x3210 +phy_chain_tx_lane_map_physical{48.0}=0x3210 +phy_chain_rx_polarity_flip_physical{41.0}=0x1 +phy_chain_rx_polarity_flip_physical{42.0}=0x1 +phy_chain_rx_polarity_flip_physical{43.0}=0x1 +phy_chain_rx_polarity_flip_physical{44.0}=0x1 +phy_chain_rx_polarity_flip_physical{45.0}=0x1 +phy_chain_rx_polarity_flip_physical{46.0}=0x1 +phy_chain_rx_polarity_flip_physical{47.0}=0x1 +phy_chain_rx_polarity_flip_physical{48.0}=0x1 +phy_chain_tx_polarity_flip_physical{41.0}=0x1 +phy_chain_tx_polarity_flip_physical{42.0}=0x1 +phy_chain_tx_polarity_flip_physical{43.0}=0x1 +phy_chain_tx_polarity_flip_physical{44.0}=0x1 +phy_chain_tx_polarity_flip_physical{45.0}=0x1 +phy_chain_tx_polarity_flip_physical{46.0}=0x1 +phy_chain_tx_polarity_flip_physical{47.0}=0x1 +phy_chain_tx_polarity_flip_physical{48.0}=0x1 + +#3x PM4x25 (3 * 4 = 12 physical ports) +#FC0 +dport_map_port_49=51 +dport_map_port_50=50 +dport_map_port_51=49 +dport_map_port_52=52 +portmap_49=65:25 +portmap_50=66:25 +portmap_51=67:25 +portmap_52=68:25 +#FC1 +dport_map_port_53=57 +dport_map_port_54=58 +dport_map_port_55=59 +dport_map_port_56=60 +portmap_53=69:100:4 +#portmap_55=71:50 +#portmap_54=70:25 +#portmap_55=71:25 +#portmap_56=72:25 +#FC2 +dport_map_port_57=53 +dport_map_port_58=54 +dport_map_port_59=55 +dport_map_port_60=56 +portmap_57=73:100:4 +#portmap_59=75:50 +#portmap_58=74:25 +#portmap_59=75:25 +#portmap_60=76:25 + +#4x PM4x10 (4 * 4 = 16 physical ports) +#MC0 No connection +#MC1 No connection +#MC2 No connection +#MC3 No connection +#portmap_=49:10 +#portmap_=50:10 +#portmap_=51:10 +#portmap_=52:10 + +#portmap_=53:10 +#portmap_=54:10 +#portmap_=55:10 +#portmap_=56:10 + +#portmap_=57:10 +#portmap_=58:10 +#portmap_=59:10 +#portmap_=60:10 + +#portmap_=61:10 +#portmap_=62:10 +#portmap_=63:10 +#portmap_=64:10 diff --git a/device/accton/x86_64-accton_as4630_54te-r0/Accton-AS4630-54TE/port_config.ini b/device/accton/x86_64-accton_as4630_54te-r0/Accton-AS4630-54TE/port_config.ini index 7040875faf..c30f99f480 100755 --- a/device/accton/x86_64-accton_as4630_54te-r0/Accton-AS4630-54TE/port_config.ini +++ b/device/accton/x86_64-accton_as4630_54te-r0/Accton-AS4630-54TE/port_config.ini @@ -1,55 +1,55 @@ -# name lanes alias index speed autoneg -Ethernet0 26 thousandE1 1 1000 on -Ethernet1 25 thousandE2 2 1000 on -Ethernet2 28 thousandE3 3 1000 on -Ethernet3 27 thousandE4 4 1000 on -Ethernet4 30 thousandE5 5 1000 on -Ethernet5 29 thousandE6 6 1000 on -Ethernet6 32 thousandE7 7 1000 on -Ethernet7 31 thousandE8 8 1000 on -Ethernet8 38 thousandE9 9 1000 on -Ethernet9 37 thousandE10 10 1000 on -Ethernet10 40 thousandE11 11 1000 on -Ethernet11 39 thousandE12 12 1000 on -Ethernet12 34 thousandE13 13 1000 on -Ethernet13 33 thousandE14 14 1000 on -Ethernet14 36 thousandE15 15 1000 on -Ethernet15 35 thousandE16 16 1000 on -Ethernet16 46 thousandE17 17 1000 on -Ethernet17 45 thousandE18 18 1000 on -Ethernet18 48 thousandE19 19 1000 on -Ethernet19 47 thousandE20 20 1000 on -Ethernet20 42 thousandE21 21 1000 on -Ethernet21 41 thousandE22 22 1000 on -Ethernet22 44 thousandE23 23 1000 on -Ethernet23 43 thousandE24 24 1000 on -Ethernet24 2 thousandE25 25 1000 on -Ethernet25 1 thousandE26 26 1000 on -Ethernet26 4 thousandE27 27 1000 on -Ethernet27 3 thousandE28 28 1000 on -Ethernet28 6 thousandE29 29 1000 on -Ethernet29 5 thousandE30 30 1000 on -Ethernet30 8 thousandE31 31 1000 on -Ethernet31 7 thousandE32 32 1000 on -Ethernet32 10 thousandE33 33 1000 on -Ethernet33 9 thousandE34 34 1000 on -Ethernet34 12 thousandE35 35 1000 on -Ethernet35 11 thousandE36 36 1000 on -Ethernet36 14 thousandE37 37 1000 on -Ethernet37 13 thousandE38 38 1000 on -Ethernet38 16 thousandE39 39 1000 on -Ethernet39 15 thousandE40 40 1000 on -Ethernet40 18 thousandE41 41 1000 on -Ethernet41 17 thousandE42 42 1000 on -Ethernet42 20 thousandE43 43 1000 on -Ethernet43 19 thousandE44 44 1000 on -Ethernet44 22 thousandE45 45 1000 on -Ethernet45 21 thousandE46 46 1000 on -Ethernet46 24 thousandE47 47 1000 on -Ethernet47 23 thousandE48 48 1000 on -Ethernet48 67 twentyfiveGigE49 49 25000 off -Ethernet49 66 twentyfiveGigE50 50 25000 off -Ethernet50 65 twentyfiveGigE51 51 25000 off -Ethernet51 68 twentyfiveGigE52 52 25000 off -Ethernet52 73,74,75,76 hundredGigE53 53 100000 off -Ethernet56 69,70,71,72 hundredGigE54 54 100000 off +# name lanes alias index speed autoneg +Ethernet0 26 Eth1(Port1) 1 1000 on +Ethernet1 25 Eth2(Port2) 2 1000 on +Ethernet2 28 Eth3(Port3) 3 1000 on +Ethernet3 27 Eth4(Port4) 4 1000 on +Ethernet4 30 Eth5(Port5) 5 1000 on +Ethernet5 29 Eth6(Port6) 6 1000 on +Ethernet6 32 Eth7(Port7) 7 1000 on +Ethernet7 31 Eth8(Port8) 8 1000 on +Ethernet8 38 Eth9(Port9) 9 1000 on +Ethernet9 37 Eth10(Port10) 10 1000 on +Ethernet10 40 Eth11(Port11) 11 1000 on +Ethernet11 39 Eth12(Port12) 12 1000 on +Ethernet12 34 Eth13(Port13) 13 1000 on +Ethernet13 33 Eth14(Port14) 14 1000 on +Ethernet14 36 Eth15(Port15) 15 1000 on +Ethernet15 35 Eth16(Port16) 16 1000 on +Ethernet16 46 Eth17(Port17) 17 1000 on +Ethernet17 45 Eth18(Port18) 18 1000 on +Ethernet18 48 Eth19(Port19) 19 1000 on +Ethernet19 47 Eth20(Port20) 20 1000 on +Ethernet20 42 Eth21(Port21) 21 1000 on +Ethernet21 41 Eth22(Port22) 22 1000 on +Ethernet22 44 Eth23(Port23) 23 1000 on +Ethernet23 43 Eth24(Port24) 24 1000 on +Ethernet24 2 Eth25(Port25) 25 1000 on +Ethernet25 1 Eth26(Port26) 26 1000 on +Ethernet26 4 Eth27(Port27) 27 1000 on +Ethernet27 3 Eth28(Port28) 28 1000 on +Ethernet28 6 Eth29(Port29) 29 1000 on +Ethernet29 5 Eth30(Port30) 30 1000 on +Ethernet30 8 Eth31(Port31) 31 1000 on +Ethernet31 7 Eth32(Port32) 32 1000 on +Ethernet32 10 Eth33(Port33) 33 1000 on +Ethernet33 9 Eth34(Port34) 34 1000 on +Ethernet34 12 Eth35(Port35) 35 1000 on +Ethernet35 11 Eth36(Port36) 36 1000 on +Ethernet36 14 Eth37(Port37) 37 1000 on +Ethernet37 13 Eth38(Port38) 38 1000 on +Ethernet38 16 Eth39(Port39) 39 1000 on +Ethernet39 15 Eth40(Port40) 40 1000 on +Ethernet40 18 Eth41(Port41) 41 1000 on +Ethernet41 17 Eth42(Port42) 42 1000 on +Ethernet42 20 Eth43(Port43) 43 1000 on +Ethernet43 19 Eth44(Port44) 44 1000 on +Ethernet44 22 Eth45(Port45) 45 1000 on +Ethernet45 21 Eth46(Port46) 46 1000 on +Ethernet46 24 Eth47(Port47) 47 1000 on +Ethernet47 23 Eth48(Port48) 48 1000 on +Ethernet48 67 Eth49(Port49) 49 25000 off +Ethernet49 66 Eth50(Port50) 50 25000 off +Ethernet50 65 Eth51(Port51) 51 25000 off +Ethernet51 68 Eth52(Port52) 52 25000 off +Ethernet52 73,74,75,76 Eth53(Port53) 53 100000 off +Ethernet56 69,70,71,72 Eth54(Port54) 54 100000 off diff --git a/device/accton/x86_64-accton_as4630_54te-r0/Accton-AS4630-54TE/sai.profile b/device/accton/x86_64-accton_as4630_54te-r0/Accton-AS4630-54TE/sai.profile new file mode 100644 index 0000000000..5329410fe8 --- /dev/null +++ b/device/accton/x86_64-accton_as4630_54te-r0/Accton-AS4630-54TE/sai.profile @@ -0,0 +1 @@ +SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/hx5-as4630-48x1G+4x25G+2x100G.bcm diff --git a/device/accton/x86_64-accton_as4630_54te-r0/installer.conf b/device/accton/x86_64-accton_as4630_54te-r0/installer.conf index 925a32fc0c..d5f9419d77 100755 --- a/device/accton/x86_64-accton_as4630_54te-r0/installer.conf +++ b/device/accton/x86_64-accton_as4630_54te-r0/installer.conf @@ -1,3 +1,4 @@ CONSOLE_PORT=0x3f8 CONSOLE_DEV=0 CONSOLE_SPEED=115200 +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="pcie_aspm=off" diff --git a/device/accton/x86_64-accton_as4630_54te-r0/platform.json b/device/accton/x86_64-accton_as4630_54te-r0/platform.json new file mode 100644 index 0000000000..5f8798239d --- /dev/null +++ b/device/accton/x86_64-accton_as4630_54te-r0/platform.json @@ -0,0 +1,695 @@ +{ + "chassis": { + "name": "4630-54PE", + "components": [ + { + "name": "CPLD1" + }, + { + "name": "CPLD2" + }, + { + "name": "BIOS" + } + ], + "fans": [ + { + "name": "FAN-1" + }, + { + "name": "FAN-2" + }, + { + "name": "FAN-3" + } + ], + "fan_drawers":[ + { + "name": "FanTray1", + "num_fans" : 1, + "fans": [ + { + "name": "FAN-1" + } + ] + }, + { + "name": "FanTray2", + "num_fans" : 1, + "fans": [ + { + "name": "FAN-2" + } + ] + }, + { + "name": "FanTray3", + "num_fans" : 1, + "fans": [ + { + "name": "FAN-3" + } + ] + } + ], + "psus": [ + { + "name": "PSU-1", + "fans": [ + { + "name": "PSU-1 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-1 temp sensor 1" + } + ] + }, + { + "name": "PSU-2", + "fans": [ + { + "name": "PSU-2 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-2 temp sensor 1" + } + ] + } + ], + "thermals": [ + { + "name": "Temp sensor 1" + }, + { + "name": "Temp sensor 2" + }, + { + "name": "Temp sensor 3" + } + ], + "sfps": [ + { + "name": "Ethernet0" + }, + { + "name": "Ethernet1" + }, + { + "name": "Ethernet2" + }, + { + "name": "Ethernet3" + }, + { + "name": "Ethernet4" + }, + { + "name": "Ethernet5" + }, + { + "name": "Ethernet6" + }, + { + "name": "Ethernet7" + }, + { + "name": "Ethernet8" + }, + { + "name": "Ethernet9" + }, + { + "name": "Ethernet10" + }, + { + "name": "Ethernet11" + }, + { + "name": "Ethernet12" + }, + { + "name": "Ethernet13" + }, + { + "name": "Ethernet14" + }, + { + "name": "Ethernet15" + }, + { + "name": "Ethernet16" + }, + { + "name": "Ethernet17" + }, + { + "name": "Ethernet18" + }, + { + "name": "Ethernet19" + }, + { + "name": "Ethernet20" + }, + { + "name": "Ethernet21" + }, + { + "name": "Ethernet22" + }, + { + "name": "Ethernet23" + }, + { + "name": "Ethernet24" + }, + { + "name": "Ethernet25" + }, + { + "name": "Ethernet26" + }, + { + "name": "Ethernet27" + }, + { + "name": "Ethernet28" + }, + { + "name": "Ethernet29" + }, + { + "name": "Ethernet30" + }, + { + "name": "Ethernet31" + }, + { + "name": "Ethernet32" + }, + { + "name": "Ethernet33" + }, + { + "name": "Ethernet34" + }, + { + "name": "Ethernet35" + }, + { + "name": "Ethernet36" + }, + { + "name": "Ethernet37" + }, + { + "name": "Ethernet38" + }, + { + "name": "Ethernet39" + }, + { + "name": "Ethernet40" + }, + { + "name": "Ethernet41" + }, + { + "name": "Ethernet42" + }, + { + "name": "Ethernet43" + }, + { + "name": "Ethernet44" + }, + { + "name": "Ethernet45" + }, + { + "name": "Ethernet46" + }, + { + "name": "Ethernet47" + }, + { + "name": "Ethernet48" + }, + { + "name": "Ethernet49" + }, + { + "name": "Ethernet50" + }, + { + "name": "Ethernet51" + }, + { + "name": "Ethernet52" + }, + { + "name": "Ethernet56" + } + ] + }, + "interfaces": { + "Ethernet0": { + "index": "1", + "lanes": "26", + "breakout_modes": { + "1x1G": ["Eth1(Port1)"] + } + }, + + "Ethernet1": { + "index": "2", + "lanes": "25", + "breakout_modes": { + "1x1G": ["Eth2(Port2)"] + } + }, + + "Ethernet2": { + "index": "3", + "lanes": "28", + "breakout_modes": { + "1x1G": ["Eth3(Port3)"] + } + }, + + "Ethernet3": { + "index": "4", + "lanes": "27", + "breakout_modes": { + "1x1G": ["Eth4(Port4)"] + } + }, + + "Ethernet4": { + "index": "5", + "lanes": "30", + "breakout_modes": { + "1x1G": ["Eth5(Port5)"] + } + }, + + "Ethernet5": { + "index": "6", + "lanes": "29", + "breakout_modes": { + "1x1G": ["Eth6(Port6)"] + } + }, + + "Ethernet6": { + "index": "7", + "lanes": "32", + "breakout_modes": { + "1x1G": ["Eth7(Port7)"] + } + }, + + "Ethernet7": { + "index": "8", + "lanes": "31", + "breakout_modes": { + "1x1G": ["Eth8(Port8)"] + } + }, + + "Ethernet8": { + "index": "9", + "lanes": "38", + "breakout_modes": { + "1x1G": ["Eth9(Port9)"] + } + }, + + "Ethernet9": { + "index": "10", + "lanes": "37", + "breakout_modes": { + "1x1G": ["Eth10(Port10)"] + } + }, + + "Ethernet10": { + "index": "11", + "lanes": "40", + "breakout_modes": { + "1x1G": ["Eth11(Port11)"] + } + }, + + "Ethernet11": { + "index": "12", + "lanes": "39", + "breakout_modes": { + "1x1G": ["Eth12(Port12)"] + } + }, + + "Ethernet12": { + "index": "13", + "lanes": "34", + "breakout_modes": { + "1x1G": ["Eth13(Port13)"] + } + }, + + "Ethernet13": { + "index": "14", + "lanes": "33", + "breakout_modes": { + "1x1G": ["Eth14(Port14)"] + } + }, + + "Ethernet14": { + "index": "15", + "lanes": "36", + "breakout_modes": { + "1x1G": ["Eth15(Port15)"] + } + }, + + "Ethernet15": { + "index": "16", + "lanes": "35", + "breakout_modes": { + "1x1G": ["Eth16(Port16)"] + } + }, + + "Ethernet16": { + "index": "17", + "lanes": "46", + "breakout_modes": { + "1x1G": ["Eth17(Port17)"] + } + }, + + "Ethernet17": { + "index": "18", + "lanes": "45", + "breakout_modes": { + "1x1G": ["Eth18(Port18)"] + } + }, + + "Ethernet18": { + "index": "19", + "lanes": "48", + "breakout_modes": { + "1x1G": ["Eth19(Port19)"] + } + }, + + "Ethernet19": { + "index": "20", + "lanes": "47", + "breakout_modes": { + "1x1G": ["Eth20(Port20)"] + } + }, + + "Ethernet20": { + "index": "21", + "lanes": "42", + "breakout_modes": { + "1x1G": ["Eth21(Port21)"] + } + }, + + "Ethernet21": { + "index": "22", + "lanes": "41", + "breakout_modes": { + "1x1G": ["Eth22(Port22)"] + } + }, + + "Ethernet22": { + "index": "23", + "lanes": "44", + "breakout_modes": { + "1x1G": ["Eth23(Port23)"] + } + }, + + "Ethernet23": { + "index": "24", + "lanes": "43", + "breakout_modes": { + "1x1G": ["Eth24(Port24)"] + } + }, + + "Ethernet24": { + "index": "25", + "lanes": "2", + "breakout_modes": { + "1x1G": ["Eth25(Port25)"] + } + }, + + "Ethernet25": { + "index": "26", + "lanes": "1", + "breakout_modes": { + "1x1G": ["Eth26(Port26)"] + } + }, + + "Ethernet26": { + "index": "27", + "lanes": "4", + "breakout_modes": { + "1x1G": ["Eth27(Port27)"] + } + }, + + "Ethernet27": { + "index": "28", + "lanes": "3", + "breakout_modes": { + "1x1G": ["Eth28(Port28)"] + } + }, + + "Ethernet28": { + "index": "29", + "lanes": "6", + "breakout_modes": { + "1x1G": ["Eth29(Port29)"] + } + }, + + "Ethernet29": { + "index": "30", + "lanes": "5", + "breakout_modes": { + "1x1G": ["Eth30(Port30)"] + } + }, + + "Ethernet30": { + "index": "31", + "lanes": "8", + "breakout_modes": { + "1x1G": ["Eth31(Port31)"] + } + }, + + "Ethernet31": { + "index": "32", + "lanes": "7", + "breakout_modes": { + "1x1G": ["Eth32(Port32)"] + } + }, + + "Ethernet32": { + "index": "33", + "lanes": "10", + "breakout_modes": { + "1x1G": ["Eth33(Port33)"] + } + }, + + "Ethernet33": { + "index": "34", + "lanes": "9", + "breakout_modes": { + "1x1G": ["Eth34(Port34)"] + } + }, + + "Ethernet34": { + "index": "35", + "lanes": "12", + "breakout_modes": { + "1x1G": ["Eth35(Port35)"] + } + }, + + "Ethernet35": { + "index": "36", + "lanes": "11", + "breakout_modes": { + "1x1G": ["Eth36(Port36)"] + } + }, + + "Ethernet36": { + "index": "37", + "lanes": "14", + "breakout_modes": { + "1x1G": ["Eth37(Port37)"] + } + }, + + "Ethernet37": { + "index": "38", + "lanes": "13", + "breakout_modes": { + "1x1G": ["Eth38(Port38)"] + } + }, + + "Ethernet38": { + "index": "39", + "lanes": "16", + "breakout_modes": { + "1x1G": ["Eth39(Port39)"] + } + }, + + "Ethernet39": { + "index": "40", + "lanes": "15", + "breakout_modes": { + "1x1G": ["Eth40(Port40)"] + } + }, + + "Ethernet40": { + "index": "41", + "lanes": "18", + "breakout_modes": { + "1x1G": ["Eth41(Port41)"] + } + }, + + "Ethernet41": { + "index": "42", + "lanes": "17", + "breakout_modes": { + "1x1G": ["Eth42(Port42)"] + } + }, + + "Ethernet42": { + "index": "43", + "lanes": "20", + "breakout_modes": { + "1x1G": ["Eth43(Port43)"] + } + }, + + "Ethernet43": { + "index": "44", + "lanes": "19", + "breakout_modes": { + "1x1G": ["Eth44(Port44)"] + } + }, + + "Ethernet44": { + "index": "45", + "lanes": "22", + "breakout_modes": { + "1x1G": ["Eth45(Port45)"] + } + }, + + "Ethernet45": { + "index": "46", + "lanes": "21", + "breakout_modes": { + "1x1G": ["Eth46(Port46)"] + } + }, + + "Ethernet46": { + "index": "47", + "lanes": "24", + "breakout_modes": { + "1x1G": ["Eth47(Port47)"] + } + }, + + "Ethernet47": { + "index": "48", + "lanes": "23", + "breakout_modes": { + "1x1G": ["Eth48(Port48)"] + } + }, + + "Ethernet48": { + "index": "49", + "lanes": "67", + "breakout_modes": { + "1x25G[10G]": ["Eth49(Port49)"] + } + }, + + "Ethernet49": { + "index": "50", + "lanes": "66", + "breakout_modes": { + "1x25G[10G]": ["Eth50(Port50)"] + } + }, + + "Ethernet50": { + "index": "51", + "lanes": "65", + "breakout_modes": { + "1x25G[10G]": ["Eth51(Port51)"] + } + }, + + "Ethernet51": { + "index": "52", + "lanes": "68", + "breakout_modes": { + "1x25G[10G]": ["Eth52(Port52)"] + } + }, + "Ethernet52": { + "index": "53,53,53,53", + "lanes": "73,74,75,76", + "breakout_modes": { + "1x100G[40G]": ["Eth53(Port53)"], + "2x50G": ["Eth53/1(Port53)", "Eth53/2(Port53)"], + "4x25G[10G]": ["Eth53/1(Port53)", "Eth53/2(Port53)", "Eth53/3(Port53)", "Eth53/4(Port53)"] + } + }, + + "Ethernet56": { + "index": "54,54,54,54", + "lanes": "69,70,71,72", + "breakout_modes": { + "1x100G[40G]": ["Eth54(Port54)"], + "2x50G": ["Eth54/1(Port54)", "Eth54/2(Port54)"], + "4x25G[10G]": ["Eth54/1(Port54)", "Eth54/2(Port54)", "Eth54/3(Port54)", "Eth54/4(Port54)"] + } + } + } +} diff --git a/device/accton/x86_64-accton_as4630_54te-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as4630_54te-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as4630_54te-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as5712_54x-r0/installer.conf b/device/accton/x86_64-accton_as5712_54x-r0/installer.conf index 14404194ef..c6fb53c902 100644 --- a/device/accton/x86_64-accton_as5712_54x-r0/installer.conf +++ b/device/accton/x86_64-accton_as5712_54x-r0/installer.conf @@ -1,3 +1,4 @@ CONSOLE_PORT=0x2f8 CONSOLE_DEV=1 CONSOLE_SPEED=115200 +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="pcie_aspm=off" diff --git a/device/accton/x86_64-accton_as5712_54x-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as5712_54x-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as5712_54x-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as5812_54t-r0/installer.conf b/device/accton/x86_64-accton_as5812_54t-r0/installer.conf index 14404194ef..c6fb53c902 100644 --- a/device/accton/x86_64-accton_as5812_54t-r0/installer.conf +++ b/device/accton/x86_64-accton_as5812_54t-r0/installer.conf @@ -1,3 +1,4 @@ CONSOLE_PORT=0x2f8 CONSOLE_DEV=1 CONSOLE_SPEED=115200 +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="pcie_aspm=off" diff --git a/device/accton/x86_64-accton_as5812_54t-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as5812_54t-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as5812_54t-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as5812_54x-r0/installer.conf b/device/accton/x86_64-accton_as5812_54x-r0/installer.conf index 14404194ef..c6fb53c902 100644 --- a/device/accton/x86_64-accton_as5812_54x-r0/installer.conf +++ b/device/accton/x86_64-accton_as5812_54x-r0/installer.conf @@ -1,3 +1,4 @@ CONSOLE_PORT=0x2f8 CONSOLE_DEV=1 CONSOLE_SPEED=115200 +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="pcie_aspm=off" diff --git a/device/accton/x86_64-accton_as5812_54x-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as5812_54x-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as5812_54x-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as5835_54t-r0/Accton-AS5835-54T/hwsku.json b/device/accton/x86_64-accton_as5835_54t-r0/Accton-AS5835-54T/hwsku.json new file mode 100644 index 0000000000..bbfc11b3fb --- /dev/null +++ b/device/accton/x86_64-accton_as5835_54t-r0/Accton-AS5835-54T/hwsku.json @@ -0,0 +1,315 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet1": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet2": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet3": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet4": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet5": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet6": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet7": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet8": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet9": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet10": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet11": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet12": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet13": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet14": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet15": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet16": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet17": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet18": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet19": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet20": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet21": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet22": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet23": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet24": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet25": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet26": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet27": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet28": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet29": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet30": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet31": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet32": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet33": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet34": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet35": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet36": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet37": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet38": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet39": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet40": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet41": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet42": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet43": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet44": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet45": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet46": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet47": { + "default_brkout_mode": "1x10G", + "port_type": "RJ45", + "autoneg": "on" + }, + + "Ethernet48": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet52": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet56": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet60": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet64": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet68": { + "default_brkout_mode": "1x100G[40G]" + } + } +} diff --git a/device/accton/x86_64-accton_as5835_54t-r0/Accton-AS5835-54T/mv2-as5835t-48x10G+6x100G.config.bcm b/device/accton/x86_64-accton_as5835_54t-r0/Accton-AS5835-54T/mv2-as5835t-48x10G+6x100G.config.bcm index 63738e788d..b60c6c0b47 100755 --- a/device/accton/x86_64-accton_as5835_54t-r0/Accton-AS5835-54T/mv2-as5835t-48x10G+6x100G.config.bcm +++ b/device/accton/x86_64-accton_as5835_54t-r0/Accton-AS5835-54T/mv2-as5835t-48x10G+6x100G.config.bcm @@ -527,8 +527,8 @@ phy_chain_tx_polarity_flip_physical{76.0}=0x0 #FC19 -dport_map_port_64=64 -portmap_64=81:10:m -phy_chain_rx_polarity_flip_physical{81.0}=0x1 -phy_chain_tx_polarity_flip_physical{81.0}=0x1 +#dport_map_port_64=64 +#portmap_64=81:10:m +#phy_chain_rx_polarity_flip_physical{81.0}=0x1 +#phy_chain_tx_polarity_flip_physical{81.0}=0x1 diff --git a/device/accton/x86_64-accton_as5835_54t-r0/Accton-AS5835-54T/port_config.ini b/device/accton/x86_64-accton_as5835_54t-r0/Accton-AS5835-54T/port_config.ini index 119fe814fe..ad364e7a0f 100755 --- a/device/accton/x86_64-accton_as5835_54t-r0/Accton-AS5835-54T/port_config.ini +++ b/device/accton/x86_64-accton_as5835_54t-r0/Accton-AS5835-54T/port_config.ini @@ -1,55 +1,55 @@ -# name lanes alias index speed -Ethernet0 2 tenGigE1 1 10000 -Ethernet1 1 tenGigE2 2 10000 -Ethernet2 4 tenGigE3 3 10000 -Ethernet3 3 tenGigE4 4 10000 -Ethernet4 6 tenGigE5 5 10000 -Ethernet5 5 tenGigE6 6 10000 -Ethernet6 8 tenGigE7 7 10000 -Ethernet7 7 tenGigE8 8 10000 -Ethernet8 10 tenGigE9 9 10000 -Ethernet9 9 tenGigE10 10 10000 -Ethernet10 12 tenGigE11 11 10000 -Ethernet11 11 tenGigE12 12 10000 -Ethernet12 14 tenGigE13 13 10000 -Ethernet13 13 tenGigE14 14 10000 -Ethernet14 16 tenGigE15 15 10000 -Ethernet15 15 tenGigE16 16 10000 -Ethernet16 18 tenGigE17 17 10000 -Ethernet17 17 tenGigE18 18 10000 -Ethernet18 20 tenGigE19 19 10000 -Ethernet19 19 tenGigE20 20 10000 -Ethernet20 22 tenGigE21 21 10000 -Ethernet21 21 tenGigE22 22 10000 -Ethernet22 24 tenGigE23 23 10000 -Ethernet23 23 tenGigE24 24 10000 -Ethernet24 54 tenGigE25 25 10000 -Ethernet25 53 tenGigE26 26 10000 -Ethernet26 56 tenGigE27 27 10000 -Ethernet27 55 tenGigE28 28 10000 -Ethernet28 58 tenGigE29 29 10000 -Ethernet29 57 tenGigE30 30 10000 -Ethernet30 60 tenGigE31 31 10000 -Ethernet31 59 tenGigE32 32 10000 -Ethernet32 62 tenGigE33 33 10000 -Ethernet33 61 tenGigE34 34 10000 -Ethernet34 64 tenGigE35 35 10000 -Ethernet35 63 tenGigE36 36 10000 -Ethernet36 66 tenGigE37 37 10000 -Ethernet37 65 tenGigE38 38 10000 -Ethernet38 68 tenGigE39 39 10000 -Ethernet39 67 tenGigE40 40 10000 -Ethernet40 70 tenGigE41 41 10000 -Ethernet41 69 tenGigE42 42 10000 -Ethernet42 72 tenGigE43 43 10000 -Ethernet43 71 tenGigE44 44 10000 -Ethernet44 74 tenGigE45 45 10000 -Ethernet45 73 tenGigE46 46 10000 -Ethernet46 76 tenGigE47 47 10000 -Ethernet47 75 tenGigE48 48 10000 -Ethernet48 37,38,39,40 hundredGigE49 49 100000 -Ethernet52 29,30,31,32 hundredGigE50 53 100000 -Ethernet56 33,34,35,36 hundredGigE51 57 100000 -Ethernet60 49,50,51,52 hundredGigE52 61 100000 -Ethernet64 45,46,47,48 hundredGigE53 65 100000 -Ethernet68 41,42,43,44 hundredGigE54 69 100000 +# name lanes alias index speed +Ethernet0 2 Eth1(Port1) 1 10000 +Ethernet1 1 Eth2(Port2) 2 10000 +Ethernet2 4 Eth3(Port3) 3 10000 +Ethernet3 3 Eth4(Port4) 4 10000 +Ethernet4 6 Eth5(Port5) 5 10000 +Ethernet5 5 Eth6(Port6) 6 10000 +Ethernet6 8 Eth7(Port7) 7 10000 +Ethernet7 7 Eth8(Port8) 8 10000 +Ethernet8 10 Eth9(Port9) 9 10000 +Ethernet9 9 Eth10(Port10) 10 10000 +Ethernet10 12 Eth11(Port11) 11 10000 +Ethernet11 11 Eth12(Port12) 12 10000 +Ethernet12 14 Eth13(Port13) 13 10000 +Ethernet13 13 Eth14(Port14) 14 10000 +Ethernet14 16 Eth15(Port15) 15 10000 +Ethernet15 15 Eth16(Port16) 16 10000 +Ethernet16 18 Eth17(Port17) 17 10000 +Ethernet17 17 Eth18(Port18) 18 10000 +Ethernet18 20 Eth19(Port19) 19 10000 +Ethernet19 19 Eth20(Port20) 20 10000 +Ethernet20 22 Eth21(Port21) 21 10000 +Ethernet21 21 Eth22(Port22) 22 10000 +Ethernet22 24 Eth23(Port23) 23 10000 +Ethernet23 23 Eth24(Port24) 24 10000 +Ethernet24 54 Eth25(Port25) 25 10000 +Ethernet25 53 Eth26(Port26) 26 10000 +Ethernet26 56 Eth27(Port27) 27 10000 +Ethernet27 55 Eth28(Port28) 28 10000 +Ethernet28 58 Eth29(Port29) 29 10000 +Ethernet29 57 Eth30(Port30) 30 10000 +Ethernet30 60 Eth31(Port31) 31 10000 +Ethernet31 59 Eth32(Port32) 32 10000 +Ethernet32 62 Eth33(Port33) 33 10000 +Ethernet33 61 Eth34(Port34) 34 10000 +Ethernet34 64 Eth35(Port35) 35 10000 +Ethernet35 63 Eth36(Port36) 36 10000 +Ethernet36 66 Eth37(Port37) 37 10000 +Ethernet37 65 Eth38(Port38) 38 10000 +Ethernet38 68 Eth39(Port39) 39 10000 +Ethernet39 67 Eth40(Port40) 40 10000 +Ethernet40 70 Eth41(Port41) 41 10000 +Ethernet41 69 Eth42(Port42) 42 10000 +Ethernet42 72 Eth43(Port43) 43 10000 +Ethernet43 71 Eth44(Port44) 44 10000 +Ethernet44 74 Eth45(Port45) 45 10000 +Ethernet45 73 Eth46(Port46) 46 10000 +Ethernet46 76 Eth47(Port47) 47 10000 +Ethernet47 75 Eth48(Port48) 48 10000 +Ethernet48 37,38,39,40 Eth49(Port49) 49 100000 +Ethernet52 29,30,31,32 Eth50(Port50) 50 100000 +Ethernet56 33,34,35,36 Eth51(Port51) 51 100000 +Ethernet60 49,50,51,52 Eth52(Port52) 52 100000 +Ethernet64 45,46,47,48 Eth53(Port53) 53 100000 +Ethernet68 41,42,43,44 Eth54(Port54) 54 100000 diff --git a/device/accton/x86_64-accton_as5835_54t-r0/installer.conf b/device/accton/x86_64-accton_as5835_54t-r0/installer.conf index 925a32fc0c..d5f9419d77 100644 --- a/device/accton/x86_64-accton_as5835_54t-r0/installer.conf +++ b/device/accton/x86_64-accton_as5835_54t-r0/installer.conf @@ -1,3 +1,4 @@ CONSOLE_PORT=0x3f8 CONSOLE_DEV=0 CONSOLE_SPEED=115200 +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="pcie_aspm=off" diff --git a/device/accton/x86_64-accton_as5835_54t-r0/platform.json b/device/accton/x86_64-accton_as5835_54t-r0/platform.json new file mode 100644 index 0000000000..8a0bd71192 --- /dev/null +++ b/device/accton/x86_64-accton_as5835_54t-r0/platform.json @@ -0,0 +1,764 @@ +{ + "chassis": { + "name": "5835-54T", + "components": [ + { + "name": "CPLD1" + }, + { + "name": "CPLD2" + }, + { + "name": "CPLD3" + }, + { + "name": "CPLD4" + }, + { + "name": "CPLD5" + }, + { + "name": "BIOS" + } + ], + "fans": [ + { + "name": "FAN-1F" + }, + { + "name": "FAN-1R" + }, + { + "name": "FAN-2F" + }, + { + "name": "FAN-2R" + }, + { + "name": "FAN-3F" + }, + { + "name": "FAN-3R" + }, + { + "name": "FAN-4F" + }, + { + "name": "FAN-4R" + }, + { + "name": "FAN-5F" + }, + { + "name": "FAN-5R" + } + ], + "fan_drawers":[ + { + "name": "FanTray1", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-1F" + }, + { + "name": "FAN-1R" + } + ] + }, + { + "name": "FanTray2", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-2F" + }, + { + "name": "FAN-2R" + } + ] + }, + { + "name": "FanTray3", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-3F" + }, + { + "name": "FAN-3R" + } + ] + }, + { + "name": "FanTray4", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-4F" + }, + { + "name": "FAN-4R" + } + ] + }, + { + "name": "FanTray5", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-5F" + }, + { + "name": "FAN-5R" + } + ] + } + ], + "psus": [ + { + "name": "PSU-1", + "fans": [ + { + "name": "PSU-1 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-1 temp sensor 1" + } + ] + }, + { + "name": "PSU-2", + "fans": [ + { + "name": "PSU-2 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-2 temp sensor 2" + } + ] + } + ], + "thermals": [ + { + "name": "Temp sensor 1" + }, + { + "name": "Temp sensor 2" + }, + { + "name": "Temp sensor 3" + }, + { + "name": "Temp sensor 4" + } + ], + "sfps": [ + { + "name": "Ethernet0" + }, + { + "name": "Ethernet1" + }, + { + "name": "Ethernet2" + }, + { + "name": "Ethernet3" + }, + { + "name": "Ethernet4" + }, + { + "name": "Ethernet5" + }, + { + "name": "Ethernet6" + }, + { + "name": "Ethernet7" + }, + { + "name": "Ethernet8" + }, + { + "name": "Ethernet9" + }, + { + "name": "Ethernet10" + }, + { + "name": "Ethernet11" + }, + { + "name": "Ethernet12" + }, + { + "name": "Ethernet13" + }, + { + "name": "Ethernet14" + }, + { + "name": "Ethernet15" + }, + { + "name": "Ethernet16" + }, + { + "name": "Ethernet17" + }, + { + "name": "Ethernet18" + }, + { + "name": "Ethernet19" + }, + { + "name": "Ethernet20" + }, + { + "name": "Ethernet21" + }, + { + "name": "Ethernet22" + }, + { + "name": "Ethernet23" + }, + { + "name": "Ethernet24" + }, + { + "name": "Ethernet25" + }, + { + "name": "Ethernet26" + }, + { + "name": "Ethernet27" + }, + { + "name": "Ethernet28" + }, + { + "name": "Ethernet29" + }, + { + "name": "Ethernet30" + }, + { + "name": "Ethernet31" + }, + { + "name": "Ethernet32" + }, + { + "name": "Ethernet33" + }, + { + "name": "Ethernet34" + }, + { + "name": "Ethernet35" + }, + { + "name": "Ethernet36" + }, + { + "name": "Ethernet37" + }, + { + "name": "Ethernet38" + }, + { + "name": "Ethernet39" + }, + { + "name": "Ethernet40" + }, + { + "name": "Ethernet41" + }, + { + "name": "Ethernet42" + }, + { + "name": "Ethernet43" + }, + { + "name": "Ethernet44" + }, + { + "name": "Ethernet45" + }, + { + "name": "Ethernet46" + }, + { + "name": "Ethernet47" + }, + { + "name": "Ethernet48" + }, + { + "name": "Ethernet52" + }, + { + "name": "Ethernet56" + }, + { + "name": "Ethernet60" + }, + { + "name": "Ethernet64" + }, + { + "name": "Ethernet68" + } + ] + }, + "interfaces": { + "Ethernet0": { + "index": "1", + "lanes": "2", + "breakout_modes": { + "1x10G": ["Eth1(Port1)"] + } + }, + + "Ethernet1": { + "index": "2", + "lanes": "1", + "breakout_modes": { + "1x10G": ["Eth2(Port2)"] + } + }, + + "Ethernet2": { + "index": "3", + "lanes": "4", + "breakout_modes": { + "1x10G": ["Eth3(Port3)"] + } + }, + + "Ethernet3": { + "index": "4", + "lanes": "3", + "breakout_modes": { + "1x10G": ["Eth4(Port4)"] + } + }, + + "Ethernet4": { + "index": "5", + "lanes": "6", + "breakout_modes": { + "1x10G": ["Eth5(Port5)"] + } + }, + + "Ethernet5": { + "index": "6", + "lanes": "5", + "breakout_modes": { + "1x10G": ["Eth6(Port6)"] + } + }, + + "Ethernet6": { + "index": "7", + "lanes": "8", + "breakout_modes": { + "1x10G": ["Eth7(Port7)"] + } + }, + + "Ethernet7": { + "index": "8", + "lanes": "7", + "breakout_modes": { + "1x10G": ["Eth8(Port8)"] + } + }, + + "Ethernet8": { + "index": "9", + "lanes": "10", + "breakout_modes": { + "1x10G": ["Eth9(Port9)"] + } + }, + + "Ethernet9": { + "index": "10", + "lanes": "9", + "breakout_modes": { + "1x10G": ["Eth10(Port10)"] + } + }, + + "Ethernet10": { + "index": "11", + "lanes": "12", + "breakout_modes": { + "1x10G": ["Eth11(Port11)"] + } + }, + + "Ethernet11": { + "index": "12", + "lanes": "11", + "breakout_modes": { + "1x10G": ["Eth12(Port12)"] + } + }, + + "Ethernet12": { + "index": "13", + "lanes": "14", + "breakout_modes": { + "1x10G": ["Eth13(Port13)"] + } + }, + + "Ethernet13": { + "index": "14", + "lanes": "13", + "breakout_modes": { + "1x10G": ["Eth14(Port14)"] + } + }, + + "Ethernet14": { + "index": "15", + "lanes": "16", + "breakout_modes": { + "1x10G": ["Eth15(Port15)"] + } + }, + + "Ethernet15": { + "index": "16", + "lanes": "15", + "breakout_modes": { + "1x10G": ["Eth16(Port16)"] + } + }, + + "Ethernet16": { + "index": "17", + "lanes": "18", + "breakout_modes": { + "1x10G": ["Eth17(Port17)"] + } + }, + + "Ethernet17": { + "index": "18", + "lanes": "17", + "breakout_modes": { + "1x10G": ["Eth18(Port18)"] + } + }, + + "Ethernet18": { + "index": "19", + "lanes": "20", + "breakout_modes": { + "1x10G": ["Eth19(Port19)"] + } + }, + + "Ethernet19": { + "index": "20", + "lanes": "19", + "breakout_modes": { + "1x10G": ["Eth20(Port20)"] + } + }, + + "Ethernet20": { + "index": "21", + "lanes": "22", + "breakout_modes": { + "1x10G": ["Eth21(Port21)"] + } + }, + + "Ethernet21": { + "index": "22", + "lanes": "21", + "breakout_modes": { + "1x10G": ["Eth22(Port22)"] + } + }, + + "Ethernet22": { + "index": "23", + "lanes": "24", + "breakout_modes": { + "1x10G": ["Eth23(Port23)"] + } + }, + + "Ethernet23": { + "index": "24", + "lanes": "23", + "breakout_modes": { + "1x10G": ["Eth24(Port24)"] + } + }, + + "Ethernet24": { + "index": "25", + "lanes": "54", + "breakout_modes": { + "1x10G": ["Eth25(Port25)"] + } + }, + + "Ethernet25": { + "index": "26", + "lanes": "53", + "breakout_modes": { + "1x10G": ["Eth26(Port26)"] + } + }, + + "Ethernet26": { + "index": "27", + "lanes": "56", + "breakout_modes": { + "1x10G": ["Eth27(Port27)"] + } + }, + + "Ethernet27": { + "index": "28", + "lanes": "55", + "breakout_modes": { + "1x10G": ["Eth28(Port28)"] + } + }, + + "Ethernet28": { + "index": "29", + "lanes": "58", + "breakout_modes": { + "1x10G": ["Eth29(Port29)"] + } + }, + + "Ethernet29": { + "index": "30", + "lanes": "57", + "breakout_modes": { + "1x10G": ["Eth30(Port30)"] + } + }, + + "Ethernet30": { + "index": "31", + "lanes": "60", + "breakout_modes": { + "1x10G": ["Eth31(Port31)"] + } + }, + + "Ethernet31": { + "index": "32", + "lanes": "59", + "breakout_modes": { + "1x10G": ["Eth32(Port32)"] + } + }, + + "Ethernet32": { + "index": "33", + "lanes": "62", + "breakout_modes": { + "1x10G": ["Eth33(Port33)"] + } + }, + + "Ethernet33": { + "index": "34", + "lanes": "61", + "breakout_modes": { + "1x10G": ["Eth34(Port34)"] + } + }, + + "Ethernet34": { + "index": "35", + "lanes": "64", + "breakout_modes": { + "1x10G": ["Eth35(Port35)"] + } + }, + + "Ethernet35": { + "index": "36", + "lanes": "63", + "breakout_modes": { + "1x10G": ["Eth36(Port36)"] + } + }, + + "Ethernet36": { + "index": "37", + "lanes": "66", + "breakout_modes": { + "1x10G": ["Eth37(Port37)"] + } + }, + + "Ethernet37": { + "index": "38", + "lanes": "65", + "breakout_modes": { + "1x10G": ["Eth38(Port38)"] + } + }, + + "Ethernet38": { + "index": "39", + "lanes": "68", + "breakout_modes": { + "1x10G": ["Eth39(Port39)"] + } + }, + + "Ethernet39": { + "index": "40", + "lanes": "67", + "breakout_modes": { + "1x10G": ["Eth40(Port40)"] + } + }, + + "Ethernet40": { + "index": "41", + "lanes": "70", + "breakout_modes": { + "1x10G": ["Eth41(Port41)"] + } + }, + + "Ethernet41": { + "index": "42", + "lanes": "69", + "breakout_modes": { + "1x10G": ["Eth42(Port42)"] + } + }, + + "Ethernet42": { + "index": "43", + "lanes": "72", + "breakout_modes": { + "1x10G": ["Eth43(Port43)"] + } + }, + + "Ethernet43": { + "index": "44", + "lanes": "71", + "breakout_modes": { + "1x10G": ["Eth44(Port44)"] + } + }, + + "Ethernet44": { + "index": "45", + "lanes": "74", + "breakout_modes": { + "1x10G": ["Eth45(Port45)"] + } + }, + + "Ethernet45": { + "index": "46", + "lanes": "73", + "breakout_modes": { + "1x10G": ["Eth46(Port46)"] + } + }, + + "Ethernet46": { + "index": "47", + "lanes": "76", + "breakout_modes": { + "1x10G": ["Eth47(Port47)"] + } + }, + + "Ethernet47": { + "index": "48", + "lanes": "75", + "breakout_modes": { + "1x10G": ["Eth48(Port48)"] + } + }, + + "Ethernet48": { + "index": "49,49,49,49", + "lanes": "37,38,39,40", + "breakout_modes": { + "1x100G[40G]": ["Eth49(Port49)"], + "2x50G": ["Eth49/1(Port49)", "Eth49/2(Port49)"], + "4x25G": ["Eth49/1(Port49)", "Eth49/2(Port49)", "Eth49/3(Port49)", "Eth49/4(Port49)"], + "4x10G": ["Eth49/1(Port49)", "Eth49/2(Port49)", "Eth49/3(Port49)", "Eth49/4(Port49)"] + } + }, + + "Ethernet52": { + "index": "50,50,50,50", + "lanes": "29,30,31,32", + "breakout_modes": { + "1x100G[40G]": ["Eth50(Port50)"] + } + }, + + "Ethernet56": { + "index": "51,51,51,51", + "lanes": "33,34,35,36", + "breakout_modes": { + "1x100G[40G]": ["Eth51(Port51)"] + } + }, + + "Ethernet60": { + "index": "52,52,52,52", + "lanes": "49,50,51,52", + "breakout_modes": { + "1x100G[40G]": ["Eth52(Port52)"], + "2x50G": ["Eth52/1(Port52)", "Eth52/2(Port52)"], + "4x25G": ["Eth52/1(Port52)", "Eth52/2(Port52)", "Eth52/3(Port52)", "Eth52/4(Port52)"], + "4x10G": ["Eth52/1(Port52)", "Eth52/2(Port52)", "Eth52/3(Port52)", "Eth52/4(Port52)"] + } + }, + + "Ethernet64": { + "index": "53,53,53,53", + "lanes": "45,46,47,48", + "breakout_modes": { + "1x100G[40G]": ["Eth53(Port53)"] + } + }, + + "Ethernet68": { + "index": "54,54,54,54", + "lanes": "41,42,43,44", + "breakout_modes": { + "1x100G[40G]": ["Eth54(Port54)"] + } + } + } +} diff --git a/device/accton/x86_64-accton_as5835_54t-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as5835_54t-r0/plugins/ssd_util.py new file mode 100644 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as5835_54t-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as5835_54x-r0/Accton-AS5835-54X/hwsku.json b/device/accton/x86_64-accton_as5835_54x-r0/Accton-AS5835-54X/hwsku.json new file mode 100644 index 0000000000..910eea614e --- /dev/null +++ b/device/accton/x86_64-accton_as5835_54x-r0/Accton-AS5835-54X/hwsku.json @@ -0,0 +1,219 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet1": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet2": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet3": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet4": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet5": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet6": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet7": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet8": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet9": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet10": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet11": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet12": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet13": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet14": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet15": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet16": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet17": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet18": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet19": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet20": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet21": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet22": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet23": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet24": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet25": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet26": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet27": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet28": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet29": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet30": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet31": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet32": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet33": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet34": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet35": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet36": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet37": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet38": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet39": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet40": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet41": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet42": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet43": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet44": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet45": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet46": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet47": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet48": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet52": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet56": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet60": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet64": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet68": { + "default_brkout_mode": "1x100G[40G]" + } + } +} diff --git a/device/accton/x86_64-accton_as5835_54x-r0/Accton-AS5835-54X/mv2-as5835-48x10G+6x100G.config.bcm b/device/accton/x86_64-accton_as5835_54x-r0/Accton-AS5835-54X/mv2-as5835-48x10G+6x100G.config.bcm index fb40d79491..df0ee2d162 100644 --- a/device/accton/x86_64-accton_as5835_54x-r0/Accton-AS5835-54X/mv2-as5835-48x10G+6x100G.config.bcm +++ b/device/accton/x86_64-accton_as5835_54x-r0/Accton-AS5835-54X/mv2-as5835-48x10G+6x100G.config.bcm @@ -241,6 +241,9 @@ phy_chain_tx_polarity_flip_physical{36.0}=0x0 #FC9 dport_map_port_27=49 +dport_map_port_28=52 +dport_map_port_29=53 +dport_map_port_30=54 portmap_27=37:100:4 phy_chain_rx_lane_map_physical{37.0}=0x2130 phy_chain_rx_lane_map_physical{38.0}=0x2130 diff --git a/device/accton/x86_64-accton_as5835_54x-r0/Accton-AS5835-54X/port_config.ini b/device/accton/x86_64-accton_as5835_54x-r0/Accton-AS5835-54X/port_config.ini index 99de7329aa..77f192083b 100644 --- a/device/accton/x86_64-accton_as5835_54x-r0/Accton-AS5835-54X/port_config.ini +++ b/device/accton/x86_64-accton_as5835_54x-r0/Accton-AS5835-54X/port_config.ini @@ -1,55 +1,55 @@ -# name lanes alias index speed -Ethernet0 1 tenGigE1 1 10000 -Ethernet1 2 tenGigE2 2 10000 -Ethernet2 3 tenGigE3 3 10000 -Ethernet3 4 tenGigE4 4 10000 -Ethernet4 5 tenGigE5 5 10000 -Ethernet5 6 tenGigE6 6 10000 -Ethernet6 7 tenGigE7 7 10000 -Ethernet7 8 tenGigE8 8 10000 -Ethernet8 9 tenGigE9 9 10000 -Ethernet9 10 tenGigE10 10 10000 -Ethernet10 11 tenGigE11 11 10000 -Ethernet11 12 tenGigE12 12 10000 -Ethernet12 13 tenGigE13 13 10000 -Ethernet13 14 tenGigE14 14 10000 -Ethernet14 15 tenGigE15 15 10000 -Ethernet15 16 tenGigE16 16 10000 -Ethernet16 17 tenGigE17 17 10000 -Ethernet17 18 tenGigE18 18 10000 -Ethernet18 19 tenGigE19 19 10000 -Ethernet19 20 tenGigE20 20 10000 -Ethernet20 21 tenGigE21 21 10000 -Ethernet21 22 tenGigE22 22 10000 -Ethernet22 23 tenGigE23 23 10000 -Ethernet23 24 tenGigE24 24 10000 -Ethernet24 53 tenGigE25 25 10000 -Ethernet25 54 tenGigE26 26 10000 -Ethernet26 55 tenGigE27 27 10000 -Ethernet27 56 tenGigE28 28 10000 -Ethernet28 57 tenGigE29 29 10000 -Ethernet29 58 tenGigE30 30 10000 -Ethernet30 59 tenGigE31 31 10000 -Ethernet31 60 tenGigE32 32 10000 -Ethernet32 61 tenGigE33 33 10000 -Ethernet33 62 tenGigE34 34 10000 -Ethernet34 63 tenGigE35 35 10000 -Ethernet35 64 tenGigE36 36 10000 -Ethernet36 65 tenGigE37 37 10000 -Ethernet37 66 tenGigE38 38 10000 -Ethernet38 67 tenGigE39 39 10000 -Ethernet39 68 tenGigE40 40 10000 -Ethernet40 69 tenGigE41 41 10000 -Ethernet41 70 tenGigE42 42 10000 -Ethernet42 71 tenGigE43 43 10000 -Ethernet43 72 tenGigE44 44 10000 -Ethernet44 73 tenGigE45 45 10000 -Ethernet45 74 tenGigE46 46 10000 -Ethernet46 75 tenGigE47 47 10000 -Ethernet47 76 tenGigE48 48 10000 -Ethernet48 37,38,39,40 hundredGigE49 49 100000 -Ethernet52 29,30,31,32 hundredGigE50 50 100000 -Ethernet56 33,34,35,36 hundredGigE51 51 100000 -Ethernet60 49,50,51,52 hundredGigE52 52 100000 -Ethernet64 45,46,47,48 hundredGigE53 53 100000 -Ethernet68 41,42,43,44 hundredGigE54 54 100000 +# name lanes alias index speed +Ethernet0 1 Eth1(Port1) 1 10000 +Ethernet1 2 Eth2(Port2) 2 10000 +Ethernet2 3 Eth3(Port3) 3 10000 +Ethernet3 4 Eth4(Port4) 4 10000 +Ethernet4 5 Eth5(Port5) 5 10000 +Ethernet5 6 Eth6(Port6) 6 10000 +Ethernet6 7 Eth7(Port7) 7 10000 +Ethernet7 8 Eth8(Port8) 8 10000 +Ethernet8 9 Eth9(Port9) 9 10000 +Ethernet9 10 Eth10(Port10) 10 10000 +Ethernet10 11 Eth11(Port11) 11 10000 +Ethernet11 12 Eth12(Port12) 12 10000 +Ethernet12 13 Eth13(Port13) 13 10000 +Ethernet13 14 Eth14(Port14) 14 10000 +Ethernet14 15 Eth15(Port15) 15 10000 +Ethernet15 16 Eth16(Port16) 16 10000 +Ethernet16 17 Eth17(Port17) 17 10000 +Ethernet17 18 Eth18(Port18) 18 10000 +Ethernet18 19 Eth19(Port19) 19 10000 +Ethernet19 20 Eth20(Port20) 20 10000 +Ethernet20 21 Eth21(Port21) 21 10000 +Ethernet21 22 Eth22(Port22) 22 10000 +Ethernet22 23 Eth23(Port23) 23 10000 +Ethernet23 24 Eth24(Port24) 24 10000 +Ethernet24 53 Eth25(Port25) 25 10000 +Ethernet25 54 Eth26(Port26) 26 10000 +Ethernet26 55 Eth27(Port27) 27 10000 +Ethernet27 56 Eth28(Port28) 28 10000 +Ethernet28 57 Eth29(Port29) 29 10000 +Ethernet29 58 Eth30(Port30) 30 10000 +Ethernet30 59 Eth31(Port31) 31 10000 +Ethernet31 60 Eth32(Port32) 32 10000 +Ethernet32 61 Eth33(Port33) 33 10000 +Ethernet33 62 Eth34(Port34) 34 10000 +Ethernet34 63 Eth35(Port35) 35 10000 +Ethernet35 64 Eth36(Port36) 36 10000 +Ethernet36 65 Eth37(Port37) 37 10000 +Ethernet37 66 Eth38(Port38) 38 10000 +Ethernet38 67 Eth39(Port39) 39 10000 +Ethernet39 68 Eth40(Port40) 40 10000 +Ethernet40 69 Eth41(Port41) 41 10000 +Ethernet41 70 Eth42(Port42) 42 10000 +Ethernet42 71 Eth43(Port43) 43 10000 +Ethernet43 72 Eth44(Port44) 44 10000 +Ethernet44 73 Eth45(Port45) 45 10000 +Ethernet45 74 Eth46(Port46) 46 10000 +Ethernet46 75 Eth47(Port47) 47 10000 +Ethernet47 76 Eth48(Port48) 48 10000 +Ethernet48 37,38,39,40 Eth49(Port49) 49 100000 +Ethernet52 29,30,31,32 Eth50(Port50) 50 100000 +Ethernet56 33,34,35,36 Eth51(Port51) 51 100000 +Ethernet60 49,50,51,52 Eth52(Port52) 52 100000 +Ethernet64 45,46,47,48 Eth53(Port53) 53 100000 +Ethernet68 41,42,43,44 Eth54(Port54) 54 100000 diff --git a/device/accton/x86_64-accton_as5835_54x-r0/installer.conf b/device/accton/x86_64-accton_as5835_54x-r0/installer.conf index 735fa7992d..85bb317cc9 100644 --- a/device/accton/x86_64-accton_as5835_54x-r0/installer.conf +++ b/device/accton/x86_64-accton_as5835_54x-r0/installer.conf @@ -1,4 +1,4 @@ CONSOLE_PORT=0x3f8 CONSOLE_DEV=0 CONSOLE_SPEED=115200 -ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="intel_iommu=off modprobe.blacklist=i2c-ismt,i2c_ismt,i2c-i801,i2c_i801" +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="pcie_aspm=off intel_iommu=off modprobe.blacklist=i2c-ismt,i2c_ismt,i2c-i801,i2c_i801" diff --git a/device/accton/x86_64-accton_as5835_54x-r0/platform.json b/device/accton/x86_64-accton_as5835_54x-r0/platform.json new file mode 100644 index 0000000000..5d0a490a7c --- /dev/null +++ b/device/accton/x86_64-accton_as5835_54x-r0/platform.json @@ -0,0 +1,758 @@ +{ + "chassis": { + "name": "5835-54X", + "components": [ + { + "name": "CPLD1" + }, + { + "name": "CPLD2" + }, + { + "name": "CPLD3" + }, + { + "name": "BIOS" + } + ], + "fans": [ + { + "name": "FAN-1F" + }, + { + "name": "FAN-1R" + }, + { + "name": "FAN-2F" + }, + { + "name": "FAN-2R" + }, + { + "name": "FAN-3F" + }, + { + "name": "FAN-3R" + }, + { + "name": "FAN-4F" + }, + { + "name": "FAN-4R" + }, + { + "name": "FAN-5F" + }, + { + "name": "FAN-5R" + } + ], + "fan_drawers":[ + { + "name": "FanTray1", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-1F" + }, + { + "name": "FAN-1R" + } + ] + }, + { + "name": "FanTray2", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-2F" + }, + { + "name": "FAN-2R" + } + ] + }, + { + "name": "FanTray3", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-3F" + }, + { + "name": "FAN-3R" + } + ] + }, + { + "name": "FanTray4", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-4F" + }, + { + "name": "FAN-4R" + } + ] + }, + { + "name": "FanTray5", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-5F" + }, + { + "name": "FAN-5R" + } + ] + } + ], + "psus": [ + { + "name": "PSU-1", + "fans": [ + { + "name": "PSU-1 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-1 temp sensor 1" + } + ] + }, + { + "name": "PSU-2", + "fans": [ + { + "name": "PSU-2 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-2 temp sensor 2" + } + ] + } + ], + "thermals": [ + { + "name": "Temp sensor 1" + }, + { + "name": "Temp sensor 2" + }, + { + "name": "Temp sensor 3" + }, + { + "name": "Temp sensor 4" + } + ], + "sfps": [ + { + "name": "Ethernet0" + }, + { + "name": "Ethernet1" + }, + { + "name": "Ethernet2" + }, + { + "name": "Ethernet3" + }, + { + "name": "Ethernet4" + }, + { + "name": "Ethernet5" + }, + { + "name": "Ethernet6" + }, + { + "name": "Ethernet7" + }, + { + "name": "Ethernet8" + }, + { + "name": "Ethernet9" + }, + { + "name": "Ethernet10" + }, + { + "name": "Ethernet11" + }, + { + "name": "Ethernet12" + }, + { + "name": "Ethernet13" + }, + { + "name": "Ethernet14" + }, + { + "name": "Ethernet15" + }, + { + "name": "Ethernet16" + }, + { + "name": "Ethernet17" + }, + { + "name": "Ethernet18" + }, + { + "name": "Ethernet19" + }, + { + "name": "Ethernet20" + }, + { + "name": "Ethernet21" + }, + { + "name": "Ethernet22" + }, + { + "name": "Ethernet23" + }, + { + "name": "Ethernet24" + }, + { + "name": "Ethernet25" + }, + { + "name": "Ethernet26" + }, + { + "name": "Ethernet27" + }, + { + "name": "Ethernet28" + }, + { + "name": "Ethernet29" + }, + { + "name": "Ethernet30" + }, + { + "name": "Ethernet31" + }, + { + "name": "Ethernet32" + }, + { + "name": "Ethernet33" + }, + { + "name": "Ethernet34" + }, + { + "name": "Ethernet35" + }, + { + "name": "Ethernet36" + }, + { + "name": "Ethernet37" + }, + { + "name": "Ethernet38" + }, + { + "name": "Ethernet39" + }, + { + "name": "Ethernet40" + }, + { + "name": "Ethernet41" + }, + { + "name": "Ethernet42" + }, + { + "name": "Ethernet43" + }, + { + "name": "Ethernet44" + }, + { + "name": "Ethernet45" + }, + { + "name": "Ethernet46" + }, + { + "name": "Ethernet47" + }, + { + "name": "Ethernet48" + }, + { + "name": "Ethernet52" + }, + { + "name": "Ethernet56" + }, + { + "name": "Ethernet60" + }, + { + "name": "Ethernet64" + }, + { + "name": "Ethernet68" + } + ] + }, + "interfaces": { + "Ethernet0": { + "index": "1", + "lanes": "1", + "breakout_modes": { + "1x10G[1G]": ["Eth1(Port1)"] + } + }, + + "Ethernet1": { + "index": "2", + "lanes": "2", + "breakout_modes": { + "1x10G[1G]": ["Eth2(Port2)"] + } + }, + + "Ethernet2": { + "index": "3", + "lanes": "3", + "breakout_modes": { + "1x10G[1G]": ["Eth3(Port3)"] + } + }, + + "Ethernet3": { + "index": "4", + "lanes": "4", + "breakout_modes": { + "1x10G[1G]": ["Eth4(Port4)"] + } + }, + + "Ethernet4": { + "index": "5", + "lanes": "5", + "breakout_modes": { + "1x10G[1G]": ["Eth5(Port5)"] + } + }, + + "Ethernet5": { + "index": "6", + "lanes": "6", + "breakout_modes": { + "1x10G[1G]": ["Eth6(Port6)"] + } + }, + + "Ethernet6": { + "index": "7", + "lanes": "7", + "breakout_modes": { + "1x10G[1G]": ["Eth7(Port7)"] + } + }, + + "Ethernet7": { + "index": "8", + "lanes": "8", + "breakout_modes": { + "1x10G[1G]": ["Eth8(Port8)"] + } + }, + + "Ethernet8": { + "index": "9", + "lanes": "9", + "breakout_modes": { + "1x10G[1G]": ["Eth9(Port9)"] + } + }, + + "Ethernet9": { + "index": "10", + "lanes": "10", + "breakout_modes": { + "1x10G[1G]": ["Eth10(Port10)"] + } + }, + + "Ethernet10": { + "index": "11", + "lanes": "11", + "breakout_modes": { + "1x10G[1G]": ["Eth11(Port11)"] + } + }, + + "Ethernet11": { + "index": "12", + "lanes": "12", + "breakout_modes": { + "1x10G[1G]": ["Eth12(Port12)"] + } + }, + + "Ethernet12": { + "index": "13", + "lanes": "13", + "breakout_modes": { + "1x10G[1G]": ["Eth13(Port13)"] + } + }, + + "Ethernet13": { + "index": "14", + "lanes": "14", + "breakout_modes": { + "1x10G[1G]": ["Eth14(Port14)"] + } + }, + + "Ethernet14": { + "index": "15", + "lanes": "15", + "breakout_modes": { + "1x10G[1G]": ["Eth15(Port15)"] + } + }, + + "Ethernet15": { + "index": "16", + "lanes": "16", + "breakout_modes": { + "1x10G[1G]": ["Eth16(Port16)"] + } + }, + + "Ethernet16": { + "index": "17", + "lanes": "17", + "breakout_modes": { + "1x10G[1G]": ["Eth17(Port17)"] + } + }, + + "Ethernet17": { + "index": "18", + "lanes": "18", + "breakout_modes": { + "1x10G[1G]": ["Eth18(Port18)"] + } + }, + + "Ethernet18": { + "index": "19", + "lanes": "19", + "breakout_modes": { + "1x10G[1G]": ["Eth19(Port19)"] + } + }, + + "Ethernet19": { + "index": "20", + "lanes": "20", + "breakout_modes": { + "1x10G[1G]": ["Eth20(Port20)"] + } + }, + + "Ethernet20": { + "index": "21", + "lanes": "21", + "breakout_modes": { + "1x10G[1G]": ["Eth21(Port21)"] + } + }, + + "Ethernet21": { + "index": "22", + "lanes": "22", + "breakout_modes": { + "1x10G[1G]": ["Eth22(Port22)"] + } + }, + + "Ethernet22": { + "index": "23", + "lanes": "23", + "breakout_modes": { + "1x10G[1G]": ["Eth23(Port23)"] + } + }, + + "Ethernet23": { + "index": "24", + "lanes": "24", + "breakout_modes": { + "1x10G[1G]": ["Eth24(Port24)"] + } + }, + + "Ethernet24": { + "index": "25", + "lanes": "53", + "breakout_modes": { + "1x10G[1G]": ["Eth25(Port25)"] + } + }, + + "Ethernet25": { + "index": "26", + "lanes": "54", + "breakout_modes": { + "1x10G[1G]": ["Eth26(Port26)"] + } + }, + + "Ethernet26": { + "index": "27", + "lanes": "55", + "breakout_modes": { + "1x10G[1G]": ["Eth27(Port27)"] + } + }, + + "Ethernet27": { + "index": "28", + "lanes": "56", + "breakout_modes": { + "1x10G[1G]": ["Eth28(Port28)"] + } + }, + + "Ethernet28": { + "index": "29", + "lanes": "57", + "breakout_modes": { + "1x10G[1G]": ["Eth29(Port29)"] + } + }, + + "Ethernet29": { + "index": "30", + "lanes": "58", + "breakout_modes": { + "1x10G[1G]": ["Eth30(Port30)"] + } + }, + + "Ethernet30": { + "index": "31", + "lanes": "59", + "breakout_modes": { + "1x10G[1G]": ["Eth31(Port31)"] + } + }, + + "Ethernet31": { + "index": "32", + "lanes": "60", + "breakout_modes": { + "1x10G[1G]": ["Eth32(Port32)"] + } + }, + + "Ethernet32": { + "index": "33", + "lanes": "61", + "breakout_modes": { + "1x10G[1G]": ["Eth33(Port33)"] + } + }, + + "Ethernet33": { + "index": "34", + "lanes": "62", + "breakout_modes": { + "1x10G[1G]": ["Eth34(Port34)"] + } + }, + + "Ethernet34": { + "index": "35", + "lanes": "63", + "breakout_modes": { + "1x10G[1G]": ["Eth35(Port35)"] + } + }, + + "Ethernet35": { + "index": "36", + "lanes": "64", + "breakout_modes": { + "1x10G[1G]": ["Eth36(Port36)"] + } + }, + + "Ethernet36": { + "index": "37", + "lanes": "65", + "breakout_modes": { + "1x10G[1G]": ["Eth37(Port37)"] + } + }, + + "Ethernet37": { + "index": "38", + "lanes": "66", + "breakout_modes": { + "1x10G[1G]": ["Eth38(Port38)"] + } + }, + + "Ethernet38": { + "index": "39", + "lanes": "67", + "breakout_modes": { + "1x10G[1G]": ["Eth39(Port39)"] + } + }, + + "Ethernet39": { + "index": "40", + "lanes": "68", + "breakout_modes": { + "1x10G[1G]": ["Eth40(Port40)"] + } + }, + + "Ethernet40": { + "index": "41", + "lanes": "69", + "breakout_modes": { + "1x10G[1G]": ["Eth41(Port41)"] + } + }, + + "Ethernet41": { + "index": "42", + "lanes": "70", + "breakout_modes": { + "1x10G[1G]": ["Eth42(Port42)"] + } + }, + + "Ethernet42": { + "index": "43", + "lanes": "71", + "breakout_modes": { + "1x10G[1G]": ["Eth43(Port43)"] + } + }, + + "Ethernet43": { + "index": "44", + "lanes": "72", + "breakout_modes": { + "1x10G[1G]": ["Eth44(Port44)"] + } + }, + + "Ethernet44": { + "index": "45", + "lanes": "73", + "breakout_modes": { + "1x10G[1G]": ["Eth45(Port45)"] + } + }, + + "Ethernet45": { + "index": "46", + "lanes": "74", + "breakout_modes": { + "1x10G[1G]": ["Eth46(Port46)"] + } + }, + + "Ethernet46": { + "index": "47", + "lanes": "75", + "breakout_modes": { + "1x10G[1G]": ["Eth47(Port47)"] + } + }, + + "Ethernet47": { + "index": "48", + "lanes": "76", + "breakout_modes": { + "1x10G[1G]": ["Eth48(Port48)"] + } + }, + + "Ethernet48": { + "index": "49,49,49,49", + "lanes": "37,38,39,40", + "breakout_modes": { + "1x100G[40G]": ["Eth49(Port49)"], + "2x50G": ["Eth49/1(Port49)", "Eth49/2(Port49)"], + "4x25G": ["Eth49/1(Port49)", "Eth49/2(Port49)", "Eth49/3(Port49)", "Eth49/4(Port49)"], + "4x10G": ["Eth49/1(Port49)", "Eth49/2(Port49)", "Eth49/3(Port49)", "Eth49/4(Port49)"] + } + }, + + "Ethernet52": { + "index": "50,50,50,50", + "lanes": "29,30,31,32", + "breakout_modes": { + "1x100G[40G]": ["Eth50(Port50)"] + } + }, + + "Ethernet56": { + "index": "51,51,51,51", + "lanes": "33,34,35,36", + "breakout_modes": { + "1x100G[40G]": ["Eth51(Port51)"] + } + }, + + "Ethernet60": { + "index": "52,52,52,52", + "lanes": "49,50,51,52", + "breakout_modes": { + "1x100G[40G]": ["Eth52(Port52)"], + "2x50G": ["Eth52/1(Port52)", "Eth52/2(Port52)"], + "4x25G": ["Eth52/1(Port52)", "Eth52/2(Port52)", "Eth52/3(Port52)", "Eth52/4(Port52)"], + "4x10G": ["Eth52/1(Port52)", "Eth52/2(Port52)", "Eth52/3(Port52)", "Eth52/4(Port52)"] + } + }, + + "Ethernet64": { + "index": "53,53,53,53", + "lanes": "45,46,47,48", + "breakout_modes": { + "1x100G[40G]": ["Eth53(Port53)"] + } + }, + + "Ethernet68": { + "index": "54,54,54,54", + "lanes": "41,42,43,44", + "breakout_modes": { + "1x100G[40G]": ["Eth54(Port54)"] + } + } + } +} diff --git a/device/accton/x86_64-accton_as5835_54x-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as5835_54x-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as5835_54x-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as6712_32x-r0/installer.conf b/device/accton/x86_64-accton_as6712_32x-r0/installer.conf index 14404194ef..c6fb53c902 100644 --- a/device/accton/x86_64-accton_as6712_32x-r0/installer.conf +++ b/device/accton/x86_64-accton_as6712_32x-r0/installer.conf @@ -1,3 +1,4 @@ CONSOLE_PORT=0x2f8 CONSOLE_DEV=1 CONSOLE_SPEED=115200 +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="pcie_aspm=off" diff --git a/device/accton/x86_64-accton_as6712_32x-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as6712_32x-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as6712_32x-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as7116_54x-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as7116_54x-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as7116_54x-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as7212_54x-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as7212_54x-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as7212_54x-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as7312_54x-r0/installer.conf b/device/accton/x86_64-accton_as7312_54x-r0/installer.conf index 14404194ef..c6fb53c902 100644 --- a/device/accton/x86_64-accton_as7312_54x-r0/installer.conf +++ b/device/accton/x86_64-accton_as7312_54x-r0/installer.conf @@ -1,3 +1,4 @@ CONSOLE_PORT=0x2f8 CONSOLE_DEV=1 CONSOLE_SPEED=115200 +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="pcie_aspm=off" diff --git a/device/accton/x86_64-accton_as7312_54x-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as7312_54x-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as7312_54x-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as7312_54xs-r0/installer.conf b/device/accton/x86_64-accton_as7312_54xs-r0/installer.conf index 14404194ef..c6fb53c902 100644 --- a/device/accton/x86_64-accton_as7312_54xs-r0/installer.conf +++ b/device/accton/x86_64-accton_as7312_54xs-r0/installer.conf @@ -1,3 +1,4 @@ CONSOLE_PORT=0x2f8 CONSOLE_DEV=1 CONSOLE_SPEED=115200 +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="pcie_aspm=off" diff --git a/device/accton/x86_64-accton_as7315_27xb-r0/installer.conf b/device/accton/x86_64-accton_as7315_27xb-r0/installer.conf index f7358371b5..7a713c2afa 100644 --- a/device/accton/x86_64-accton_as7315_27xb-r0/installer.conf +++ b/device/accton/x86_64-accton_as7315_27xb-r0/installer.conf @@ -1,2 +1,2 @@ CONSOLE_SPEED=115200 -ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="tg3.short_preamble=1 tg3.bcm5718s_reset=1 intel_iommu=off modprobe.blacklist=i2c-ismt,i2c_ismt,i2c-i801,i2c_i801" +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="tg3.short_preamble=1 tg3.bcm5718s_reset=1 pcie_aspm=off intel_iommu=off modprobe.blacklist=i2c-ismt,i2c_ismt,i2c-i801,i2c_i801" diff --git a/device/accton/x86_64-accton_as7315_27xb-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as7315_27xb-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as7315_27xb-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as7326_56x-r0/Accton-AS7326-56X/hwsku.json b/device/accton/x86_64-accton_as7326_56x-r0/Accton-AS7326-56X/hwsku.json new file mode 100644 index 0000000000..839db8e8aa --- /dev/null +++ b/device/accton/x86_64-accton_as7326_56x-r0/Accton-AS7326-56X/hwsku.json @@ -0,0 +1,227 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet1": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet2": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet3": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet4": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet5": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet6": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet7": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet8": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet9": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet10": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet11": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet12": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet13": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet14": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet15": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet16": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet17": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet18": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet19": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet20": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet21": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet22": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet23": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet24": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet25": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet26": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet27": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet28": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet29": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet30": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet31": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet32": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet33": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet34": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet35": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet36": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet37": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet38": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet39": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet40": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet41": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet42": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet43": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet44": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet45": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet46": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet47": { + "default_brkout_mode": "1x25G" + }, + + "Ethernet48": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet52": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet56": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet60": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet64": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet68": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet72": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet76": { + "default_brkout_mode": "1x100G[40G]" + } + } +} diff --git a/device/accton/x86_64-accton_as7326_56x-r0/Accton-AS7326-56X/port_config.ini b/device/accton/x86_64-accton_as7326_56x-r0/Accton-AS7326-56X/port_config.ini index 10c55c5aee..24a9549179 100755 --- a/device/accton/x86_64-accton_as7326_56x-r0/Accton-AS7326-56X/port_config.ini +++ b/device/accton/x86_64-accton_as7326_56x-r0/Accton-AS7326-56X/port_config.ini @@ -1,57 +1,57 @@ # name lanes alias index speed -Ethernet0 3 twentyfiveGigE1 1 25000 -Ethernet1 2 twentyfiveGigE2 2 25000 -Ethernet2 4 twentyfiveGigE3 3 25000 -Ethernet3 8 twentyfiveGigE4 4 25000 -Ethernet4 7 twentyfiveGigE5 5 25000 -Ethernet5 1 twentyfiveGigE6 6 25000 -Ethernet6 5 twentyfiveGigE7 7 25000 -Ethernet7 16 twentyfiveGigE8 8 25000 -Ethernet8 6 twentyfiveGigE9 9 25000 -Ethernet9 14 twentyfiveGigE10 10 25000 -Ethernet10 13 twentyfiveGigE11 11 25000 -Ethernet11 15 twentyfiveGigE12 12 25000 -Ethernet12 23 twentyfiveGigE13 13 25000 -Ethernet13 22 twentyfiveGigE14 14 25000 -Ethernet14 24 twentyfiveGigE15 15 25000 -Ethernet15 32 twentyfiveGigE16 16 25000 -Ethernet16 31 twentyfiveGigE17 17 25000 -Ethernet17 21 twentyfiveGigE18 18 25000 -Ethernet18 29 twentyfiveGigE19 19 25000 -Ethernet19 36 twentyfiveGigE20 20 25000 -Ethernet20 30 twentyfiveGigE21 21 25000 -Ethernet21 34 twentyfiveGigE22 22 25000 -Ethernet22 33 twentyfiveGigE23 23 25000 -Ethernet23 35 twentyfiveGigE24 24 25000 -Ethernet24 43 twentyfiveGigE25 25 25000 -Ethernet25 42 twentyfiveGigE26 26 25000 -Ethernet26 44 twentyfiveGigE27 27 25000 -Ethernet27 52 twentyfiveGigE28 28 25000 -Ethernet28 51 twentyfiveGigE29 29 25000 -Ethernet29 41 twentyfiveGigE30 30 25000 -Ethernet30 49 twentyfiveGigE31 31 25000 -Ethernet31 60 twentyfiveGigE32 32 25000 -Ethernet32 50 twentyfiveGigE33 33 25000 -Ethernet33 58 twentyfiveGigE34 34 25000 -Ethernet34 57 twentyfiveGigE35 35 25000 -Ethernet35 59 twentyfiveGigE36 36 25000 -Ethernet36 62 twentyfiveGigE37 37 25000 -Ethernet37 63 twentyfiveGigE38 38 25000 -Ethernet38 64 twentyfiveGigE39 39 25000 -Ethernet39 65 twentyfiveGigE40 40 25000 -Ethernet40 66 twentyfiveGigE41 41 25000 -Ethernet41 61 twentyfiveGigE42 42 25000 -Ethernet42 68 twentyfiveGigE43 43 25000 -Ethernet43 69 twentyfiveGigE44 44 25000 -Ethernet44 67 twentyfiveGigE45 45 25000 -Ethernet45 71 twentyfiveGigE46 46 25000 -Ethernet46 72 twentyfiveGigE47 47 25000 -Ethernet47 70 twentyfiveGigE48 48 25000 -Ethernet48 77,78,79,80 hundredGigE49 49 100000 -Ethernet52 85,86,87,88 hundredGigE50 50 100000 -Ethernet56 93,94,95,96 hundredGigE51 51 100000 -Ethernet60 97,98,99,100 hundredGigE52 52 100000 -Ethernet64 105,106,107,108 hundredGigE53 53 100000 -Ethernet68 113,114,115,116 hundredGigE54 54 100000 -Ethernet72 121,122,123,124 hundredGigE55 55 100000 -Ethernet76 125,126,127,128 hundredGigE56 56 100000 +Ethernet0 3 Eth1(Port1) 1 25000 +Ethernet1 2 Eth2(Port2) 2 25000 +Ethernet2 4 Eth3(Port3) 3 25000 +Ethernet3 8 Eth4(Port4) 4 25000 +Ethernet4 7 Eth5(Port5) 5 25000 +Ethernet5 1 Eth6(Port6) 6 25000 +Ethernet6 5 Eth7(Port7) 7 25000 +Ethernet7 16 Eth8(Port8) 8 25000 +Ethernet8 6 Eth9(Port9) 9 25000 +Ethernet9 14 Eth10(Port10) 10 25000 +Ethernet10 13 Eth11(Port11) 11 25000 +Ethernet11 15 Eth12(Port12) 12 25000 +Ethernet12 23 Eth13(Port13) 13 25000 +Ethernet13 22 Eth14(Port14) 14 25000 +Ethernet14 24 Eth15(Port15) 15 25000 +Ethernet15 32 Eth16(Port16) 16 25000 +Ethernet16 31 Eth17(Port17) 17 25000 +Ethernet17 21 Eth18(Port18) 18 25000 +Ethernet18 29 Eth19(Port19) 19 25000 +Ethernet19 36 Eth20(Port20) 20 25000 +Ethernet20 30 Eth21(Port21) 21 25000 +Ethernet21 34 Eth22(Port22) 22 25000 +Ethernet22 33 Eth23(Port23) 23 25000 +Ethernet23 35 Eth24(Port24) 24 25000 +Ethernet24 43 Eth25(Port25) 25 25000 +Ethernet25 42 Eth26(Port26) 26 25000 +Ethernet26 44 Eth27(Port27) 27 25000 +Ethernet27 52 Eth28(Port28) 28 25000 +Ethernet28 51 Eth29(Port29) 29 25000 +Ethernet29 41 Eth30(Port30) 30 25000 +Ethernet30 49 Eth31(Port31) 31 25000 +Ethernet31 60 Eth32(Port32) 32 25000 +Ethernet32 50 Eth33(Port33) 33 25000 +Ethernet33 58 Eth34(Port34) 34 25000 +Ethernet34 57 Eth35(Port35) 35 25000 +Ethernet35 59 Eth36(Port36) 36 25000 +Ethernet36 62 Eth37(Port37) 37 25000 +Ethernet37 63 Eth38(Port38) 38 25000 +Ethernet38 64 Eth39(Port39) 39 25000 +Ethernet39 65 Eth40(Port40) 40 25000 +Ethernet40 66 Eth41(Port41) 41 25000 +Ethernet41 61 Eth42(Port42) 42 25000 +Ethernet42 68 Eth43(Port43) 43 25000 +Ethernet43 69 Eth44(Port44) 44 25000 +Ethernet44 67 Eth45(Port45) 45 25000 +Ethernet45 71 Eth46(Port46) 46 25000 +Ethernet46 72 Eth47(Port47) 47 25000 +Ethernet47 70 Eth48(Port48) 48 25000 +Ethernet48 77,78,79,80 Eth49(Port49) 49 100000 +Ethernet52 85,86,87,88 Eth50(Port50) 50 100000 +Ethernet56 93,94,95,96 Eth51(Port51) 51 100000 +Ethernet60 97,98,99,100 Eth52(Port52) 52 100000 +Ethernet64 105,106,107,108 Eth53(Port53) 53 100000 +Ethernet68 113,114,115,116 Eth54(Port54) 54 100000 +Ethernet72 121,122,123,124 Eth55(Port55) 55 100000 +Ethernet76 125,126,127,128 Eth56(Port56) 56 100000 diff --git a/device/accton/x86_64-accton_as7326_56x-r0/platform.json b/device/accton/x86_64-accton_as7326_56x-r0/platform.json new file mode 100644 index 0000000000..3b32cfdb26 --- /dev/null +++ b/device/accton/x86_64-accton_as7326_56x-r0/platform.json @@ -0,0 +1,816 @@ +{ + "chassis": { + "name": "7326-56X", + "components": [ + { + "name": "CPLD-1" + }, + { + "name": "CPLD-2" + }, + { + "name": "CPLD-3" + }, + { + "name": "BIOS" + } + ], + "fans": [ + { + "name": "FAN-1F" + }, + { + "name": "FAN-1R" + }, + { + "name": "FAN-2F" + }, + { + "name": "FAN-2R" + }, + { + "name": "FAN-3F" + }, + { + "name": "FAN-3R" + }, + { + "name": "FAN-4F" + }, + { + "name": "FAN-4R" + }, + { + "name": "FAN-5F" + }, + { + "name": "FAN-5R" + }, + { + "name": "FAN-6F" + }, + { + "name": "FAN-6R" + } + ], + "fan_drawers":[ + { + "name": "FanTray1", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-1F" + }, + { + "name": "FAN-1R" + } + ] + }, + { + "name": "FanTray2", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-2F" + }, + { + "name": "FAN-2R" + } + ] + }, + { + "name": "FanTray3", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-3F" + }, + { + "name": "FAN-3R" + } + ] + }, + { + "name": "FanTray4", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-4F" + }, + { + "name": "FAN-4R" + } + ] + }, + { + "name": "FanTray5", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-5F" + }, + { + "name": "FAN-5R" + } + ] + }, + { + "name": "FanTray6", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-6F" + }, + { + "name": "FAN-6R" + } + ] + } + ], + "psus": [ + { + "name": "PSU-1", + "fans": [ + { + "name": "PSU-1 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-1 temp sensor 1" + } + ] + }, + { + "name": "PSU-2", + "fans": [ + { + "name": "PSU-2 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-2 temp sensor 1" + } + ] + } + ], + "thermals": [ + { + "name": "Temp sensor 1" + }, + { + "name": "Temp sensor 2" + }, + { + "name": "Temp sensor 3" + }, + { + "name": "Temp sensor 4" + } + ], + "sfps": [ + { + "name": "Ethernet0" + }, + { + "name": "Ethernet1" + }, + { + "name": "Ethernet2" + }, + { + "name": "Ethernet3" + }, + { + "name": "Ethernet4" + }, + { + "name": "Ethernet5" + }, + { + "name": "Ethernet6" + }, + { + "name": "Ethernet7" + }, + { + "name": "Ethernet8" + }, + { + "name": "Ethernet9" + }, + { + "name": "Ethernet10" + }, + { + "name": "Ethernet11" + }, + { + "name": "Ethernet12" + }, + { + "name": "Ethernet13" + }, + { + "name": "Ethernet14" + }, + { + "name": "Ethernet15" + }, + { + "name": "Ethernet16" + }, + { + "name": "Ethernet17" + }, + { + "name": "Ethernet18" + }, + { + "name": "Ethernet19" + }, + { + "name": "Ethernet20" + }, + { + "name": "Ethernet21" + }, + { + "name": "Ethernet22" + }, + { + "name": "Ethernet23" + }, + { + "name": "Ethernet24" + }, + { + "name": "Ethernet25" + }, + { + "name": "Ethernet26" + }, + { + "name": "Ethernet27" + }, + { + "name": "Ethernet28" + }, + { + "name": "Ethernet29" + }, + { + "name": "Ethernet30" + }, + { + "name": "Ethernet31" + }, + { + "name": "Ethernet32" + }, + { + "name": "Ethernet33" + }, + { + "name": "Ethernet34" + }, + { + "name": "Ethernet35" + }, + { + "name": "Ethernet36" + }, + { + "name": "Ethernet37" + }, + { + "name": "Ethernet38" + }, + { + "name": "Ethernet39" + }, + { + "name": "Ethernet40" + }, + { + "name": "Ethernet41" + }, + { + "name": "Ethernet42" + }, + { + "name": "Ethernet43" + }, + { + "name": "Ethernet44" + }, + { + "name": "Ethernet45" + }, + { + "name": "Ethernet46" + }, + { + "name": "Ethernet47" + }, + { + "name": "Ethernet48" + }, + { + "name": "Ethernet52" + }, + { + "name": "Ethernet56" + }, + { + "name": "Ethernet60" + }, + { + "name": "Ethernet64" + }, + { + "name": "Ethernet68" + }, + { + "name": "Ethernet72" + }, + { + "name": "Ethernet76" + } + ] + }, + "interfaces": { + "Ethernet0": { + "index": "1", + "lanes": "3", + "breakout_modes": { + "1x25G": ["Eth1(Port1)"] + } + }, + + "Ethernet1": { + "index": "2", + "lanes": "2", + "breakout_modes": { + "1x25G": ["Eth2(Port2)"] + } + }, + + "Ethernet2": { + "index": "3", + "lanes": "4", + "breakout_modes": { + "1x25G": ["Eth3(Port3)"] + } + }, + + "Ethernet3": { + "index": "4", + "lanes": "8", + "breakout_modes": { + "1x25G": ["Eth4(Port4)"] + } + }, + + "Ethernet4": { + "index": "5", + "lanes": "7", + "breakout_modes": { + "1x25G": ["Eth5(Port5)"] + } + }, + + "Ethernet5": { + "index": "6", + "lanes": "1", + "breakout_modes": { + "1x25G": ["Eth6(Port6)"] + } + }, + + "Ethernet6": { + "index": "7", + "lanes": "5", + "breakout_modes": { + "1x25G": ["Eth7(Port7)"] + } + }, + + "Ethernet7": { + "index": "8", + "lanes": "16", + "breakout_modes": { + "1x25G": ["Eth8(Port8)"] + } + }, + + "Ethernet8": { + "index": "9", + "lanes": "6", + "breakout_modes": { + "1x25G": ["Eth9(Port9)"] + } + }, + + "Ethernet9": { + "index": "10", + "lanes": "14", + "breakout_modes": { + "1x25G": ["Eth10(Port10)"] + } + }, + + "Ethernet10": { + "index": "11", + "lanes": "13", + "breakout_modes": { + "1x25G": ["Eth11(Port11)"] + } + }, + + "Ethernet11": { + "index": "12", + "lanes": "15", + "breakout_modes": { + "1x25G": ["Eth12(Port12)"] + } + }, + + "Ethernet12": { + "index": "13", + "lanes": "23", + "breakout_modes": { + "1x25G": ["Eth13(Port13)"] + } + }, + + "Ethernet13": { + "index": "14", + "lanes": "22", + "breakout_modes": { + "1x25G": ["Eth14(Port14)"] + } + }, + + "Ethernet14": { + "index": "15", + "lanes": "24", + "breakout_modes": { + "1x25G": ["Eth15(Port15)"] + } + }, + + "Ethernet15": { + "index": "16", + "lanes": "32", + "breakout_modes": { + "1x25G": ["Eth16(Port16)"] + } + }, + + "Ethernet16": { + "index": "17", + "lanes": "31", + "breakout_modes": { + "1x25G": ["Eth17(Port17)"] + } + }, + + "Ethernet17": { + "index": "18", + "lanes": "21", + "breakout_modes": { + "1x25G": ["Eth18(Port18)"] + } + }, + + "Ethernet18": { + "index": "19", + "lanes": "29", + "breakout_modes": { + "1x25G": ["Eth19(Port19)"] + } + }, + + "Ethernet19": { + "index": "20", + "lanes": "36", + "breakout_modes": { + "1x25G": ["Eth20(Port20)"] + } + }, + + "Ethernet20": { + "index": "21", + "lanes": "30", + "breakout_modes": { + "1x25G": ["Eth21(Port21)"] + } + }, + + "Ethernet21": { + "index": "22", + "lanes": "34", + "breakout_modes": { + "1x25G": ["Eth22(Port22)"] + } + }, + + "Ethernet22": { + "index": "23", + "lanes": "33", + "breakout_modes": { + "1x25G": ["Eth23(Port23)"] + } + }, + + "Ethernet23": { + "index": "24", + "lanes": "35", + "breakout_modes": { + "1x25G": ["Eth24(Port24)"] + } + }, + + "Ethernet24": { + "index": "25", + "lanes": "43", + "breakout_modes": { + "1x25G": ["Eth25(Port25)"] + } + }, + + "Ethernet25": { + "index": "26", + "lanes": "42", + "breakout_modes": { + "1x25G": ["Eth26(Port26)"] + } + }, + + "Ethernet26": { + "index": "27", + "lanes": "44", + "breakout_modes": { + "1x25G": ["Eth27(Port27)"] + } + }, + + "Ethernet27": { + "index": "28", + "lanes": "52", + "breakout_modes": { + "1x25G": ["Eth28(Port28)"] + } + }, + + "Ethernet28": { + "index": "29", + "lanes": "51", + "breakout_modes": { + "1x25G": ["Eth29(Port29)"] + } + }, + + "Ethernet29": { + "index": "30", + "lanes": "41", + "breakout_modes": { + "1x25G": ["Eth30(Port30)"] + } + }, + + "Ethernet30": { + "index": "31", + "lanes": "49", + "breakout_modes": { + "1x25G": ["Eth31(Port31)"] + } + }, + + "Ethernet31": { + "index": "32", + "lanes": "60", + "breakout_modes": { + "1x25G": ["Eth32(Port32)"] + } + }, + + "Ethernet32": { + "index": "33", + "lanes": "50", + "breakout_modes": { + "1x25G": ["Eth33(Port33)"] + } + }, + + "Ethernet33": { + "index": "34", + "lanes": "58", + "breakout_modes": { + "1x25G": ["Eth34(Port34)"] + } + }, + + "Ethernet34": { + "index": "35", + "lanes": "57", + "breakout_modes": { + "1x25G": ["Eth35(Port35)"] + } + }, + + "Ethernet35": { + "index": "36", + "lanes": "59", + "breakout_modes": { + "1x25G": ["Eth36(Port36)"] + } + }, + + "Ethernet36": { + "index": "37", + "lanes": "62", + "breakout_modes": { + "1x25G": ["Eth37(Port37)"] + } + }, + + "Ethernet37": { + "index": "38", + "lanes": "63", + "breakout_modes": { + "1x25G": ["Eth38(Port38)"] + } + }, + + "Ethernet38": { + "index": "39", + "lanes": "64", + "breakout_modes": { + "1x25G": ["Eth39(Port39)"] + } + }, + + "Ethernet39": { + "index": "40", + "lanes": "65", + "breakout_modes": { + "1x25G": ["Eth40(Port40)"] + } + }, + + "Ethernet40": { + "index": "41", + "lanes": "66", + "breakout_modes": { + "1x25G": ["Eth41(Port41)"] + } + }, + + "Ethernet41": { + "index": "42", + "lanes": "61", + "breakout_modes": { + "1x25G": ["Eth42(Port42)"] + } + }, + + "Ethernet42": { + "index": "43", + "lanes": "68", + "breakout_modes": { + "1x25G": ["Eth43(Port43)"] + } + }, + + "Ethernet43": { + "index": "44", + "lanes": "69", + "breakout_modes": { + "1x25G": ["Eth44(Port44)"] + } + }, + + "Ethernet44": { + "index": "45", + "lanes": "67", + "breakout_modes": { + "1x25G": ["Eth45(Port45)"] + } + }, + + "Ethernet45": { + "index": "46", + "lanes": "71", + "breakout_modes": { + "1x25G": ["Eth46(Port46)"] + } + }, + + "Ethernet46": { + "index": "47", + "lanes": "72", + "breakout_modes": { + "1x25G": ["Eth47(Port47)"] + } + }, + + "Ethernet47": { + "index": "48", + "lanes": "70", + "breakout_modes": { + "1x25G": ["Eth48(Port48)"] + } + }, + + "Ethernet48": { + "index": "49,49,49,49", + "lanes": "77,78,79,80", + "breakout_modes": { + "1x100G[40G]": ["Eth49(Port49)"], + "2x50G": ["Eth49/1(Port49)", "Eth49/2(Port49)"], + "4x25G": ["Eth49/1(Port49)", "Eth49/2(Port49)", "Eth49/3(Port49)", "Eth49/4(Port49)"], + "4x10G": ["Eth49/1(Port49)", "Eth49/2(Port49)", "Eth49/3(Port49)", "Eth49/4(Port49)"] + } + }, + + "Ethernet52": { + "index": "50,50,50,50", + "lanes": "85,86,87,88", + "breakout_modes": { + "1x100G[40G]": ["Eth50(Port50)"], + "2x50G": ["Eth50/1(Port50)", "Eth50/2(Port50)"], + "4x25G": ["Eth50/1(Port50)", "Eth50/2(Port50)", "Eth50/3(Port50)", "Eth50/4(Port50)"], + "4x10G": ["Eth50/1(Port50)", "Eth50/2(Port50)", "Eth50/3(Port50)", "Eth50/4(Port50)"] + } + }, + + "Ethernet56": { + "index": "51,51,51,51", + "lanes": "93,94,95,96", + "breakout_modes": { + "1x100G[40G]": ["Eth51(Port51)"], + "2x50G": ["Eth51/1(Port51)", "Eth51/2(Port51)"], + "4x25G": ["Eth51/1(Port51)", "Eth51/2(Port51)", "Eth51/3(Port51)", "Eth51/4(Port51)"], + "4x10G": ["Eth51/1(Port51)", "Eth51/2(Port51)", "Eth51/3(Port51)", "Eth51/4(Port51)"] + } + }, + + "Ethernet60": { + "index": "52,52,52,52", + "lanes": "97,98,99,100", + "breakout_modes": { + "1x100G[40G]": ["Eth52(Port52)"], + "2x50G": ["Eth52/1(Port52)", "Eth52/2(Port52)"], + "4x25G": ["Eth52/1(Port52)", "Eth52/2(Port52)", "Eth52/3(Port52)", "Eth52/4(Port52)"], + "4x10G": ["Eth52/1(Port52)", "Eth52/2(Port52)", "Eth52/3(Port52)", "Eth52/4(Port52)"] + } + }, + + "Ethernet64": { + "index": "53,53,53,53", + "lanes": "105,106,107,108", + "breakout_modes": { + "1x100G[40G]": ["Eth53(Port53)"], + "2x50G": ["Eth53/1(Port53)", "Eth53/2(Port53)"], + "4x25G": ["Eth53/1(Port53)", "Eth53/2(Port53)", "Eth53/3(Port53)", "Eth53/4(Port53)"], + "4x10G": ["Eth53/1(Port53)", "Eth53/2(Port53)", "Eth53/3(Port53)", "Eth53/4(Port53)"] + } + }, + + "Ethernet68": { + "index": "54,54,54,54", + "lanes": "113,114,115,116", + "breakout_modes": { + "1x100G[40G]": ["Eth54(Port54)"], + "2x50G": ["Eth54/1(Port54)", "Eth54/2(Port54)"], + "4x25G": ["Eth54/1(Port54)", "Eth54/2(Port54)", "Eth54/3(Port54)", "Eth54/4(Port54)"], + "4x10G": ["Eth54/1(Port54)", "Eth54/2(Port54)", "Eth54/3(Port54)", "Eth54/4(Port54)"] + } + }, + + "Ethernet72": { + "index": "55,55,55,55", + "lanes": "121,122,123,124", + "breakout_modes": { + "1x100G[40G]": ["Eth55(Port55)"], + "2x50G": ["Eth55/1(Port55)", "Eth55/2(Port55)"], + "4x25G": ["Eth55/1(Port55)", "Eth55/2(Port55)", "Eth55/3(Port55)", "Eth55/4(Port55)"], + "4x10G": ["Eth55/1(Port55)", "Eth55/2(Port55)", "Eth55/3(Port55)", "Eth55/4(Port55)"] + } + }, + + "Ethernet76": { + "index": "56,56,56,56", + "lanes": "125,126,127,128", + "breakout_modes": { + "1x100G[40G]": ["Eth56(Port56)"], + "2x50G": ["Eth56/1(Port56)", "Eth56/2(Port56)"], + "4x25G": ["Eth56/1(Port56)", "Eth56/2(Port56)", "Eth56/3(Port56)", "Eth56/4(Port56)"], + "4x10G": ["Eth56/1(Port56)", "Eth56/2(Port56)", "Eth56/3(Port56)", "Eth56/4(Port56)"] + } + } + } +} diff --git a/device/accton/x86_64-accton_as7326_56x-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as7326_56x-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as7326_56x-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as7512_32x-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as7512_32x-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as7512_32x-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as7712_32x-r0/Accton-AS7712-32X/hwsku.json b/device/accton/x86_64-accton_as7712_32x-r0/Accton-AS7712-32X/hwsku.json new file mode 100644 index 0000000000..5a86530164 --- /dev/null +++ b/device/accton/x86_64-accton_as7712_32x-r0/Accton-AS7712-32X/hwsku.json @@ -0,0 +1,132 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet4": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet8": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet12": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet16": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet20": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet24": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet28": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet32": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet36": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet40": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet44": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet48": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet52": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet56": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet60": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet64": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet68": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet72": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet76": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet80": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet84": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet88": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet92": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet96": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet100": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet104": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet108": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet112": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet116": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet120": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet124": { + "default_brkout_mode": "1x100G[40G]" + } + } +} + diff --git a/device/accton/x86_64-accton_as7712_32x-r0/Accton-AS7712-32X/port_config.ini b/device/accton/x86_64-accton_as7712_32x-r0/Accton-AS7712-32X/port_config.ini index e101ec29d4..e812dd56c1 100644 --- a/device/accton/x86_64-accton_as7712_32x-r0/Accton-AS7712-32X/port_config.ini +++ b/device/accton/x86_64-accton_as7712_32x-r0/Accton-AS7712-32X/port_config.ini @@ -1,33 +1,33 @@ # name lanes alias index speed -Ethernet0 49,50,51,52 hundredGigE1 1 100000 -Ethernet4 53,54,55,56 hundredGigE2 2 100000 -Ethernet8 57,58,59,60 hundredGigE3 3 100000 -Ethernet12 61,62,63,64 hundredGigE4 4 100000 -Ethernet16 65,66,67,68 hundredGigE5 5 100000 -Ethernet20 69,70,71,72 hundredGigE6 6 100000 -Ethernet24 73,74,75,76 hundredGigE7 7 100000 -Ethernet28 77,78,79,80 hundredGigE8 8 100000 -Ethernet32 33,34,35,36 hundredGigE9 9 100000 -Ethernet36 37,38,39,40 hundredGigE10 10 100000 -Ethernet40 41,42,43,44 hundredGigE11 11 100000 -Ethernet44 45,46,47,48 hundredGigE12 12 100000 -Ethernet48 81,82,83,84 hundredGigE13 13 100000 -Ethernet52 85,86,87,88 hundredGigE14 14 100000 -Ethernet56 89,90,91,92 hundredGigE15 15 100000 -Ethernet60 93,94,95,96 hundredGigE16 16 100000 -Ethernet64 97,98,99,100 hundredGigE17 17 100000 -Ethernet68 101,102,103,104 hundredGigE18 18 100000 -Ethernet72 105,106,107,108 hundredGigE19 19 100000 -Ethernet76 109,110,111,112 hundredGigE20 20 100000 -Ethernet80 17,18,19,20 hundredGigE21 21 100000 -Ethernet84 21,22,23,24 hundredGigE22 22 100000 -Ethernet88 25,26,27,28 hundredGigE23 23 100000 -Ethernet92 29,30,31,32 hundredGigE24 24 100000 -Ethernet96 113,114,115,116 hundredGigE25 25 100000 -Ethernet100 117,118,119,120 hundredGigE26 26 100000 -Ethernet104 121,122,123,124 hundredGigE27 27 100000 -Ethernet108 125,126,127,128 hundredGigE28 28 100000 -Ethernet112 1,2,3,4 hundredGigE29 29 100000 -Ethernet116 5,6,7,8 hundredGigE30 30 100000 -Ethernet120 9,10,11,12 hundredGigE31 31 100000 -Ethernet124 13,14,15,16 hundredGigE32 32 100000 +Ethernet0 49,50,51,52 Eth1(Port1) 1 100000 +Ethernet4 53,54,55,56 Eth2(Port2) 2 100000 +Ethernet8 57,58,59,60 Eth3(Port3) 3 100000 +Ethernet12 61,62,63,64 Eth4(Port4) 4 100000 +Ethernet16 65,66,67,68 Eth5(Port5) 5 100000 +Ethernet20 69,70,71,72 Eth6(Port6) 6 100000 +Ethernet24 73,74,75,76 Eth7(Port7) 7 100000 +Ethernet28 77,78,79,80 Eth8(Port8) 8 100000 +Ethernet32 33,34,35,36 Eth9(Port9) 9 100000 +Ethernet36 37,38,39,40 Eth10(Port10) 10 100000 +Ethernet40 41,42,43,44 Eth11(Port11) 11 100000 +Ethernet44 45,46,47,48 Eth12(Port12) 12 100000 +Ethernet48 81,82,83,84 Eth13(Port13) 13 100000 +Ethernet52 85,86,87,88 Eth14(Port14) 14 100000 +Ethernet56 89,90,91,92 Eth15(Port15) 15 100000 +Ethernet60 93,94,95,96 Eth16(Port16) 16 100000 +Ethernet64 97,98,99,100 Eth17(Port17) 17 100000 +Ethernet68 101,102,103,104 Eth18(Port18) 18 100000 +Ethernet72 105,106,107,108 Eth19(Port19) 19 100000 +Ethernet76 109,110,111,112 Eth20(Port20) 20 100000 +Ethernet80 17,18,19,20 Eth21(Port21) 21 100000 +Ethernet84 21,22,23,24 Eth22(Port22) 22 100000 +Ethernet88 25,26,27,28 Eth23(Port23) 23 100000 +Ethernet92 29,30,31,32 Eth24(Port24) 24 100000 +Ethernet96 113,114,115,116 Eth25(Port25) 25 100000 +Ethernet100 117,118,119,120 Eth26(Port26) 26 100000 +Ethernet104 121,122,123,124 Eth27(Port27) 27 100000 +Ethernet108 125,126,127,128 Eth28(Port28) 28 100000 +Ethernet112 1,2,3,4 Eth29(Port29) 29 100000 +Ethernet116 5,6,7,8 Eth30(Port30) 30 100000 +Ethernet120 9,10,11,12 Eth31(Port31) 31 100000 +Ethernet124 13,14,15,16 Eth32(Port32) 32 100000 diff --git a/device/accton/x86_64-accton_as7712_32x-r0/Accton-AS7712-32X/th-as7712-32x100G.config.bcm b/device/accton/x86_64-accton_as7712_32x-r0/Accton-AS7712-32X/th-as7712-32x100G.config.bcm index 6ecca8e02a..ea4b42383a 100644 --- a/device/accton/x86_64-accton_as7712_32x-r0/Accton-AS7712-32X/th-as7712-32x100G.config.bcm +++ b/device/accton/x86_64-accton_as7712_32x-r0/Accton-AS7712-32X/th-as7712-32x100G.config.bcm @@ -8,8 +8,8 @@ parity_correction=0 parity_enable=0 mmu_lossless=1 -pbmp_oversubscribe=0x444444441111111104444444422222222 -pbmp_xport_xe=0x444444451111111144444444422222222 +pbmp_oversubscribe=0x3fffffffdffffffff7fffffffdfffffffe +pbmp_xport_xe=0x3fffffffdffffffff7fffffffdfffffffe # arl_clean_timeout_usec=15000000 @@ -26,55 +26,295 @@ max_vp_lags=0 miim_intr_enable=0 oversubscribe_mode=1 +# port1 +dport_map_port_50=1 +dport_map_port_51=2 +dport_map_port_52=3 +dport_map_port_53=4 + +# port2 +dport_map_port_54=5 +dport_map_port_55=6 +dport_map_port_56=7 +dport_map_port_57=8 + +# port3 +dport_map_port_58=9 +dport_map_port_59=10 +dport_map_port_60=11 +dport_map_port_61=12 + +# port4 +dport_map_port_62=13 +dport_map_port_63=14 +dport_map_port_64=15 +dport_map_port_65=16 + +# port5 +dport_map_port_68=17 +dport_map_port_69=18 +dport_map_port_70=19 +dport_map_port_71=20 + +# port6 +dport_map_port_72=21 +dport_map_port_73=22 +dport_map_port_74=23 +dport_map_port_75=24 + +# port7 +dport_map_port_76=25 +dport_map_port_77=26 +dport_map_port_78=27 +dport_map_port_79=28 + +# port8 +dport_map_port_80=29 +dport_map_port_81=30 +dport_map_port_82=31 +dport_map_port_83=32 + +# port9 +dport_map_port_34=33 +dport_map_port_35=34 +dport_map_port_36=35 +dport_map_port_37=36 + +# port10 +dport_map_port_38=37 +dport_map_port_39=38 +dport_map_port_40=39 +dport_map_port_41=40 + +# port11 +dport_map_port_42=41 +dport_map_port_43=42 +dport_map_port_44=43 +dport_map_port_45=44 + +# port12 +dport_map_port_46=45 +dport_map_port_47=46 +dport_map_port_48=47 +dport_map_port_49=48 + +# port13 +dport_map_port_84=49 +dport_map_port_85=50 +dport_map_port_86=51 +dport_map_port_87=52 + +# port14 +dport_map_port_88=53 +dport_map_port_89=54 +dport_map_port_90=55 +dport_map_port_91=56 + +# port15 +dport_map_port_92=57 +dport_map_port_93=58 +dport_map_port_94=59 +dport_map_port_95=60 + +# port16 +dport_map_port_96=61 +dport_map_port_97=62 +dport_map_port_98=63 +dport_map_port_99=64 + +# port17 +dport_map_port_102=65 +dport_map_port_103=66 +dport_map_port_104=67 +dport_map_port_105=68 + +# port18 +dport_map_port_106=69 +dport_map_port_107=70 +dport_map_port_108=71 +dport_map_port_109=72 + +# port19 +dport_map_port_110=73 +dport_map_port_111=74 +dport_map_port_112=75 +dport_map_port_113=76 + +# port20 +dport_map_port_114=77 +dport_map_port_115=78 +dport_map_port_116=79 +dport_map_port_117=80 + +# port21 +dport_map_port_17=81 +dport_map_port_18=82 +dport_map_port_19=83 +dport_map_port_20=84 + +# port22 +dport_map_port_21=85 +dport_map_port_22=86 +dport_map_port_23=87 +dport_map_port_24=88 + +# port23 +dport_map_port_25=89 +dport_map_port_26=90 +dport_map_port_27=91 +dport_map_port_28=92 + +# port24 +dport_map_port_29=93 +dport_map_port_30=94 +dport_map_port_31=95 +dport_map_port_32=96 + +# port25 +dport_map_port_118=97 +dport_map_port_119=98 +dport_map_port_120=99 +dport_map_port_121=100 + +# port26 +dport_map_port_122=101 +dport_map_port_123=102 +dport_map_port_124=103 +dport_map_port_125=104 + +# port27 +dport_map_port_126=105 +dport_map_port_127=106 +dport_map_port_128=107 +dport_map_port_129=108 + +# port28 +dport_map_port_130=109 +dport_map_port_131=110 +dport_map_port_132=111 +dport_map_port_133=112 + +# port29 +dport_map_port_1=113 +dport_map_port_2=114 +dport_map_port_3=115 +dport_map_port_4=116 + +# port30 +dport_map_port_5=117 +dport_map_port_6=118 +dport_map_port_7=119 +dport_map_port_8=120 + +# port31 +dport_map_port_9=121 +dport_map_port_10=122 +dport_map_port_11=123 +dport_map_port_12=124 + +# port32 +dport_map_port_13=125 +dport_map_port_14=126 +dport_map_port_15=127 +dport_map_port_16=128 + # portmap_0=x:xx #FC0 portmap_1=1:100 +portmap_2=2:25:i +portmap_3=3:25:i +portmap_4=4:25:i #FC1 portmap_5=5:100 +portmap_6=6:25:i +portmap_7=7:25:i +portmap_8=8:25:i #FC2 portmap_9=9:100 +portmap_10=10:25:i +portmap_11=11:25:i +portmap_12=12:25:i #FC3 portmap_13=13:100 +portmap_14=14:25:i +portmap_15=15:25:i +portmap_16=16:25:i #FC4 portmap_17=17:100 +portmap_18=18:25:i +portmap_19=19:25:i +portmap_20=20:25:i #FC5 portmap_21=21:100 +portmap_22=22:25:i +portmap_23=23:25:i +portmap_24=24:25:i #FC6 portmap_25=25:100 +portmap_26=26:25:i +portmap_27=27:25:i +portmap_28=28:25:i #FC7 portmap_29=29:100 +portmap_30=30:25:i +portmap_31=31:25:i +portmap_32=32:25:i # Tile-1 #FC8 portmap_34=33:100 +portmap_35=34:25:i +portmap_36=35:25:i +portmap_37=36:25:i #FC9 portmap_38=37:100 +portmap_39=38:25:i +portmap_40=39:25:i +portmap_41=40:25:i #FC10 portmap_42=41:100 +portmap_43=42:25:i +portmap_44=43:25:i +portmap_45=44:25:i #FC11 portmap_46=45:100 +portmap_47=46:25:i +portmap_48=47:25:i +portmap_49=48:25:i #FC12 portmap_50=49:100 +portmap_51=50:25:i +portmap_52=51:25:i +portmap_53=52:25:i #FC13 portmap_54=53:100 +portmap_55=54:25:i +portmap_56=55:25:i +portmap_57=56:25:i #FC14 portmap_58=57:100 +portmap_59=58:25:i +portmap_60=59:25:i +portmap_61=60:25:i #FC15 portmap_62=61:100 +portmap_63=62:25:i +portmap_64=63:25:i +portmap_65=64:25:i #TSC-E Management port 1 #portmap_66=129:10 @@ -83,27 +323,51 @@ portmap_62=61:100 # Tile-2 #FC16 portmap_68=65:100 +portmap_69=66:25:i +portmap_70=67:25:i +portmap_71=68:25:i #FC17 portmap_72=69:100 +portmap_73=70:25:i +portmap_74=71:25:i +portmap_75=72:25:i #FC18 portmap_76=73:100 +portmap_77=74:25:i +portmap_78=75:25:i +portmap_79=76:25:i #FC19 portmap_80=77:100 +portmap_81=78:25:i +portmap_82=79:25:i +portmap_83=80:25:i #FC20 portmap_84=81:100 +portmap_85=82:25:i +portmap_86=83:25:i +portmap_87=84:25:i #FC21 portmap_88=85:100 +portmap_89=86:25:i +portmap_90=87:25:i +portmap_91=88:25:i #FC22 portmap_92=89:100 +portmap_93=90:25:i +portmap_94=91:25:i +portmap_95=92:25:i #FC23 portmap_96=93:100 +portmap_97=94:25:i +portmap_98=95:25:i +portmap_99=96:25:i #TSC-E Management port 2 #portmap_100=131:10 @@ -112,28 +376,51 @@ portmap_96=93:100 # Tile-3 #FC24 portmap_102=97:100 +portmap_103=98:25:i +portmap_104=99:25:i +portmap_105=100:25:i #FC25 portmap_106=101:100 +portmap_107=102:25:i +portmap_108=103:25:i +portmap_109=104:25:i #FC26 portmap_110=105:100 +portmap_111=106:25:i +portmap_112=107:25:i +portmap_113=108:25:i #FC27 portmap_114=109:100 +portmap_115=110:25:i +portmap_116=111:25:i +portmap_117=112:25:i #FC28 portmap_118=113:100 +portmap_119=114:25:i +portmap_120=115:25:i +portmap_121=116:25:i #FC29 portmap_122=117:100 +portmap_123=118:25:i +portmap_124=119:25:i +portmap_125=120:25:i #FC30 portmap_126=121:100 +portmap_127=122:25:i +portmap_128=123:25:i +portmap_129=124:25:i #FC31 portmap_130=125:100 - +portmap_131=126:25:i +portmap_132=127:25:i +portmap_133=128:25:i ## TX/RX Lane Swap diff --git a/device/accton/x86_64-accton_as7712_32x-r0/installer.conf b/device/accton/x86_64-accton_as7712_32x-r0/installer.conf index d0ed16575e..8d06f2acce 100644 --- a/device/accton/x86_64-accton_as7712_32x-r0/installer.conf +++ b/device/accton/x86_64-accton_as7712_32x-r0/installer.conf @@ -1,4 +1,4 @@ CONSOLE_PORT=0x2f8 CONSOLE_DEV=1 CONSOLE_SPEED=115200 -ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="modprobe.blacklist=i2c-ismt,i2c_ismt,i2c-i801,i2c_i801" +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="pcie_aspm=off modprobe.blacklist=i2c-ismt,i2c_ismt,i2c-i801,i2c_i801" diff --git a/device/accton/x86_64-accton_as7712_32x-r0/platform.json b/device/accton/x86_64-accton_as7712_32x-r0/platform.json new file mode 100644 index 0000000000..dec5e77835 --- /dev/null +++ b/device/accton/x86_64-accton_as7712_32x-r0/platform.json @@ -0,0 +1,625 @@ +{ + "chassis": { + "name": "7712-32X", + "components": [ + { + "name": "CPLD1" + }, + { + "name": "CPLD2" + }, + { + "name": "CPLD3" + }, + { + "name": "BIOS" + } + ], + "fans": [ + { + "name": "FAN-1F" + }, + { + "name": "FAN-1R" + }, + { + "name": "FAN-2F" + }, + { + "name": "FAN-2R" + }, + { + "name": "FAN-3F" + }, + { + "name": "FAN-3R" + }, + { + "name": "FAN-4F" + }, + { + "name": "FAN-4R" + }, + { + "name": "FAN-5F" + }, + { + "name": "FAN-5R" + }, + { + "name": "FAN-6F" + }, + { + "name": "FAN-6R" + } + ], + "fan_drawers":[ + { + "name": "FanTray1", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-1F" + }, + { + "name": "FAN-1R" + } + ] + }, + { + "name": "FanTray2", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-2F" + }, + { + "name": "FAN-2R" + } + ] + }, + { + "name": "FanTray3", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-3F" + }, + { + "name": "FAN-3R" + } + ] + }, + { + "name": "FanTray4", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-4F" + }, + { + "name": "FAN-4R" + } + ] + }, + { + "name": "FanTray5", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-5F" + }, + { + "name": "FAN-5R" + } + ] + }, + { + "name": "FanTray6", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-6F" + }, + { + "name": "FAN-6R" + } + ] + } + ], + "psus": [ + { + "name": "PSU-1", + "fans": [ + { + "name": "PSU-1 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-1 temp sensor 1" + } + ] + }, + { + "name": "PSU-2", + "fans": [ + { + "name": "PSU-2 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-2 temp sensor 1" + } + ] + } + ], + "thermals": [ + { + "name": "Temp sensor 1" + }, + { + "name": "Temp sensor 2" + }, + { + "name": "Temp sensor 3" + }, + { + "name": "Temp sensor 4" + } + ], + "sfps": [ + { + "name": "Ethernet0" + }, + { + "name": "Ethernet4" + }, + { + "name": "Ethernet8" + }, + { + "name": "Ethernet12" + }, + { + "name": "Ethernet16" + }, + { + "name": "Ethernet20" + }, + { + "name": "Ethernet24" + }, + { + "name": "Ethernet28" + }, + { + "name": "Ethernet32" + }, + { + "name": "Ethernet36" + }, + { + "name": "Ethernet40" + }, + { + "name": "Ethernet44" + }, + { + "name": "Ethernet48" + }, + { + "name": "Ethernet52" + }, + { + "name": "Ethernet56" + }, + { + "name": "Ethernet60" + }, + { + "name": "Ethernet64" + }, + { + "name": "Ethernet68" + }, + { + "name": "Ethernet72" + }, + { + "name": "Ethernet76" + }, + { + "name": "Ethernet80" + }, + { + "name": "Ethernet84" + }, + { + "name": "Ethernet88" + }, + { + "name": "Ethernet92" + }, + { + "name": "Ethernet96" + }, + { + "name": "Ethernet100" + }, + { + "name": "Ethernet104" + }, + { + "name": "Ethernet108" + }, + { + "name": "Ethernet112" + }, + { + "name": "Ethernet116" + }, + { + "name": "Ethernet120" + }, + { + "name": "Ethernet124" + } + ] + }, + "interfaces": { + "Ethernet0": { + "index": "1,1,1,1", + "lanes": "49,50,51,52", + "breakout_modes": { + "1x100G[40G]": ["Eth1(Port1)"], + "2x50G": ["Eth1/1(Port1)", "Eth1/2(Port1)"], + "4x25G": ["Eth1/1(Port1)", "Eth1/2(Port1)", "Eth1/3(Port1)", "Eth1/4(Port1)"], + "4x10G": ["Eth1/1(Port1)", "Eth1/2(Port1)", "Eth1/3(Port1)", "Eth1/4(Port1)"] + } + }, + + "Ethernet4": { + "index": "2,2,2,2", + "lanes": "53,54,55,56", + "breakout_modes": { + "1x100G[40G]": ["Eth2(Port2)"], + "2x50G": ["Eth2/1(Port2)", "Eth2/2(Port2)"], + "4x25G": ["Eth2/1(Port2)", "Eth2/2(Port2)", "Eth2/3(Port2)", "Eth2/4(Port2)"], + "4x10G": ["Eth2/1(Port2)", "Eth2/2(Port2)", "Eth2/3(Port2)", "Eth2/4(Port2)"] + } + }, + + "Ethernet8": { + "index": "3,3,3,3", + "lanes": "57,58,59,60", + "breakout_modes": { + "1x100G[40G]": ["Eth3(Port3)"], + "2x50G": ["Eth3/1(Port3)", "Eth3/2(Port3)"], + "4x25G": ["Eth3/1(Port3)", "Eth3/2(Port3)", "Eth3/3(Port3)", "Eth3/4(Port3)"], + "4x10G": ["Eth3/1(Port3)", "Eth3/2(Port3)", "Eth3/3(Port3)", "Eth3/4(Port3)"] + } + }, + + "Ethernet12": { + "index": "4,4,4,4", + "lanes": "61,62,63,64", + "breakout_modes": { + "1x100G[40G]": ["Eth4(Port4)"], + "2x50G": ["Eth4/1(Port4)", "Eth4/2(Port4)"], + "4x25G": ["Eth4/1(Port4)", "Eth4/2(Port4)", "Eth4/3(Port4)", "Eth4/4(Port4)"], + "4x10G": ["Eth4/1(Port4)", "Eth4/2(Port4)", "Eth4/3(Port4)", "Eth4/4(Port4)"] + } + }, + + "Ethernet16": { + "index": "5,5,5,5", + "lanes": "65,66,67,68", + "breakout_modes": { + "1x100G[40G]": ["Eth5(Port5)"], + "2x50G": ["Eth5/1(Port5)", "Eth5/2(Port5)"], + "4x25G": ["Eth5/1(Port5)", "Eth5/2(Port5)", "Eth5/3(Port5)", "Eth5/4(Port5)"], + "4x10G": ["Eth5/1(Port5)", "Eth5/2(Port5)", "Eth5/3(Port5)", "Eth5/4(Port5)"] + } + }, + + "Ethernet20": { + "index": "6,6,6,6", + "lanes": "69,70,71,72", + "breakout_modes": { + "1x100G[40G]": ["Eth6(Port6)"], + "2x50G": ["Eth6/1(Port6)", "Eth6/2(Port6)"], + "4x25G": ["Eth6/1(Port6)", "Eth6/2(Port6)", "Eth6/3(Port6)", "Eth6/4(Port6)"], + "4x10G": ["Eth6/1(Port6)", "Eth6/2(Port6)", "Eth6/3(Port6)", "Eth6/4(Port6)"] + } + }, + + "Ethernet24": { + "index": "7,7,7,7", + "lanes": "73,74,75,76", + "breakout_modes": { + "1x100G[40G]": ["Eth7(Port7)"], + "2x50G": ["Eth7/1(Port7)", "Eth7/2(Port7)"], + "4x25G": ["Eth7/1(Port7)", "Eth7/2(Port7)", "Eth7/3(Port7)", "Eth7/4(Port7)"], + "4x10G": ["Eth7/1(Port7)", "Eth7/2(Port7)", "Eth7/3(Port7)", "Eth7/4(Port7)"] + } + }, + + "Ethernet28": { + "index": "8,8,8,8", + "lanes": "77,78,79,80", + "breakout_modes": { + "1x100G[40G]": ["Eth8(Port8)"], + "2x50G": ["Eth8/1(Port8)", "Eth8/2(Port8)"], + "4x25G": ["Eth8/1(Port8)", "Eth8/2(Port8)", "Eth8/3(Port8)", "Eth8/4(Port8)"], + "4x10G": ["Eth8/1(Port8)", "Eth8/2(Port8)", "Eth8/3(Port8)", "Eth8/4(Port8)"] + } + }, + + "Ethernet32": { + "index": "9,9,9,9", + "lanes": "33,34,35,36", + "breakout_modes": { + "1x100G[40G]": ["Eth9(Port9)"], + "2x50G": ["Eth9/1(Port9)", "Eth9/2(Port9)"], + "4x25G": ["Eth9/1(Port9)", "Eth9/2(Port9)", "Eth9/3(Port9)", "Eth9/4(Port9)"], + "4x10G": ["Eth9/1(Port9)", "Eth9/2(Port9)", "Eth9/3(Port9)", "Eth9/4(Port9)"] + } + }, + + "Ethernet36": { + "index": "10,10,10,10", + "lanes": "37,38,39,40", + "breakout_modes": { + "1x100G[40G]": ["Eth10(Port10)"], + "2x50G": ["Eth10/1(Port10)", "Eth10/2(Port10)"], + "4x25G": ["Eth10/1(Port10)", "Eth10/2(Port10)", "Eth10/3(Port10)", "Eth10/4(Port10)"], + "4x10G": ["Eth10/1(Port10)", "Eth10/2(Port10)", "Eth10/3(Port10)", "Eth10/4(Port10)"] + } + }, + + "Ethernet40": { + "index": "11,11,11,11", + "lanes": "41,42,43,44", + "breakout_modes": { + "1x100G[40G]": ["Eth11(Port11)"], + "2x50G": ["Eth11/1(Port11)", "Eth11/2(Port11)"], + "4x25G": ["Eth11/1(Port11)", "Eth11/2(Port11)", "Eth11/3(Port11)", "Eth11/4(Port11)"], + "4x10G": ["Eth11/1(Port11)", "Eth11/2(Port11)", "Eth11/3(Port11)", "Eth11/4(Port11)"] + } + }, + + "Ethernet44": { + "index": "12,12,12,12", + "lanes": "45,46,47,48", + "breakout_modes": { + "1x100G[40G]": ["Eth12(Port12)"], + "2x50G": ["Eth12/1(Port12)", "Eth12/2(Port12)"], + "4x25G": ["Eth12/1(Port12)", "Eth12/2(Port12)", "Eth12/3(Port12)", "Eth12/4(Port12)"], + "4x10G": ["Eth12/1(Port12)", "Eth12/2(Port12)", "Eth12/3(Port12)", "Eth12/4(Port12)"] + } + }, + + "Ethernet48": { + "index": "13,13,13,13", + "lanes": "81,82,83,84", + "breakout_modes": { + "1x100G[40G]": ["Eth13(Port13)"], + "2x50G": ["Eth13/1(Port13)", "Eth13/2(Port13)"], + "4x25G": ["Eth13/1(Port13)", "Eth13/2(Port13)", "Eth13/3(Port13)", "Eth13/4(Port13)"], + "4x10G": ["Eth13/1(Port13)", "Eth13/2(Port13)", "Eth13/3(Port13)", "Eth13/4(Port13)"] + } + }, + + "Ethernet52": { + "index": "14,14,14,14", + "lanes": "85,86,87,88", + "breakout_modes": { + "1x100G[40G]": ["Eth14(Port14)"], + "2x50G": ["Eth14/1(Port14)", "Eth14/2(Port14)"], + "4x25G": ["Eth14/1(Port14)", "Eth14/2(Port14)", "Eth14/3(Port14)", "Eth14/4(Port14)"], + "4x10G": ["Eth14/1(Port14)", "Eth14/2(Port14)", "Eth14/3(Port14)", "Eth14/4(Port14)"] + } + }, + + "Ethernet56": { + "index": "15,15,15,15", + "lanes": "89,90,91,92", + "breakout_modes": { + "1x100G[40G]": ["Eth15(Port15)"], + "2x50G": ["Eth15/1(Port15)", "Eth15/2(Port15)"], + "4x25G": ["Eth15/1(Port15)", "Eth15/2(Port15)", "Eth15/3(Port15)", "Eth15/4(Port15)"], + "4x10G": ["Eth15/1(Port15)", "Eth15/2(Port15)", "Eth15/3(Port15)", "Eth15/4(Port15)"] + } + }, + + "Ethernet60": { + "index": "16,16,16,16", + "lanes": "93,94,95,96", + "breakout_modes": { + "1x100G[40G]": ["Eth16(Port16)"], + "2x50G": ["Eth16/1(Port16)", "Eth16/2(Port16)"], + "4x25G": ["Eth16/1(Port16)", "Eth16/2(Port16)", "Eth16/3(Port16)", "Eth16/4(Port16)"], + "4x10G": ["Eth16/1(Port16)", "Eth16/2(Port16)", "Eth16/3(Port16)", "Eth16/4(Port16)"] + } + }, + + "Ethernet64": { + "index": "17,17,17,17", + "lanes": "97,98,99,100", + "breakout_modes": { + "1x100G[40G]": ["Eth17(Port17)"], + "2x50G": ["Eth17/1(Port17)", "Eth17/2(Port17)"], + "4x25G": ["Eth17/1(Port17)", "Eth17/2(Port17)", "Eth17/3(Port17)", "Eth17/4(Port17)"], + "4x10G": ["Eth17/1(Port17)", "Eth17/2(Port17)", "Eth17/3(Port17)", "Eth17/4(Port17)"] + } + }, + + "Ethernet68": { + "index": "18,18,18,18", + "lanes": "101,102,103,104", + "breakout_modes": { + "1x100G[40G]": ["Eth18(Port18)"], + "2x50G": ["Eth18/1(Port18)", "Eth18/2(Port18)"], + "4x25G": ["Eth18/1(Port18)", "Eth18/2(Port18)", "Eth18/3(Port18)", "Eth18/4(Port18)"], + "4x10G": ["Eth18/1(Port18)", "Eth18/2(Port18)", "Eth18/3(Port18)", "Eth18/4(Port18)"] + } + }, + + "Ethernet72": { + "index": "19,19,19,19", + "lanes": "105,106,107,108", + "breakout_modes": { + "1x100G[40G]": ["Eth19(Port19)"], + "2x50G": ["Eth19/1(Port19)", "Eth19/2(Port19)"], + "4x25G": ["Eth19/1(Port19)", "Eth19/2(Port19)", "Eth19/3(Port19)", "Eth19/4(Port19)"], + "4x10G": ["Eth19/1(Port19)", "Eth19/2(Port19)", "Eth19/3(Port19)", "Eth19/4(Port19)"] + } + }, + + "Ethernet76": { + "index": "20,20,20,20", + "lanes": "109,110,111,112", + "breakout_modes": { + "1x100G[40G]": ["Eth20(Port20)"], + "2x50G": ["Eth20/1(Port20)", "Eth20/2(Port20)"], + "4x25G": ["Eth20/1(Port20)", "Eth20/2(Port20)", "Eth20/3(Port20)", "Eth20/4(Port20)"], + "4x10G": ["Eth20/1(Port20)", "Eth20/2(Port20)", "Eth20/3(Port20)", "Eth20/4(Port20)"] + } + }, + + "Ethernet80": { + "index": "21,21,21,21", + "lanes": "17,18,19,20", + "breakout_modes": { + "1x100G[40G]": ["Eth21(Port21)"], + "2x50G": ["Eth21/1(Port21)", "Eth21/2(Port21)"], + "4x25G": ["Eth21/1(Port21)", "Eth21/2(Port21)", "Eth21/3(Port21)", "Eth21/4(Port21)"], + "4x10G": ["Eth21/1(Port21)", "Eth21/2(Port21)", "Eth21/3(Port21)", "Eth21/4(Port21)"] + } + }, + + "Ethernet84": { + "index": "22,22,22,22", + "lanes": "21,22,23,24", + "breakout_modes": { + "1x100G[40G]": ["Eth22(Port22)"], + "2x50G": ["Eth22/1(Port22)", "Eth22/2(Port22)"], + "4x25G": ["Eth22/1(Port22)", "Eth22/2(Port22)", "Eth22/3(Port22)", "Eth22/4(Port22)"], + "4x10G": ["Eth22/1(Port22)", "Eth22/2(Port22)", "Eth22/3(Port22)", "Eth22/4(Port22)"] + } + }, + + "Ethernet88": { + "index": "23,23,23,23", + "lanes": "25,26,27,28", + "breakout_modes": { + "1x100G[40G]": ["Eth23(Port23)"], + "2x50G": ["Eth23/1(Port23)", "Eth23/2(Port23)"], + "4x25G": ["Eth23/1(Port23)", "Eth23/2(Port23)", "Eth23/3(Port23)", "Eth23/4(Port23)"], + "4x10G": ["Eth23/1(Port23)", "Eth23/2(Port23)", "Eth23/3(Port23)", "Eth23/4(Port23)"] + } + }, + + "Ethernet92": { + "index": "24,24,24,24", + "lanes": "29,30,31,32", + "breakout_modes": { + "1x100G[40G]": ["Eth24(Port24)"], + "2x50G": ["Eth24/1(Port24)", "Eth24/2(Port24)"], + "4x25G": ["Eth24/1(Port24)", "Eth24/2(Port24)", "Eth24/3(Port24)", "Eth24/4(Port24)"], + "4x10G": ["Eth24/1(Port24)", "Eth24/2(Port24)", "Eth24/3(Port24)", "Eth24/4(Port24)"] + } + }, + + "Ethernet96": { + "index": "25,25,25,25", + "lanes": "113,114,115,116", + "breakout_modes": { + "1x100G[40G]": ["Eth25(Port25)"], + "2x50G": ["Eth25/1(Port25)", "Eth25/2(Port25)"], + "4x25G": ["Eth25/1(Port25)", "Eth25/2(Port25)", "Eth25/3(Port25)", "Eth25/4(Port25)"], + "4x10G": ["Eth25/1(Port25)", "Eth25/2(Port25)", "Eth25/3(Port25)", "Eth25/4(Port25)"] + } + }, + + "Ethernet100": { + "index": "26,26,26,26", + "lanes": "117,118,119,120", + "breakout_modes": { + "1x100G[40G]": ["Eth26(Port26)"], + "2x50G": ["Eth26/1(Port26)", "Eth26/2(Port26)"], + "4x25G": ["Eth26/1(Port26)", "Eth26/2(Port26)", "Eth26/3(Port26)", "Eth26/4(Port26)"], + "4x10G": ["Eth26/1(Port26)", "Eth26/2(Port26)", "Eth26/3(Port26)", "Eth26/4(Port26)"] + } + }, + + "Ethernet104": { + "index": "27,27,27,27", + "lanes": "121,122,123,124", + "breakout_modes": { + "1x100G[40G]": ["Eth27(Port27)"], + "2x50G": ["Eth27/1(Port27)", "Eth27/2(Port27)"], + "4x25G": ["Eth27/1(Port27)", "Eth27/2(Port27)", "Eth27/3(Port27)", "Eth27/4(Port27)"], + "4x10G": ["Eth27/1(Port27)", "Eth27/2(Port27)", "Eth27/3(Port27)", "Eth27/4(Port27)"] + } + }, + + "Ethernet108": { + "index": "28,28,28,28", + "lanes": "125,126,127,128", + "breakout_modes": { + "1x100G[40G]": ["Eth28(Port28)"], + "2x50G": ["Eth28/1(Port28)", "Eth28/2(Port28)"], + "4x25G": ["Eth28/1(Port28)", "Eth28/2(Port28)", "Eth28/3(Port28)", "Eth28/4(Port28)"], + "4x10G": ["Eth28/1(Port28)", "Eth28/2(Port28)", "Eth28/3(Port28)", "Eth28/4(Port28)"] + } + }, + + "Ethernet112": { + "index": "29,29,29,29", + "lanes": "1,2,3,4", + "breakout_modes": { + "1x100G[40G]": ["Eth29(Port29)"], + "2x50G": ["Eth29/1(Port29)", "Eth29/2(Port29)"], + "4x25G": ["Eth29/1(Port29)", "Eth29/2(Port29)", "Eth29/3(Port29)", "Eth29/4(Port29)"], + "4x10G": ["Eth29/1(Port29)", "Eth29/2(Port29)", "Eth29/3(Port29)", "Eth29/4(Port29)"] + } + }, + + "Ethernet116": { + "index": "30,30,30,30", + "lanes": "5,6,7,8", + "breakout_modes": { + "1x100G[40G]": ["Eth30(Port30)"], + "2x50G": ["Eth30/1(Port30)", "Eth30/2(Port30)"], + "4x25G": ["Eth30/1(Port30)", "Eth30/2(Port30)", "Eth30/3(Port30)", "Eth30/4(Port30)"], + "4x10G": ["Eth30/1(Port30)", "Eth30/2(Port30)", "Eth30/3(Port30)", "Eth30/4(Port30)"] + } + }, + + "Ethernet120": { + "index": "31,31,31,31", + "lanes": "9,10,11,12", + "breakout_modes": { + "1x100G[40G]": ["Eth31(Port31)"], + "2x50G": ["Eth31/1(Port31)", "Eth31/2(Port31)"], + "4x25G": ["Eth31/1(Port31)", "Eth31/2(Port31)", "Eth31/3(Port31)", "Eth31/4(Port31)"], + "4x10G": ["Eth31/1(Port31)", "Eth31/2(Port31)", "Eth31/3(Port31)", "Eth31/4(Port31)"] + } + }, + + "Ethernet124": { + "index": "32,32,32,32", + "lanes": "13,14,15,16", + "breakout_modes": { + "1x100G[40G]": ["Eth32(Port32)"], + "2x50G": ["Eth32/1(Port32)", "Eth32/2(Port32)"], + "4x25G": ["Eth32/1(Port32)", "Eth32/2(Port32)", "Eth32/3(Port32)", "Eth32/4(Port32)"], + "4x10G": ["Eth32/1(Port32)", "Eth32/2(Port32)", "Eth32/3(Port32)", "Eth32/4(Port32)"] + } + } + } +} + diff --git a/device/accton/x86_64-accton_as7712_32x-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as7712_32x-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as7712_32x-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as7716_32x-r0/installer.conf b/device/accton/x86_64-accton_as7716_32x-r0/installer.conf index d97e3195e8..be5cd86862 100644 --- a/device/accton/x86_64-accton_as7716_32x-r0/installer.conf +++ b/device/accton/x86_64-accton_as7716_32x-r0/installer.conf @@ -1,4 +1,4 @@ CONSOLE_PORT=0x3f8 CONSOLE_DEV=0 CONSOLE_SPEED=115200 -ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="tg3.short_preamble=1 tg3.bcm5718s_reset=1" +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="tg3.short_preamble=1 tg3.bcm5718s_reset=1 pcie_aspm=off" diff --git a/device/accton/x86_64-accton_as7716_32x-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as7716_32x-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as7716_32x-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as7716_32xb-r0/installer.conf b/device/accton/x86_64-accton_as7716_32xb-r0/installer.conf index d97e3195e8..be5cd86862 100755 --- a/device/accton/x86_64-accton_as7716_32xb-r0/installer.conf +++ b/device/accton/x86_64-accton_as7716_32xb-r0/installer.conf @@ -1,4 +1,4 @@ CONSOLE_PORT=0x3f8 CONSOLE_DEV=0 CONSOLE_SPEED=115200 -ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="tg3.short_preamble=1 tg3.bcm5718s_reset=1" +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="tg3.short_preamble=1 tg3.bcm5718s_reset=1 pcie_aspm=off" diff --git a/device/accton/x86_64-accton_as7716_32xb-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as7716_32xb-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as7716_32xb-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as7726_32x-r0/Accton-AS7726-32X/hwsku.json b/device/accton/x86_64-accton_as7726_32x-r0/Accton-AS7726-32X/hwsku.json new file mode 100644 index 0000000000..5a86530164 --- /dev/null +++ b/device/accton/x86_64-accton_as7726_32x-r0/Accton-AS7726-32X/hwsku.json @@ -0,0 +1,132 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet4": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet8": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet12": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet16": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet20": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet24": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet28": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet32": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet36": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet40": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet44": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet48": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet52": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet56": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet60": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet64": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet68": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet72": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet76": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet80": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet84": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet88": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet92": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet96": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet100": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet104": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet108": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet112": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet116": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet120": { + "default_brkout_mode": "1x100G[40G]" + }, + + "Ethernet124": { + "default_brkout_mode": "1x100G[40G]" + } + } +} + diff --git a/device/accton/x86_64-accton_as7726_32x-r0/Accton-AS7726-32X/port_config.ini b/device/accton/x86_64-accton_as7726_32x-r0/Accton-AS7726-32X/port_config.ini index c12f3b3ba2..f761c2c5ae 100755 --- a/device/accton/x86_64-accton_as7726_32x-r0/Accton-AS7726-32X/port_config.ini +++ b/device/accton/x86_64-accton_as7726_32x-r0/Accton-AS7726-32X/port_config.ini @@ -1,33 +1,33 @@ # name lanes alias index speed -Ethernet0 1,2,3,4 hundredGigE1 1 100000 -Ethernet4 5,6,7,8 hundredGigE2 2 100000 -Ethernet8 9,10,11,12 hundredGigE3 3 100000 -Ethernet12 13,14,15,16 hundredGigE4 4 100000 -Ethernet16 17,18,19,20 hundredGigE5 5 100000 -Ethernet20 21,22,23,24 hundredGigE6 6 100000 -Ethernet24 25,26,27,28 hundredGigE7 7 100000 -Ethernet28 29,30,31,32 hundredGigE8 8 100000 -Ethernet32 33,34,35,36 hundredGigE9 9 100000 -Ethernet36 37,38,39,40 hundredGigE10 10 100000 -Ethernet40 41,42,43,44 hundredGigE11 11 100000 -Ethernet44 45,46,47,48 hundredGigE12 12 100000 -Ethernet48 49,50,51,52 hundredGigE13 13 100000 -Ethernet52 53,54,55,56 hundredGigE14 14 100000 -Ethernet56 57,58,59,60 hundredGigE15 15 100000 -Ethernet60 61,62,63,64 hundredGigE16 16 100000 -Ethernet64 65,66,67,68 hundredGigE17 17 100000 -Ethernet68 69,70,71,72 hundredGigE18 18 100000 -Ethernet72 73,74,75,76 hundredGigE19 19 100000 -Ethernet76 77,78,79,80 hundredGigE20 20 100000 -Ethernet80 81,82,83,84 hundredGigE21 21 100000 -Ethernet84 85,86,87,88 hundredGigE22 22 100000 -Ethernet88 89,90,91,92 hundredGigE23 23 100000 -Ethernet92 93,94,95,96 hundredGigE24 24 100000 -Ethernet96 97,98,99,100 hundredGigE25 25 100000 -Ethernet100 101,102,103,104 hundredGigE26 26 100000 -Ethernet104 105,106,107,108 hundredGigE27 27 100000 -Ethernet108 109,110,111,112 hundredGigE28 28 100000 -Ethernet112 113,114,115,116 hundredGigE29 29 100000 -Ethernet116 117,118,119,120 hundredGigE30 30 100000 -Ethernet120 121,122,123,124 hundredGigE31 31 100000 -Ethernet124 125,126,127,128 hundredGigE32 32 100000 +Ethernet0 1,2,3,4 Eth1(Port1) 1 100000 +Ethernet4 5,6,7,8 Eth2(Port2) 2 100000 +Ethernet8 9,10,11,12 Eth3(Port3) 3 100000 +Ethernet12 13,14,15,16 Eth4(Port4) 4 100000 +Ethernet16 17,18,19,20 Eth5(Port5) 5 100000 +Ethernet20 21,22,23,24 Eth6(Port6) 6 100000 +Ethernet24 25,26,27,28 Eth7(Port7) 7 100000 +Ethernet28 29,30,31,32 Eth8(Port8) 8 100000 +Ethernet32 33,34,35,36 Eth9(Port9) 9 100000 +Ethernet36 37,38,39,40 Eth10(Port10) 10 100000 +Ethernet40 41,42,43,44 Eth11(Port11) 11 100000 +Ethernet44 45,46,47,48 Eth12(Port12) 12 100000 +Ethernet48 49,50,51,52 Eth13(Port13) 13 100000 +Ethernet52 53,54,55,56 Eth14(Port14) 14 100000 +Ethernet56 57,58,59,60 Eth15(Port15) 15 100000 +Ethernet60 61,62,63,64 Eth16(Port16) 16 100000 +Ethernet64 65,66,67,68 Eth17(Port17) 17 100000 +Ethernet68 69,70,71,72 Eth18(Port18) 18 100000 +Ethernet72 73,74,75,76 Eth19(Port19) 19 100000 +Ethernet76 77,78,79,80 Eth20(Port20) 20 100000 +Ethernet80 81,82,83,84 Eth21(Port21) 21 100000 +Ethernet84 85,86,87,88 Eth22(Port22) 22 100000 +Ethernet88 89,90,91,92 Eth23(Port23) 23 100000 +Ethernet92 93,94,95,96 Eth24(Port24) 24 100000 +Ethernet96 97,98,99,100 Eth25(Port25) 25 100000 +Ethernet100 101,102,103,104 Eth26(Port26) 26 100000 +Ethernet104 105,106,107,108 Eth27(Port27) 27 100000 +Ethernet108 109,110,111,112 Eth28(Port28) 28 100000 +Ethernet112 113,114,115,116 Eth29(Port29) 29 100000 +Ethernet116 117,118,119,120 Eth30(Port30) 30 100000 +Ethernet120 121,122,123,124 Eth31(Port31) 31 100000 +Ethernet124 125,126,127,128 Eth32(Port32) 32 100000 diff --git a/device/accton/x86_64-accton_as7726_32x-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as7726_32x-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as7726_32x-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as7816_64x-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as7816_64x-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as7816_64x-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as9716_32d-r0/Accton-AS9716-32D/hwsku.json b/device/accton/x86_64-accton_as9716_32d-r0/Accton-AS9716-32D/hwsku.json new file mode 100644 index 0000000000..82d8a38a21 --- /dev/null +++ b/device/accton/x86_64-accton_as9716_32d-r0/Accton-AS9716-32D/hwsku.json @@ -0,0 +1,132 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet8": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet16": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet24": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet32": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet40": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet48": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet56": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet64": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet72": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet80": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet88": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet96": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet104": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet112": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet120": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet128": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet136": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet144": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet152": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet160": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet168": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet176": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet184": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet192": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet200": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet208": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet216": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet224": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet232": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet240": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet248": { + "default_brkout_mode": "1x400G" + } + } +} + diff --git a/device/accton/x86_64-accton_as9716_32d-r0/Accton-AS9716-32D/port_config.ini b/device/accton/x86_64-accton_as9716_32d-r0/Accton-AS9716-32D/port_config.ini index ab5ba53d28..7e10350524 100644 --- a/device/accton/x86_64-accton_as9716_32d-r0/Accton-AS9716-32D/port_config.ini +++ b/device/accton/x86_64-accton_as9716_32d-r0/Accton-AS9716-32D/port_config.ini @@ -1,33 +1,33 @@ # name lanes alias index speed -Ethernet0 73,74,75,76,77,78,79,80 fourHundredGigE1 0 400000 -Ethernet8 65,66,67,68,69,70,71,72 fourHundredGigE2 1 400000 -Ethernet16 81,82,83,84,85,86,87,88 fourHundredGigE3 2 400000 -Ethernet24 89,90,91,92,93,94,95,96 fourHundredGigE4 3 400000 -Ethernet32 97,98,99,100,101,102,103,104 fourHundredGigE5 4 400000 -Ethernet40 105,106,107,108,109,110,111,112 fourHundredGigE6 5 400000 -Ethernet48 113,114,115,116,117,118,119,120 fourHundredGigE7 6 400000 -Ethernet56 121,122,123,124,125,126,127,128 fourHundredGigE8 7 400000 -Ethernet64 41,42,43,44,45,46,47,48 fourHundredGigE9 8 400000 -Ethernet72 33,34,35,36,37,38,39,40 fourHundredGigE10 9 400000 -Ethernet80 49,50,51,52,53,54,55,56 fourHundredGigE11 10 400000 -Ethernet88 57,58,59,60,61,62,63,64 fourHundredGigE12 11 400000 -Ethernet96 129,130,131,132,133,134,135,136 fourHundredGigE13 12 400000 -Ethernet104 137,138,139,140,141,142,143,144 fourHundredGigE14 13 400000 -Ethernet112 145,146,147,148,149,150,151,152 fourHundredGigE15 14 400000 -Ethernet120 153,154,155,156,157,158,159,160 fourHundredGigE16 15 400000 -Ethernet128 169,170,171,172,173,174,175,176 fourHundredGigE17 16 400000 -Ethernet136 161,162,163,164,165,166,167,168 fourHundredGigE18 17 400000 -Ethernet144 177,178,179,180,181,182,183,184 fourHundredGigE19 18 400000 -Ethernet152 185,186,187,188,189,190,191,192 fourHundredGigE20 19 400000 -Ethernet160 1,2,3,4,5,6,7,8 fourHundredGigE21 20 400000 -Ethernet168 9,10,11,12,13,14,15,16 fourHundredGigE22 21 400000 -Ethernet176 17,18,19,20,21,22,23,24 fourHundredGigE23 22 400000 -Ethernet184 25,26,27,28,29,30,31,32 fourHundredGigE24 23 400000 -Ethernet192 201,202,203,204,205,206,207,208 fourHundredGigE25 24 400000 -Ethernet200 193,194,195,196,197,198,199,200 fourHundredGigE26 25 400000 -Ethernet208 217,218,219,220,221,222,223,224 fourHundredGigE27 26 400000 -Ethernet216 209,210,211,212,213,214,215,216 fourHundredGigE28 27 400000 -Ethernet224 233,234,235,236,237,238,239,240 fourHundredGigE29 28 400000 -Ethernet232 225,226,227,228,229,230,231,232 fourHundredGigE30 29 400000 -Ethernet240 249,250,251,252,253,254,255,256 fourHundredGigE31 30 400000 -Ethernet248 241,242,243,244,245,246,247,248 fourHundredGigE32 31 400000 +Ethernet0 73,74,75,76,77,78,79,80 Eth1(Port1) 1 400000 +Ethernet8 65,66,67,68,69,70,71,72 Eth2(Port2) 2 400000 +Ethernet16 81,82,83,84,85,86,87,88 Eth3(Port3) 3 400000 +Ethernet24 89,90,91,92,93,94,95,96 Eth4(Port4) 4 400000 +Ethernet32 97,98,99,100,101,102,103,104 Eth5(Port5) 5 400000 +Ethernet40 105,106,107,108,109,110,111,112 Eth6(Port6) 6 400000 +Ethernet48 113,114,115,116,117,118,119,120 Eth7(Port7) 7 400000 +Ethernet56 121,122,123,124,125,126,127,128 Eth8(Port8) 8 400000 +Ethernet64 41,42,43,44,45,46,47,48 Eth9(Port9) 9 400000 +Ethernet72 33,34,35,36,37,38,39,40 Eth10(Port10) 10 400000 +Ethernet80 49,50,51,52,53,54,55,56 Eth11(Port11) 11 400000 +Ethernet88 57,58,59,60,61,62,63,64 Eth12(Port12) 12 400000 +Ethernet96 129,130,131,132,133,134,135,136 Eth13(Port13) 13 400000 +Ethernet104 137,138,139,140,141,142,143,144 Eth14(Port14) 14 400000 +Ethernet112 145,146,147,148,149,150,151,152 Eth15(Port15) 15 400000 +Ethernet120 153,154,155,156,157,158,159,160 Eth16(Port16) 16 400000 +Ethernet128 169,170,171,172,173,174,175,176 Eth17(Port17) 17 400000 +Ethernet136 161,162,163,164,165,166,167,168 Eth18(Port18) 18 400000 +Ethernet144 177,178,179,180,181,182,183,184 Eth19(Port19) 19 400000 +Ethernet152 185,186,187,188,189,190,191,192 Eth20(Port20) 20 400000 +Ethernet160 1,2,3,4,5,6,7,8 Eth21(Port21) 21 400000 +Ethernet168 9,10,11,12,13,14,15,16 Eth22(Port22) 22 400000 +Ethernet176 17,18,19,20,21,22,23,24 Eth23(Port23) 23 400000 +Ethernet184 25,26,27,28,29,30,31,32 Eth24(Port24) 24 400000 +Ethernet192 201,202,203,204,205,206,207,208 Eth25(Port25) 25 400000 +Ethernet200 193,194,195,196,197,198,199,200 Eth26(Port26) 26 400000 +Ethernet208 217,218,219,220,221,222,223,224 Eth27(Port27) 27 400000 +Ethernet216 209,210,211,212,213,214,215,216 Eth28(Port28) 28 400000 +Ethernet224 233,234,235,236,237,238,239,240 Eth29(Port29) 29 400000 +Ethernet232 225,226,227,228,229,230,231,232 Eth30(Port30) 30 400000 +Ethernet240 249,250,251,252,253,254,255,256 Eth31(Port31) 31 400000 +Ethernet248 241,242,243,244,245,246,247,248 Eth32(Port32) 32 400000 diff --git a/device/accton/x86_64-accton_as9716_32d-r0/platform.json b/device/accton/x86_64-accton_as9716_32d-r0/platform.json new file mode 100644 index 0000000000..8596cd76ae --- /dev/null +++ b/device/accton/x86_64-accton_as9716_32d-r0/platform.json @@ -0,0 +1,698 @@ +{ + "chassis": { + "name": "9716-32D", + "components": [ + { + "name": "FPGA" + }, + { + "name": "CPLD1" + }, + { + "name": "CPLD2" + }, + { + "name": "BIOS" + } + ], + "fans": [ + { + "name": "FAN-1F" + }, + { + "name": "FAN-1R" + }, + { + "name": "FAN-2F" + }, + { + "name": "FAN-2R" + }, + { + "name": "FAN-3F" + }, + { + "name": "FAN-3R" + }, + { + "name": "FAN-4F" + }, + { + "name": "FAN-4R" + }, + { + "name": "FAN-5F" + }, + { + "name": "FAN-5R" + }, + { + "name": "FAN-6F" + }, + { + "name": "FAN-6R" + } + ], + "fan_drawers":[ + { + "name": "FanTray1", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-1F" + }, + { + "name": "FAN-1R" + } + ] + }, + { + "name": "FanTray2", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-2F" + }, + { + "name": "FAN-2R" + } + ] + }, + { + "name": "FanTray3", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-3F" + }, + { + "name": "FAN-3R" + } + ] + }, + { + "name": "FanTray4", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-4F" + }, + { + "name": "FAN-4R" + } + ] + }, + { + "name": "FanTray5", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-5F" + }, + { + "name": "FAN-5R" + } + ] + }, + { + "name": "FanTray6", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-6F" + }, + { + "name": "FAN-6R" + } + ] + } + ], + "psus": [ + { + "name": "PSU-1", + "fans": [ + { + "name": "PSU-1 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-1 temp sensor 1" + } + ] + }, + { + "name": "PSU-2", + "fans": [ + { + "name": "PSU-2 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-2 temp sensor 1" + } + ] + } + ], + "thermals": [ + { + "name": "Temp sensor 1" + }, + { + "name": "Temp sensor 2" + }, + { + "name": "Temp sensor 3" + }, + { + "name": "Temp sensor 4" + }, + { + "name": "Temp sensor 5" + }, + { + "name": "Temp sensor 6" + }, + { + "name": "Temp sensor 7" + } + ], + "sfps": [ + { + "name": "Ethernet0" + }, + { + "name": "Ethernet8" + }, + { + "name": "Ethernet16" + }, + { + "name": "Ethernet24" + }, + { + "name": "Ethernet32" + }, + { + "name": "Ethernet40" + }, + { + "name": "Ethernet48" + }, + { + "name": "Ethernet56" + }, + { + "name": "Ethernet64" + }, + { + "name": "Ethernet72" + }, + { + "name": "Ethernet80" + }, + { + "name": "Ethernet88" + }, + { + "name": "Ethernet96" + }, + { + "name": "Ethernet104" + }, + { + "name": "Ethernet112" + }, + { + "name": "Ethernet120" + }, + { + "name": "Ethernet128" + }, + { + "name": "Ethernet136" + }, + { + "name": "Ethernet144" + }, + { + "name": "Ethernet152" + }, + { + "name": "Ethernet160" + }, + { + "name": "Ethernet168" + }, + { + "name": "Ethernet176" + }, + { + "name": "Ethernet184" + }, + { + "name": "Ethernet192" + }, + { + "name": "Ethernet200" + }, + { + "name": "Ethernet208" + }, + { + "name": "Ethernet216" + }, + { + "name": "Ethernet224" + }, + { + "name": "Ethernet232" + }, + { + "name": "Ethernet240" + }, + { + "name": "Ethernet248" + } + ] + }, + "interfaces": { + "Ethernet0": { + "index": "1,1,1,1,1,1,1,1", + "lanes": "73,74,75,76,77,78,79,80", + "breakout_modes": { + "1x400G": ["Eth1(Port1)"], + "2x200G": ["Eth1/1(Port1)", "Eth1/2(Port1)"], + "4x100G": ["Eth1/1(Port1)", "Eth1/2(Port1)", "Eth1/3(Port1)", "Eth1/4(Port1)"], + "1x100G[40G](4)": ["Eth1(Port1)"], + "2x50G(4)": ["Eth1/1(Port1)", "Eth1/2(Port1)"], + "4x25G[10G](4)": ["Eth1/1(Port1)", "Eth1/2(Port1)", "Eth1/3(Port1)", "Eth1/4(Port1)"] + } + }, + + "Ethernet8": { + "index": "2,2,2,2,2,2,2,2", + "lanes": "65,66,67,68,69,70,71,72", + "breakout_modes": { + "1x400G": ["Eth2(Port2)"], + "2x200G": ["Eth2/1(Port2)", "Eth2/2(Port2)"], + "4x100G": ["Eth2/1(Port2)", "Eth2/2(Port2)", "Eth2/3(Port2)", "Eth2/4(Port2)"], + "1x100G[40G](4)": ["Eth2(Port2)"], + "2x50G(4)": ["Eth2/1(Port2)", "Eth2/2(Port2)"], + "4x25G[10G](4)": ["Eth2/1(Port2)", "Eth2/2(Port2)", "Eth2/3(Port2)", "Eth2/4(Port2)"] + } + }, + + "Ethernet16": { + "index": "3,3,3,3,3,3,3,3", + "lanes": "81,82,83,84,85,86,87,88", + "breakout_modes": { + "1x400G": ["Eth3(Port3)"], + "2x200G": ["Eth3/1(Port3)", "Eth3/2(Port3)"], + "4x100G": ["Eth3/1(Port3)", "Eth3/2(Port3)", "Eth3/3(Port3)", "Eth3/4(Port3)"], + "1x100G[40G](4)": ["Eth3(Port3)"], + "2x50G(4)": ["Eth3/1(Port3)", "Eth3/2(Port3)"], + "4x25G[10G](4)": ["Eth3/1(Port3)", "Eth3/2(Port3)", "Eth3/3(Port3)", "Eth3/4(Port3)"] + } + }, + + "Ethernet24": { + "index": "4,4,4,4,4,4,4,4", + "lanes": "89,90,91,92,93,94,95,96", + "breakout_modes": { + "1x400G": ["Eth4(Port4)"], + "2x200G": ["Eth4/1(Port4)", "Eth4/2(Port4)"], + "4x100G": ["Eth4/1(Port4)", "Eth4/2(Port4)", "Eth4/3(Port4)", "Eth4/4(Port4)"], + "1x100G[40G](4)": ["Eth4(Port4)"], + "2x50G(4)": ["Eth4/1(Port4)", "Eth4/2(Port4)"], + "4x25G[10G](4)": ["Eth4/1(Port4)", "Eth4/2(Port4)", "Eth4/3(Port4)", "Eth4/4(Port4)"] + } + }, + + "Ethernet32": { + "index": "5,5,5,5,5,5,5,5", + "lanes": "97,98,99,100,101,102,103,104", + "breakout_modes": { + "1x400G": ["Eth5(Port5)"], + "2x200G": ["Eth5/1(Port5)", "Eth5/2(Port5)"], + "4x100G": ["Eth5/1(Port5)", "Eth5/2(Port5)", "Eth5/3(Port5)", "Eth5/4(Port5)"], + "1x100G[40G](4)": ["Eth5(Port5)"], + "2x50G(4)": ["Eth5/1(Port5)", "Eth5/2(Port5)"], + "4x25G[10G](4)": ["Eth5/1(Port5)", "Eth5/2(Port5)", "Eth5/3(Port5)", "Eth5/4(Port5)"] + } + }, + + "Ethernet40": { + "index": "6,6,6,6,6,6,6,6", + "lanes": "105,106,107,108,109,110,111,112", + "breakout_modes": { + "1x400G": ["Eth6(Port6)"], + "2x200G": ["Eth6/1(Port6)", "Eth6/2(Port6)"], + "4x100G": ["Eth6/1(Port6)", "Eth6/2(Port6)", "Eth6/3(Port6)", "Eth6/4(Port6)"], + "1x100G[40G](4)": ["Eth6(Port6)"], + "2x50G(4)": ["Eth6/1(Port6)", "Eth6/2(Port6)"], + "4x25G[10G](4)": ["Eth6/1(Port6)", "Eth6/2(Port6)", "Eth6/3(Port6)", "Eth6/4(Port6)"] + } + }, + + "Ethernet48": { + "index": "7,7,7,7,7,7,7,7", + "lanes": "113,114,115,116,117,118,119,120", + "breakout_modes": { + "1x400G": ["Eth7(Port7)"], + "2x200G": ["Eth7/1(Port7)", "Eth7/2(Port7)"], + "4x100G": ["Eth7/1(Port7)", "Eth7/2(Port7)", "Eth7/3(Port7)", "Eth7/4(Port7)"], + "1x100G[40G](4)": ["Eth7(Port7)"], + "2x50G(4)": ["Eth7/1(Port7)", "Eth7/2(Port7)"], + "4x25G[10G](4)": ["Eth7/1(Port7)", "Eth7/2(Port7)", "Eth7/3(Port7)", "Eth7/4(Port7)"] + } + }, + + "Ethernet56": { + "index": "8,8,8,8,8,8,8,8", + "lanes": "121,122,123,124,125,126,127,128", + "breakout_modes": { + "1x400G": ["Eth8(Port8)"], + "2x200G": ["Eth8/1(Port8)", "Eth8/2(Port8)"], + "4x100G": ["Eth8/1(Port8)", "Eth8/2(Port8)", "Eth8/3(Port8)", "Eth8/4(Port8)"], + "1x100G[40G](4)": ["Eth8(Port8)"], + "2x50G(4)": ["Eth8/1(Port8)", "Eth8/2(Port8)"], + "4x25G[10G](4)": ["Eth8/1(Port8)", "Eth8/2(Port8)", "Eth8/3(Port8)", "Eth8/4(Port8)"] + } + }, + + "Ethernet64": { + "index": "9,9,9,9,9,9,9,9", + "lanes": "41,42,43,44,45,46,47,48", + "breakout_modes": { + "1x400G": ["Eth9(Port9)"], + "2x200G": ["Eth9/1(Port9)", "Eth9/2(Port9)"], + "4x100G": ["Eth9/1(Port9)", "Eth9/2(Port9)", "Eth9/3(Port9)", "Eth9/4(Port9)"], + "1x100G[40G](4)": ["Eth9(Port9)"], + "2x50G(4)": ["Eth9/1(Port9)", "Eth9/2(Port9)"], + "4x25G[10G](4)": ["Eth9/1(Port9)", "Eth9/2(Port9)", "Eth9/3(Port9)", "Eth9/4(Port9)"] + } + }, + + "Ethernet72": { + "index": "10,10,10,10,10,10,10,10", + "lanes": "33,34,35,36,37,38,39,40", + "breakout_modes": { + "1x400G": ["Eth10(Port10)"], + "2x200G": ["Eth10/1(Port10)", "Eth10/2(Port10)"], + "4x100G": ["Eth10/1(Port10)", "Eth10/2(Port10)", "Eth10/3(Port10)", "Eth10/4(Port10)"], + "1x100G[40G](4)": ["Eth10(Port10)"], + "2x50G(4)": ["Eth10/1(Port10)", "Eth10/2(Port10)"], + "4x25G[10G](4)": ["Eth10/1(Port10)", "Eth10/2(Port10)", "Eth10/3(Port10)", "Eth10/4(Port10)"] + } + }, + + "Ethernet80": { + "index": "11,11,11,11,11,11,11,11", + "lanes": "49,50,51,52,53,54,55,56", + "breakout_modes": { + "1x400G": ["Eth11(Port11)"], + "2x200G": ["Eth11/1(Port11)", "Eth11/2(Port11)"], + "4x100G": ["Eth11/1(Port11)", "Eth11/2(Port11)", "Eth11/3(Port11)", "Eth11/4(Port11)"], + "1x100G[40G](4)": ["Eth11(Port11)"], + "2x50G(4)": ["Eth11/1(Port11)", "Eth11/2(Port11)"], + "4x25G[10G](4)": ["Eth11/1(Port11)", "Eth11/2(Port11)", "Eth11/3(Port11)", "Eth11/4(Port11)"] + } + }, + + "Ethernet88": { + "index": "12,12,12,12,12,12,12,12", + "lanes": "57,58,59,60,61,62,63,64", + "breakout_modes": { + "1x400G": ["Eth12(Port12)"], + "2x200G": ["Eth12/1(Port12)", "Eth12/2(Port12)"], + "4x100G": ["Eth12/1(Port12)", "Eth12/2(Port12)", "Eth12/3(Port12)", "Eth12/4(Port12)"], + "1x100G[40G](4)": ["Eth12(Port12)"], + "2x50G(4)": ["Eth12/1(Port12)", "Eth12/2(Port12)"], + "4x25G[10G](4)": ["Eth12/1(Port12)", "Eth12/2(Port12)", "Eth12/3(Port12)", "Eth12/4(Port12)"] + } + }, + + "Ethernet96": { + "index": "13,13,13,13,13,13,13,13", + "lanes": "129,130,131,132,133,134,135,136", + "breakout_modes": { + "1x400G": ["Eth13(Port13)"], + "2x200G": ["Eth13/1(Port13)", "Eth13/2(Port13)"], + "4x100G": ["Eth13/1(Port13)", "Eth13/2(Port13)", "Eth13/3(Port13)", "Eth13/4(Port13)"], + "1x100G[40G](4)": ["Eth13(Port13)"], + "2x50G(4)": ["Eth13/1(Port13)", "Eth13/2(Port13)"], + "4x25G[10G](4)": ["Eth13/1(Port13)", "Eth13/2(Port13)", "Eth13/3(Port13)", "Eth13/4(Port13)"] + } + }, + + "Ethernet104": { + "index": "14,14,14,14,14,14,14,14", + "lanes": "137,138,139,140,141,142,143,144", + "breakout_modes": { + "1x400G": ["Eth14(Port14)"], + "2x200G": ["Eth14/1(Port14)", "Eth14/2(Port14)"], + "4x100G": ["Eth14/1(Port14)", "Eth14/2(Port14)", "Eth14/3(Port14)", "Eth14/4(Port14)"], + "1x100G[40G](4)": ["Eth14(Port14)"], + "2x50G(4)": ["Eth14/1(Port14)", "Eth14/2(Port14)"], + "4x25G[10G](4)": ["Eth14/1(Port14)", "Eth14/2(Port14)", "Eth14/3(Port14)", "Eth14/4(Port14)"] + } + }, + + "Ethernet112": { + "index": "15,15,15,15,15,15,15,15", + "lanes": "145,146,147,148,149,150,151,152", + "breakout_modes": { + "1x400G": ["Eth15(Port15)"], + "2x200G": ["Eth15/1(Port15)", "Eth15/2(Port15)"], + "4x100G": ["Eth15/1(Port15)", "Eth15/2(Port15)", "Eth15/3(Port15)", "Eth15/4(Port15)"], + "1x100G[40G](4)": ["Eth15(Port15)"], + "2x50G(4)": ["Eth15/1(Port15)", "Eth15/2(Port15)"], + "4x25G[10G](4)": ["Eth15/1(Port15)", "Eth15/2(Port15)", "Eth15/3(Port15)", "Eth15/4(Port15)"] + } + }, + + "Ethernet120": { + "index": "16,16,16,16,16,16,16,16", + "lanes": "153,154,155,156,157,158,159,160", + "breakout_modes": { + "1x400G": ["Eth16(Port16)"], + "2x200G": ["Eth16/1(Port16)", "Eth16/2(Port16)"], + "4x100G": ["Eth16/1(Port16)", "Eth16/2(Port16)", "Eth16/3(Port16)", "Eth16/4(Port16)"], + "1x100G[40G](4)": ["Eth16(Port16)"], + "2x50G(4)": ["Eth16/1(Port16)", "Eth16/2(Port16)"], + "4x25G[10G](4)": ["Eth16/1(Port16)", "Eth16/2(Port16)", "Eth16/3(Port16)", "Eth16/4(Port16)"] + } + }, + + "Ethernet128": { + "index": "17,17,17,17,17,17,17,17", + "lanes": "169,170,171,172,173,174,175,176", + "breakout_modes": { + "1x400G": ["Eth17(Port17)"], + "2x200G": ["Eth17/1(Port17)", "Eth17/2(Port17)"], + "4x100G": ["Eth17/1(Port17)", "Eth17/2(Port17)", "Eth17/3(Port17)", "Eth17/4(Port17)"], + "1x100G[40G](4)": ["Eth17(Port17)"], + "2x50G(4)": ["Eth17/1(Port17)", "Eth17/2(Port17)"], + "4x25G[10G](4)": ["Eth17/1(Port17)", "Eth17/2(Port17)", "Eth17/3(Port17)", "Eth17/4(Port17)"] + } + }, + + "Ethernet136": { + "index": "18,18,18,18,18,18,18,18", + "lanes": "161,162,163,164,165,166,167,168", + "breakout_modes": { + "1x400G": ["Eth18(Port18)"], + "2x200G": ["Eth18/1(Port18)", "Eth18/2(Port18)"], + "4x100G": ["Eth18/1(Port18)", "Eth18/2(Port18)", "Eth18/3(Port18)", "Eth18/4(Port18)"], + "1x100G[40G](4)": ["Eth18(Port18)"], + "2x50G(4)": ["Eth18/1(Port18)", "Eth18/2(Port18)"], + "4x25G[10G](4)": ["Eth18/1(Port18)", "Eth18/2(Port18)", "Eth18/3(Port18)", "Eth18/4(Port18)"] + } + }, + + "Ethernet144": { + "index": "19,19,19,19,19,19,19,19", + "lanes": "177,178,179,180,181,182,183,184", + "breakout_modes": { + "1x400G": ["Eth19(Port19)"], + "2x200G": ["Eth19/1(Port19)", "Eth19/2(Port19)"], + "4x100G": ["Eth19/1(Port19)", "Eth19/2(Port19)", "Eth19/3(Port19)", "Eth19/4(Port19)"], + "1x100G[40G](4)": ["Eth19(Port19)"], + "2x50G(4)": ["Eth19/1(Port19)", "Eth19/2(Port19)"], + "4x25G[10G](4)": ["Eth19/1(Port19)", "Eth19/2(Port19)", "Eth19/3(Port19)", "Eth19/4(Port19)"] + } + }, + + "Ethernet152": { + "index": "20,20,20,20,20,20,20,20", + "lanes": "185,186,187,188,189,190,191,192", + "breakout_modes": { + "1x400G": ["Eth20(Port20)"], + "2x200G": ["Eth20/1(Port20)", "Eth20/2(Port20)"], + "4x100G": ["Eth20/1(Port20)", "Eth20/2(Port20)", "Eth20/3(Port20)", "Eth20/4(Port20)"], + "1x100G[40G](4)": ["Eth20(Port20)"], + "2x50G(4)": ["Eth20/1(Port20)", "Eth20/2(Port20)"], + "4x25G[10G](4)": ["Eth20/1(Port20)", "Eth20/2(Port20)", "Eth20/3(Port20)", "Eth20/4(Port20)"] + } + }, + + "Ethernet160": { + "index": "21,21,21,21,21,21,21,21", + "lanes": "1,2,3,4,5,6,7,8", + "breakout_modes": { + "1x400G": ["Eth21(Port21)"], + "2x200G": ["Eth21/1(Port21)", "Eth21/2(Port21)"], + "4x100G": ["Eth21/1(Port21)", "Eth21/2(Port21)", "Eth21/3(Port21)", "Eth21/4(Port21)"], + "1x100G[40G](4)": ["Eth21(Port21)"], + "2x50G(4)": ["Eth21/1(Port21)", "Eth21/2(Port21)"], + "4x25G[10G](4)": ["Eth21/1(Port21)", "Eth21/2(Port21)", "Eth21/3(Port21)", "Eth21/4(Port21)"] + } + }, + + "Ethernet168": { + "index": "22,22,22,22,22,22,22,22", + "lanes": "9,10,11,12,13,14,15,16", + "breakout_modes": { + "1x400G": ["Eth22(Port22)"], + "2x200G": ["Eth22/1(Port22)", "Eth22/2(Port22)"], + "4x100G": ["Eth22/1(Port22)", "Eth22/2(Port22)", "Eth22/3(Port22)", "Eth22/4(Port22)"], + "1x100G[40G](4)": ["Eth22(Port22)"], + "2x50G(4)": ["Eth22/1(Port22)", "Eth22/2(Port22)"], + "4x25G[10G](4)": ["Eth22/1(Port22)", "Eth22/2(Port22)", "Eth22/3(Port22)", "Eth22/4(Port22)"] + } + }, + + "Ethernet176": { + "index": "23,23,23,23,23,23,23,23", + "lanes": "17,18,19,20,21,22,23,24", + "breakout_modes": { + "1x400G": ["Eth23(Port23)"], + "2x200G": ["Eth23/1(Port23)", "Eth23/2(Port23)"], + "4x100G": ["Eth23/1(Port23)", "Eth23/2(Port23)", "Eth23/3(Port23)", "Eth23/4(Port23)"], + "1x100G[40G](4)": ["Eth23(Port23)"], + "2x50G(4)": ["Eth23/1(Port23)", "Eth23/2(Port23)"], + "4x25G[10G](4)": ["Eth23/1(Port23)", "Eth23/2(Port23)", "Eth23/3(Port23)", "Eth23/4(Port23)"] + } + }, + + "Ethernet184": { + "index": "24,24,24,24,24,24,24,24", + "lanes": "25,26,27,28,29,30,31,32", + "breakout_modes": { + "1x400G": ["Eth24(Port24)"], + "2x200G": ["Eth24/1(Port24)", "Eth24/2(Port24)"], + "4x100G": ["Eth24/1(Port24)", "Eth24/2(Port24)", "Eth24/3(Port24)", "Eth24/4(Port24)"], + "1x100G[40G](4)": ["Eth24(Port24)"], + "2x50G(4)": ["Eth24/1(Port24)", "Eth24/2(Port24)"], + "4x25G[10G](4)": ["Eth24/1(Port24)", "Eth24/2(Port24)", "Eth24/3(Port24)", "Eth24/4(Port24)"] + } + }, + + "Ethernet192": { + "index": "25,25,25,25,25,25,25,25", + "lanes": "201,202,203,204,205,206,207,208", + "breakout_modes": { + "1x400G": ["Eth25(Port25)"], + "2x200G": ["Eth25/1(Port25)", "Eth25/2(Port25)"], + "4x100G": ["Eth25/1(Port25)", "Eth25/2(Port25)", "Eth25/3(Port25)", "Eth25/4(Port25)"], + "1x100G[40G](4)": ["Eth25(Port25)"], + "2x50G(4)": ["Eth25/1(Port25)", "Eth25/2(Port25)"], + "4x25G[10G](4)": ["Eth25/1(Port25)", "Eth25/2(Port25)", "Eth25/3(Port25)", "Eth25/4(Port25)"] + } + }, + + "Ethernet200": { + "index": "26,26,26,26,26,26,26,26", + "lanes": "193,194,195,196,197,198,199,200", + "breakout_modes": { + "1x400G": ["Eth26(Port26)"], + "2x200G": ["Eth26/1(Port26)", "Eth26/2(Port26)"], + "4x100G": ["Eth26/1(Port26)", "Eth26/2(Port26)", "Eth26/3(Port26)", "Eth26/4(Port26)"], + "1x100G[40G](4)": ["Eth26(Port26)"], + "2x50G(4)": ["Eth26/1(Port26)", "Eth26/2(Port26)"], + "4x25G[10G](4)": ["Eth26/1(Port26)", "Eth26/2(Port26)", "Eth26/3(Port26)", "Eth26/4(Port26)"] + } + }, + + "Ethernet208": { + "index": "27,27,27,27,27,27,27,27", + "lanes": "217,218,219,220,221,222,223,224", + "breakout_modes": { + "1x400G": ["Eth27(Port27)"], + "2x200G": ["Eth27/1(Port27)", "Eth27/2(Port27)"], + "4x100G": ["Eth27/1(Port27)", "Eth27/2(Port27)", "Eth27/3(Port27)", "Eth27/4(Port27)"], + "1x100G[40G](4)": ["Eth27(Port27)"], + "2x50G(4)": ["Eth27/1(Port27)", "Eth27/2(Port27)"], + "4x25G[10G](4)": ["Eth27/1(Port27)", "Eth27/2(Port27)", "Eth27/3(Port27)", "Eth27/4(Port27)"] + } + }, + + "Ethernet216": { + "index": "28,28,28,28,28,28,28,28", + "lanes": "209,210,211,212,213,214,215,216", + "breakout_modes": { + "1x400G": ["Eth28(Port28)"], + "2x200G": ["Eth28/1(Port28)", "Eth28/2(Port28)"], + "4x100G": ["Eth28/1(Port28)", "Eth28/2(Port28)", "Eth28/3(Port28)", "Eth28/4(Port28)"], + "1x100G[40G](4)": ["Eth28(Port28)"], + "2x50G(4)": ["Eth28/1(Port28)", "Eth28/2(Port28)"], + "4x25G[10G](4)": ["Eth28/1(Port28)", "Eth28/2(Port28)", "Eth28/3(Port28)", "Eth28/4(Port28)"] + } + }, + + "Ethernet224": { + "index": "29,29,29,29,29,29,29,29", + "lanes": "233,234,235,236,237,238,239,240", + "breakout_modes": { + "1x400G": ["Eth29(Port29)"], + "2x200G": ["Eth29/1(Port29)", "Eth29/2(Port29)"], + "4x100G": ["Eth29/1(Port29)", "Eth29/2(Port29)", "Eth29/3(Port29)", "Eth29/4(Port29)"], + "1x100G[40G](4)": ["Eth29(Port29)"], + "2x50G(4)": ["Eth29/1(Port29)", "Eth29/2(Port29)"], + "4x25G[10G](4)": ["Eth29/1(Port29)", "Eth29/2(Port29)", "Eth29/3(Port29)", "Eth29/4(Port29)"] + } + }, + + "Ethernet232": { + "index": "30,30,30,30,30,30,30,30", + "lanes": "225,226,227,228,229,230,231,232", + "breakout_modes": { + "1x400G": ["Eth30(Port30)"], + "2x200G": ["Eth30/1(Port30)", "Eth30/2(Port30)"], + "4x100G": ["Eth30/1(Port30)", "Eth30/2(Port30)", "Eth30/3(Port30)", "Eth30/4(Port30)"], + "1x100G[40G](4)": ["Eth30(Port30)"], + "2x50G(4)": ["Eth30/1(Port30)", "Eth30/2(Port30)"], + "4x25G[10G](4)": ["Eth30/1(Port30)", "Eth30/2(Port30)", "Eth30/3(Port30)", "Eth30/4(Port30)"] + } + }, + + "Ethernet240": { + "index": "31,31,31,31,31,31,31,31", + "lanes": "249,250,251,252,253,254,255,256", + "breakout_modes": { + "1x400G": ["Eth31(Port31)"], + "2x200G": ["Eth31/1(Port31)", "Eth31/2(Port31)"], + "4x100G": ["Eth31/1(Port31)", "Eth31/2(Port31)", "Eth31/3(Port31)", "Eth31/4(Port31)"], + "1x100G[40G](4)": ["Eth31(Port31)"], + "2x50G(4)": ["Eth31/1(Port31)", "Eth31/2(Port31)"], + "4x25G[10G](4)": ["Eth31/1(Port31)", "Eth31/2(Port31)", "Eth31/3(Port31)", "Eth31/4(Port31)"] + } + }, + + "Ethernet248": { + "index": "32,32,32,32,32,32,32,32", + "lanes": "241,242,243,244,245,246,247,248", + "breakout_modes": { + "1x400G": ["Eth32(Port32)"], + "2x200G": ["Eth32/1(Port32)", "Eth32/2(Port32)"], + "4x100G": ["Eth32/1(Port32)", "Eth32/2(Port32)", "Eth32/3(Port32)", "Eth32/4(Port32)"], + "1x100G[40G](4)": ["Eth32(Port32)"], + "2x50G(4)": ["Eth32/1(Port32)", "Eth32/2(Port32)"], + "4x25G[10G](4)": ["Eth32/1(Port32)", "Eth32/2(Port32)", "Eth32/3(Port32)", "Eth32/4(Port32)"] + } + } + } +} + diff --git a/device/accton/x86_64-accton_as9716_32d-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as9716_32d-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as9716_32d-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as9726_32d-r0/Accton-AS9726-32D/hwsku.json b/device/accton/x86_64-accton_as9726_32d-r0/Accton-AS9726-32D/hwsku.json new file mode 100644 index 0000000000..dc68e55859 --- /dev/null +++ b/device/accton/x86_64-accton_as9726_32d-r0/Accton-AS9726-32D/hwsku.json @@ -0,0 +1,174 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet8": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet16": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet24": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet32": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet40": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet48": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet56": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet64": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet72": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet80": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet88": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet96": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet104": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet112": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet120": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet128": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet136": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet144": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet152": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet160": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet168": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet176": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet184": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet192": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet200": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet208": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet216": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet224": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet232": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet240": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet248": { + "default_brkout_mode": "1x400G", + "autoneg": "off" + }, + + "Ethernet256": { + "default_brkout_mode": "1x10G[1G]", + "autoneg": "off" + }, + + "Ethernet257": { + "default_brkout_mode": "1x10G[1G]", + "autoneg": "off" + } + } +} + diff --git a/device/accton/x86_64-accton_as9726_32d-r0/Accton-AS9726-32D/port_config.ini b/device/accton/x86_64-accton_as9726_32d-r0/Accton-AS9726-32D/port_config.ini index f7fcf8517d..da6800cda1 100644 --- a/device/accton/x86_64-accton_as9726_32d-r0/Accton-AS9726-32D/port_config.ini +++ b/device/accton/x86_64-accton_as9726_32d-r0/Accton-AS9726-32D/port_config.ini @@ -1,35 +1,35 @@ -# name lanes alias index speed -Ethernet1 73,74,75,76,77,78,79,80 fourHundredGigE1 1 400000 -Ethernet2 65,66,67,68,69,70,71,72 fourHundredGigE2 2 400000 -Ethernet3 81,82,83,84,85,86,87,88 fourHundredGigE3 3 400000 -Ethernet4 89,90,91,92,93,94,95,96 fourHundredGigE4 4 400000 -Ethernet5 97,98,99,100,101,102,103,104 fourHundredGigE5 5 400000 -Ethernet6 105,106,107,108,109,110,111,112 fourHundredGigE6 6 400000 -Ethernet7 113,114,115,116,117,118,119,120 fourHundredGigE7 7 400000 -Ethernet8 121,122,123,124,125,126,127,128 fourHundredGigE8 8 400000 -Ethernet9 41,42,43,44,45,46,47,48 fourHundredGigE9 9 400000 -Ethernet10 33,34,35,36,37,38,39,40 fourHundredGigE10 10 400000 -Ethernet11 49,50,51,52,53,54,55,56 fourHundredGigE11 11 400000 -Ethernet12 57,58,59,60,61,62,63,64 fourHundredGigE12 12 400000 -Ethernet13 129,130,131,132,133,134,135,136 fourHundredGigE13 13 400000 -Ethernet14 137,138,139,140,141,142,143,144 fourHundredGigE14 14 400000 -Ethernet15 145,146,147,148,149,150,151,152 fourHundredGigE15 15 400000 -Ethernet16 153,154,155,156,157,158,159,160 fourHundredGigE16 16 400000 -Ethernet17 169,170,171,172,173,174,175,176 fourHundredGigE17 17 400000 -Ethernet18 161,162,163,164,165,166,167,168 fourHundredGigE18 18 400000 -Ethernet19 177,178,179,180,181,182,183,184 fourHundredGigE19 19 400000 -Ethernet20 185,186,187,188,189,190,191,192 fourHundredGigE20 20 400000 -Ethernet21 1,2,3,4,5,6,7,8 fourHundredGigE21 21 400000 -Ethernet22 9,10,11,12,13,14,15,16 fourHundredGigE22 22 400000 -Ethernet23 17,18,19,20,21,22,23,24 fourHundredGigE23 23 400000 -Ethernet24 25,26,27,28,29,30,31,32 fourHundredGigE24 24 400000 -Ethernet25 201,202,203,204,205,206,207,208 fourHundredGigE25 25 400000 -Ethernet26 193,194,195,196,197,198,199,200 fourHundredGigE26 26 400000 -Ethernet27 217,218,219,220,221,222,223,224 fourHundredGigE27 27 400000 -Ethernet28 209,210,211,212,213,214,215,216 fourHundredGigE28 28 400000 -Ethernet29 233,234,235,236,237,238,239,240 fourHundredGigE29 29 400000 -Ethernet30 225,226,227,228,229,230,231,232 fourHundredGigE30 30 400000 -Ethernet31 249,250,251,252,253,254,255,256 fourHundredGigE31 31 400000 -Ethernet32 241,242,243,244,245,246,247,248 fourHundredGigE32 32 400000 -Ethernet33 249 tenGigE33 33 10000 -Ethernet34 250 tenGigE34 34 10000 +# name lanes alias index speed +Ethernet0 73,74,75,76,77,78,79,80 Eth1(Port1) 1 400000 +Ethernet8 65,66,67,68,69,70,71,72 Eth2(Port2) 2 400000 +Ethernet16 81,82,83,84,85,86,87,88 Eth3(Port3) 3 400000 +Ethernet24 89,90,91,92,93,94,95,96 Eth4(Port4) 4 400000 +Ethernet32 97,98,99,100,101,102,103,104 Eth5(Port5) 5 400000 +Ethernet40 105,106,107,108,109,110,111,112 Eth6(Port6) 6 400000 +Ethernet48 113,114,115,116,117,118,119,120 Eth7(Port7) 7 400000 +Ethernet56 121,122,123,124,125,126,127,128 Eth8(Port8) 8 400000 +Ethernet64 41,42,43,44,45,46,47,48 Eth9(Port9) 9 400000 +Ethernet72 33,34,35,36,37,38,39,40 Eth10(Port10) 10 400000 +Ethernet80 49,50,51,52,53,54,55,56 Eth11(Port11) 11 400000 +Ethernet88 57,58,59,60,61,62,63,64 Eth12(Port12) 12 400000 +Ethernet96 129,130,131,132,133,134,135,136 Eth13(Port13) 13 400000 +Ethernet104 137,138,139,140,141,142,143,144 Eth14(Port14) 14 400000 +Ethernet112 145,146,147,148,149,150,151,152 Eth15(Port15) 15 400000 +Ethernet120 153,154,155,156,157,158,159,160 Eth16(Port16) 16 400000 +Ethernet128 169,170,171,172,173,174,175,176 Eth17(Port17) 17 400000 +Ethernet136 161,162,163,164,165,166,167,168 Eth18(Port18) 18 400000 +Ethernet144 177,178,179,180,181,182,183,184 Eth19(Port19) 19 400000 +Ethernet152 185,186,187,188,189,190,191,192 Eth20(Port20) 20 400000 +Ethernet160 1,2,3,4,5,6,7,8 Eth21(Port21) 21 400000 +Ethernet168 9,10,11,12,13,14,15,16 Eth22(Port22) 22 400000 +Ethernet176 17,18,19,20,21,22,23,24 Eth23(Port23) 23 400000 +Ethernet184 25,26,27,28,29,30,31,32 Eth24(Port24) 24 400000 +Ethernet192 201,202,203,204,205,206,207,208 Eth25(Port25) 25 400000 +Ethernet200 193,194,195,196,197,198,199,200 Eth26(Port26) 26 400000 +Ethernet208 217,218,219,220,221,222,223,224 Eth27(Port27) 27 400000 +Ethernet216 209,210,211,212,213,214,215,216 Eth28(Port28) 28 400000 +Ethernet224 233,234,235,236,237,238,239,240 Eth29(Port29) 29 400000 +Ethernet232 225,226,227,228,229,230,231,232 Eth30(Port30) 30 400000 +Ethernet240 249,250,251,252,253,254,255,256 Eth31(Port31) 31 400000 +Ethernet248 241,242,243,244,245,246,247,248 Eth32(Port32) 32 400000 +Ethernet256 259 Eth33(Port33) 33 10000 +Ethernet257 260 Eth34(Port34) 34 10000 diff --git a/device/accton/x86_64-accton_as9726_32d-r0/Accton-AS9726-32D/sai.profile b/device/accton/x86_64-accton_as9726_32d-r0/Accton-AS9726-32D/sai.profile new file mode 100644 index 0000000000..40702dd484 --- /dev/null +++ b/device/accton/x86_64-accton_as9726_32d-r0/Accton-AS9726-32D/sai.profile @@ -0,0 +1 @@ +SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/td4-as9726-32x400G.config.yml diff --git a/device/accton/x86_64-accton_as9726_32d-r0/Accton-AS9726-32D/td4-as9726-32x400G.config.yml b/device/accton/x86_64-accton_as9726_32d-r0/Accton-AS9726-32D/td4-as9726-32x400G.config.yml new file mode 100644 index 0000000000..d7fc025beb --- /dev/null +++ b/device/accton/x86_64-accton_as9726_32d-r0/Accton-AS9726-32D/td4-as9726-32x400G.config.yml @@ -0,0 +1,669 @@ +# +# BCM56880 32x400g port configuration. +# +# configuration yaml file +# device: +# : +# : +# ? +# : +# : +# ... +# : +# : +# : +# : +# ... +# : +# +# $Copyright: (c) 2019 Broadcom. +# Broadcom Proprietary and Confidential. All rights reserved.$ +# + +--- +bcm_device: + 0: + global: + bcm_tunnel_term_compatible_mode: 1 + # Multicast group allocated by brcm-sai, setting "vlan_flooding_l2mc_num_reserved=0" + vlan_flooding_l2mc_num_reserved: 0 + shared_block_mask_section: uc_bc + sai_tunnel_support: 1 + l3_alpm_template: 1 + l3_alpm2_bnk_threshold: 100 + uft_mode: 1 + l3_enable: 1 + l2_hitbit_enable: 1 + pktio_mode: 1 + skip_protocol_default_entries: 1 + ifa_enable: 1 +... +--- +device: + 0: + DEVICE_CONFIG: + # CORE CLOCK FREQUENCY + CORE_CLK_FREQ: CLK_1350MHZ + # PP CLOCK FREQUENCY + PP_CLK_FREQ: CLK_1350MHZ +... +--- +device: + 0: + PC_PM_CORE: + ? + PC_PM_ID: 1 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x01476352 + TX_LANE_MAP: 0x67015324 + RX_POLARITY_FLIP: 0xFF + TX_POLARITY_FLIP: 0xDD + ? + PC_PM_ID: 2 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x21563047 + TX_LANE_MAP: 0x70146253 + RX_POLARITY_FLIP: 0xEF + TX_POLARITY_FLIP: 0x6 + ? + PC_PM_ID: 3 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x34216570 + TX_LANE_MAP: 0x02453617 + RX_POLARITY_FLIP: 0x0 + TX_POLARITY_FLIP: 0xEE + ? + PC_PM_ID: 4 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x26531470 + TX_LANE_MAP: 0x40726513 + RX_POLARITY_FLIP: 0xFF + TX_POLARITY_FLIP: 0xBE + ? + PC_PM_ID: 5 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x23641705 + TX_LANE_MAP: 0x45326071 + RX_POLARITY_FLIP: 0xFF + TX_POLARITY_FLIP: 0xB3 + ? + PC_PM_ID: 6 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x45013726 + TX_LANE_MAP: 0x23170564 + RX_POLARITY_FLIP: 0x0 + TX_POLARITY_FLIP: 0x21 + ? + PC_PM_ID: 7 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x41025763 + TX_LANE_MAP: 0x25674013 + RX_POLARITY_FLIP: 0x0 + TX_POLARITY_FLIP: 0x4 + ? + PC_PM_ID: 8 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x01675243 + TX_LANE_MAP: 0x07236415 + RX_POLARITY_FLIP: 0xFF + TX_POLARITY_FLIP: 0xEB + ? + PC_PM_ID: 9 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x56024713 + TX_LANE_MAP: 0x21670534 + RX_POLARITY_FLIP: 0x0 + TX_POLARITY_FLIP: 0x3E + ? + PC_PM_ID: 10 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x01675342 + TX_LANE_MAP: 0x43607512 + RX_POLARITY_FLIP: 0xFF + TX_POLARITY_FLIP: 0x3D + ? + PC_PM_ID: 11 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x20563147 + TX_LANE_MAP: 0x50126734 + RX_POLARITY_FLIP: 0xFF + TX_POLARITY_FLIP: 0xF3 + ? + PC_PM_ID: 12 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x46150723 + TX_LANE_MAP: 0x13456072 + RX_POLARITY_FLIP: 0x0 + TX_POLARITY_FLIP: 0xEA + ? + PC_PM_ID: 13 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x51276034 + TX_LANE_MAP: 0x35476012 + RX_POLARITY_FLIP: 0xC5 + TX_POLARITY_FLIP: 0xED + ? + PC_PM_ID: 14 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x65217430 + TX_LANE_MAP: 0x02541637 + RX_POLARITY_FLIP: 0x0 + TX_POLARITY_FLIP: 0x4 + ? + PC_PM_ID: 15 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x32461057 + TX_LANE_MAP: 0x54107362 + RX_POLARITY_FLIP: 0xFF + TX_POLARITY_FLIP: 0xCD + ? + PC_PM_ID: 16 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x31405267 + TX_LANE_MAP: 0x63150724 + RX_POLARITY_FLIP: 0xFF + TX_POLARITY_FLIP: 0xF4 + ? + PC_PM_ID: 17 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x01475263 + TX_LANE_MAP: 0x63017524 + RX_POLARITY_FLIP: 0xFF + TX_POLARITY_FLIP: 0xFF + ? + PC_PM_ID: 18 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x21463057 + TX_LANE_MAP: 0x70135462 + RX_POLARITY_FLIP: 0xFF + TX_POLARITY_FLIP: 0x9C + ? + PC_PM_ID: 19 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x64217530 + TX_LANE_MAP: 0x23561407 + RX_POLARITY_FLIP: 0x0 + TX_POLARITY_FLIP: 0x53 + ? + PC_PM_ID: 20 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x10652473 + TX_LANE_MAP: 0x25306417 + RX_POLARITY_FLIP: 0x14 + TX_POLARITY_FLIP: 0xCA + ? + PC_PM_ID: 21 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x24561307 + TX_LANE_MAP: 0x65407321 + RX_POLARITY_FLIP: 0xFF + TX_POLARITY_FLIP: 0x37 + ? + PC_PM_ID: 22 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x27416350 + TX_LANE_MAP: 0x06573421 + RX_POLARITY_FLIP: 0x0 + TX_POLARITY_FLIP: 0xFB + ? + PC_PM_ID: 23 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x40517263 + TX_LANE_MAP: 0x30742516 + RX_POLARITY_FLIP: 0x0 + TX_POLARITY_FLIP: 0xB1 + ? + PC_PM_ID: 24 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x02561347 + TX_LANE_MAP: 0x53017624 + RX_POLARITY_FLIP: 0xFF + TX_POLARITY_FLIP: 0x23 + ? + PC_PM_ID: 25 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x64127503 + TX_LANE_MAP: 0x40572613 + RX_POLARITY_FLIP: 0x0 + TX_POLARITY_FLIP: 0xC + ? + PC_PM_ID: 26 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x01475362 + TX_LANE_MAP: 0x67015324 + RX_POLARITY_FLIP: 0xFF + TX_POLARITY_FLIP: 0x5C + ? + PC_PM_ID: 27 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x46150723 + TX_LANE_MAP: 0x21630754 + RX_POLARITY_FLIP: 0x0 + TX_POLARITY_FLIP: 0xA0 + ? + PC_PM_ID: 28 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x20563147 + TX_LANE_MAP: 0x23607451 + RX_POLARITY_FLIP: 0xFF + TX_POLARITY_FLIP: 0xCF + ? + PC_PM_ID: 29 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x72541360 + TX_LANE_MAP: 0x50461237 + RX_POLARITY_FLIP: 0x22 + TX_POLARITY_FLIP: 0x15 + ? + PC_PM_ID: 30 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x32465071 + TX_LANE_MAP: 0x64312705 + RX_POLARITY_FLIP: 0xFF + TX_POLARITY_FLIP: 0x7F + ? + PC_PM_ID: 31 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x56412730 + TX_LANE_MAP: 0x31647250 + RX_POLARITY_FLIP: 0x0 + TX_POLARITY_FLIP: 0x20 + ? + PC_PM_ID: 32 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x64127503 + TX_LANE_MAP: 0x54321607 + RX_POLARITY_FLIP: 0x0 + TX_POLARITY_FLIP: 0x80 +... +--- +device: + 0: + PC_PORT_PHYS_MAP: + ? + # CPU port + PORT_ID: 0 + : + PC_PHYS_PORT_ID: 0 + ? + PORT_ID: 1 + : + PC_PHYS_PORT_ID: 1 #TSC-BH7 0 in Pipe 0 + ? + PORT_ID: 2 + : + PC_PHYS_PORT_ID: 9 #TSC-BH7 1 in Pipe 0 + ? + PORT_ID: 3 + : + PC_PHYS_PORT_ID: 17 #TSC-BH7 2 in Pipe 0 + ? + PORT_ID: 4 + : + PC_PHYS_PORT_ID: 25 #TSC-BH7 3 in Pipe 0 + ? + PORT_ID: 20 + : + PC_PHYS_PORT_ID: 33 #TSC-BH7 4 in Pipe 1 + ? + PORT_ID: 21 + : + PC_PHYS_PORT_ID: 41 #TSC-BH7 5 in Pipe 1 + ? + PORT_ID: 22 + : + PC_PHYS_PORT_ID: 49 #TSC-BH7 6 in Pipe 1 + ? + PORT_ID: 23 + : + PC_PHYS_PORT_ID: 57 #TSC-BH7 7 in Pipe 1 + ? + PORT_ID: 40 + : + PC_PHYS_PORT_ID: 65 #TSC-BH7 8 in Pipe 2 + ? + PORT_ID: 41 + : + PC_PHYS_PORT_ID: 73 #TSC-BH7 9 in Pipe 2 + ? + PORT_ID: 42 + : + PC_PHYS_PORT_ID: 81 #TSC-BH7 10 in Pipe 2 + ? + PORT_ID: 43 + : + PC_PHYS_PORT_ID: 89 #TSC-BH7 11 in Pipe 2 + ? + PORT_ID: 60 + : + PC_PHYS_PORT_ID: 97 #TSC-BH7 12 in Pipe 3 + ? + PORT_ID: 61 + : + PC_PHYS_PORT_ID: 105 #TSC-BH7 13 in Pipe 3 + ? + PORT_ID: 62 + : + PC_PHYS_PORT_ID: 113 #TSC-BH7 14 in Pipe 3 + ? + PORT_ID: 63 + : + PC_PHYS_PORT_ID: 121 #TSC-BH7 15 in Pipe 3 + ? + PORT_ID: 80 + : + PC_PHYS_PORT_ID: 129 #TSC-BH7 16 in Pipe 4 + ? + PORT_ID: 81 + : + PC_PHYS_PORT_ID: 137 #TSC-BH7 17 in Pipe 4 + ? + PORT_ID: 82 + : + PC_PHYS_PORT_ID: 145 #TSC-BH7 18 in Pipe 4 + ? + PORT_ID: 83 + : + PC_PHYS_PORT_ID: 153 #TSC-BH7 19 in Pipe 4 + ? + PORT_ID: 100 + : + PC_PHYS_PORT_ID: 161 #TSC-BH7 20 in Pipe 5 + ? + PORT_ID: 101 + : + PC_PHYS_PORT_ID: 169 #TSC-BH7 21 in Pipe 5 + ? + PORT_ID: 102 + : + PC_PHYS_PORT_ID: 177 #TSC-BH7 22 in Pipe 5 + ? + PORT_ID: 103 + : + PC_PHYS_PORT_ID: 185 #TSC-BH7 23 in Pipe 5 + ? + PORT_ID: 120 + : + PC_PHYS_PORT_ID: 193 #TSC-BH7 24 in Pipe 6 + ? + PORT_ID: 121 + : + PC_PHYS_PORT_ID: 201 #TSC-BH7 25 in Pipe 6 + ? + PORT_ID: 122 + : + PC_PHYS_PORT_ID: 209 #TSC-BH7 26 in Pipe 6 + ? + PORT_ID: 123 + : + PC_PHYS_PORT_ID: 217 #TSC-BH7 27 in Pipe 6 + ? + PORT_ID: 140 + : + PC_PHYS_PORT_ID: 225 #TSC-BH7 28 in Pipe 7 + ? + PORT_ID: 141 + : + PC_PHYS_PORT_ID: 233 #TSC-BH7 29 in Pipe 7 + ? + PORT_ID: 142 + : + PC_PHYS_PORT_ID: 241 #TSC-BH7 30 in Pipe 7 + ? + PORT_ID: 143 + : + PC_PHYS_PORT_ID: 249 #TSC-BH7 31 in Pipe 7 + #? + # Management port 0 (Pipe 1) - CPU + # PORT_ID: 38 + #: + # PC_PHYS_PORT_ID: 257 + #? + # Management port 1 (Pipe 3) - CPU + # PORT_ID: 78 + #: + # PC_PHYS_PORT_ID: 258 + ? + # Management port 2 (Pipe 5) - Front Panel Port + PORT_ID: 118 + : + PC_PHYS_PORT_ID: 259 + ? + # Management port 3 (Pipe 7) - Front Panel Port + PORT_ID: 158 + : + PC_PHYS_PORT_ID: 260 +... +--- +device: + 0: + PC_PORT: + ? + PORT_ID: 0 + : + &port_mode_10g + ENABLE: 1 + SPEED: 10000 + NUM_LANES: 1 + ? + PORT_ID: [[1, 4], + [20, 23], + [40, 43], + [60, 63], + [80, 83], + [100, 103], + [120, 123], + [140, 143]] + : + &port_mode_400g + ENABLE: 0 + SPEED: 400000 + NUM_LANES: 8 + FEC_MODE: PC_FEC_RS544_2XN + MAX_FRAME_SIZE: 9416 + #LINK_TRAINING: 1 + #? + # PORT_ID: [38, # Management port 0 (Pipe 1) - CPU + # 78] # Management port 1 (Pipe 3) - CPU + #: + # &port_mode_10g_xfi + # ENABLE: 0 + # SPEED: 10000 + # NUM_LANES: 1 + # MAX_FRAME_SIZE: 9416 + ? + PORT_ID: [118, # Management port 2 (Pipe 5) - Front Panel Port + 158] # Management port 3 (Pipe 7) - Front Panel Port + : + &port_mode_10g_xfi + ENABLE: 0 + SPEED: 10000 + NUM_LANES: 1 + MAX_FRAME_SIZE: 9416 + + PC_PMD_FIRMWARE: + ? + PORT_ID: [[1, 4], + [20, 23], + [40, 43], + [60, 63], + [80, 83], + [100, 103], + [120, 123], + [140, 143]] + : + MEDIUM_TYPE_AUTO: 0 + MEDIUM_TYPE: PC_PHY_MEDIUM_COPPER +... +--- +device: + 0: + TM_SCHEDULER_CONFIG: + NUM_MC_Q: NUM_MC_Q_4 +... +--- +device: + 0: + FP_CONFIG: + FP_ING_OPERMODE: GLOBAL_PIPE_AWARE +... diff --git a/device/accton/x86_64-accton_as9726_32d-r0/installer.conf b/device/accton/x86_64-accton_as9726_32d-r0/installer.conf index 925a32fc0c..d5f9419d77 100644 --- a/device/accton/x86_64-accton_as9726_32d-r0/installer.conf +++ b/device/accton/x86_64-accton_as9726_32d-r0/installer.conf @@ -1,3 +1,4 @@ CONSOLE_PORT=0x3f8 CONSOLE_DEV=0 CONSOLE_SPEED=115200 +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="pcie_aspm=off" diff --git a/device/accton/x86_64-accton_as9726_32d-r0/platform.json b/device/accton/x86_64-accton_as9726_32d-r0/platform.json new file mode 100644 index 0000000000..c667f3e64d --- /dev/null +++ b/device/accton/x86_64-accton_as9726_32d-r0/platform.json @@ -0,0 +1,713 @@ +{ + "chassis": { + "name": "9726-32D", + "components": [ + { + "name": "CPLD1" + }, + { + "name": "CPLD2" + }, + { + "name": "CPLD3" + }, + { + "name": "CPLD4" + }, + { + "name": "CPLD5" + }, + { + "name": "BIOS" + } + ], + "fans": [ + { + "name": "FAN-1F" + }, + { + "name": "FAN-1R" + }, + { + "name": "FAN-2F" + }, + { + "name": "FAN-2R" + }, + { + "name": "FAN-3F" + }, + { + "name": "FAN-3R" + }, + { + "name": "FAN-4F" + }, + { + "name": "FAN-4R" + }, + { + "name": "FAN-5F" + }, + { + "name": "FAN-5R" + }, + { + "name": "FAN-6F" + }, + { + "name": "FAN-6R" + } + ], + "fan_drawers":[ + { + "name": "FanTray1", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-1F" + }, + { + "name": "FAN-1R" + } + ] + }, + { + "name": "FanTray2", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-2F" + }, + { + "name": "FAN-2R" + } + ] + }, + { + "name": "FanTray3", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-3F" + }, + { + "name": "FAN-3R" + } + ] + }, + { + "name": "FanTray4", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-4F" + }, + { + "name": "FAN-4R" + } + ] + }, + { + "name": "FanTray5", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-5F" + }, + { + "name": "FAN-5R" + } + ] + }, + { + "name": "FanTray6", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-6F" + }, + { + "name": "FAN-6R" + } + ] + } + ], + "psus": [ + { + "name": "PSU-1", + "fans": [ + { + "name": "PSU-1 FAN-1" + } + ] + }, + { + "name": "PSU-2", + "fans": [ + { + "name": "PSU-2 FAN-1" + } + ] + } + ], + "thermals": [ + { + "name": "Temp sensor 1" + }, + { + "name": "Temp sensor 2" + }, + { + "name": "Temp sensor 3" + }, + { + "name": "Temp sensor 4" + }, + { + "name": "Temp sensor 5" + }, + { + "name": "Temp sensor 6" + } + ], + "sfps": [ + { + "name": "Ethernet0" + }, + { + "name": "Ethernet8" + }, + { + "name": "Ethernet16" + }, + { + "name": "Ethernet24" + }, + { + "name": "Ethernet32" + }, + { + "name": "Ethernet40" + }, + { + "name": "Ethernet48" + }, + { + "name": "Ethernet56" + }, + { + "name": "Ethernet64" + }, + { + "name": "Ethernet72" + }, + { + "name": "Ethernet80" + }, + { + "name": "Ethernet88" + }, + { + "name": "Ethernet96" + }, + { + "name": "Ethernet104" + }, + { + "name": "Ethernet112" + }, + { + "name": "Ethernet120" + }, + { + "name": "Ethernet128" + }, + { + "name": "Ethernet136" + }, + { + "name": "Ethernet144" + }, + { + "name": "Ethernet152" + }, + { + "name": "Ethernet160" + }, + { + "name": "Ethernet168" + }, + { + "name": "Ethernet176" + }, + { + "name": "Ethernet184" + }, + { + "name": "Ethernet192" + }, + { + "name": "Ethernet200" + }, + { + "name": "Ethernet208" + }, + { + "name": "Ethernet216" + }, + { + "name": "Ethernet224" + }, + { + "name": "Ethernet232" + }, + { + "name": "Ethernet240" + }, + { + "name": "Ethernet248" + }, + { + "name": "Ethernet256" + }, + { + "name": "Ethernet257" + } + ] + }, + "interfaces": { + "Ethernet0": { + "index": "1,1,1,1,1,1,1,1", + "lanes": "73,74,75,76,77,78,79,80", + "breakout_modes": { + "1x400G": ["Eth1(Port1)"], + "2x200G": ["Eth1/1(Port1)", "Eth1/2(Port1)"], + "4x100G": ["Eth1/1(Port1)", "Eth1/2(Port1)", "Eth1/3(Port1)", "Eth1/4(Port1)"], + "1x100G[40G](4)": ["Eth1(Port1)"], + "2x50G(4)": ["Eth1/1(Port1)", "Eth1/2(Port1)"], + "4x25G[10G](4)": ["Eth1/1(Port1)", "Eth1/2(Port1)", "Eth1/3(Port1)", "Eth1/4(Port1)"] + } + }, + + "Ethernet8": { + "index": "2,2,2,2,2,2,2,2", + "lanes": "65,66,67,68,69,70,71,72", + "breakout_modes": { + "1x400G": ["Eth2(Port2)"], + "2x200G": ["Eth2/1(Port2)", "Eth2/2(Port2)"], + "4x100G": ["Eth2/1(Port2)", "Eth2/2(Port2)", "Eth2/3(Port2)", "Eth2/4(Port2)"], + "1x100G[40G](4)": ["Eth2(Port2)"], + "2x50G(4)": ["Eth2/1(Port2)", "Eth2/2(Port2)"], + "4x25G[10G](4)": ["Eth2/1(Port2)", "Eth2/2(Port2)", "Eth2/3(Port2)", "Eth2/4(Port2)"] + } + }, + + "Ethernet16": { + "index": "3,3,3,3,3,3,3,3", + "lanes": "81,82,83,84,85,86,87,88", + "breakout_modes": { + "1x400G": ["Eth3(Port3)"], + "2x200G": ["Eth3/1(Port3)", "Eth3/2(Port3)"], + "4x100G": ["Eth3/1(Port3)", "Eth3/2(Port3)", "Eth3/3(Port3)", "Eth3/4(Port3)"], + "1x100G[40G](4)": ["Eth3(Port3)"], + "2x50G(4)": ["Eth3/1(Port3)", "Eth3/2(Port3)"], + "4x25G[10G](4)": ["Eth3/1(Port3)", "Eth3/2(Port3)", "Eth3/3(Port3)", "Eth3/4(Port3)"] + } + }, + + "Ethernet24": { + "index": "4,4,4,4,4,4,4,4", + "lanes": "89,90,91,92,93,94,95,96", + "breakout_modes": { + "1x400G": ["Eth4(Port4)"], + "2x200G": ["Eth4/1(Port4)", "Eth4/2(Port4)"], + "4x100G": ["Eth4/1(Port4)", "Eth4/2(Port4)", "Eth4/3(Port4)", "Eth4/4(Port4)"], + "1x100G[40G](4)": ["Eth4(Port4)"], + "2x50G(4)": ["Eth4/1(Port4)", "Eth4/2(Port4)"], + "4x25G[10G](4)": ["Eth4/1(Port4)", "Eth4/2(Port4)", "Eth4/3(Port4)", "Eth4/4(Port4)"] + } + }, + + "Ethernet32": { + "index": "5,5,5,5,5,5,5,5", + "lanes": "97,98,99,100,101,102,103,104", + "breakout_modes": { + "1x400G": ["Eth5(Port5)"], + "2x200G": ["Eth5/1(Port5)", "Eth5/2(Port5)"], + "4x100G": ["Eth5/1(Port5)", "Eth5/2(Port5)", "Eth5/3(Port5)", "Eth5/4(Port5)"], + "1x100G[40G](4)": ["Eth5(Port5)"], + "2x50G(4)": ["Eth5/1(Port5)", "Eth5/2(Port5)"], + "4x25G[10G](4)": ["Eth5/1(Port5)", "Eth5/2(Port5)", "Eth5/3(Port5)", "Eth5/4(Port5)"] + } + }, + + "Ethernet40": { + "index": "6,6,6,6,6,6,6,6", + "lanes": "105,106,107,108,109,110,111,112", + "breakout_modes": { + "1x400G": ["Eth6(Port6)"], + "2x200G": ["Eth6/1(Port6)", "Eth6/2(Port6)"], + "4x100G": ["Eth6/1(Port6)", "Eth6/2(Port6)", "Eth6/3(Port6)", "Eth6/4(Port6)"], + "1x100G[40G](4)": ["Eth6(Port6)"], + "2x50G(4)": ["Eth6/1(Port6)", "Eth6/2(Port6)"], + "4x25G[10G](4)": ["Eth6/1(Port6)", "Eth6/2(Port6)", "Eth6/3(Port6)", "Eth6/4(Port6)"] + } + }, + + "Ethernet48": { + "index": "7,7,7,7,7,7,7,7", + "lanes": "113,114,115,116,117,118,119,120", + "breakout_modes": { + "1x400G": ["Eth7(Port7)"], + "2x200G": ["Eth7/1(Port7)", "Eth7/2(Port7)"], + "4x100G": ["Eth7/1(Port7)", "Eth7/2(Port7)", "Eth7/3(Port7)", "Eth7/4(Port7)"], + "1x100G[40G](4)": ["Eth7(Port7)"], + "2x50G(4)": ["Eth7/1(Port7)", "Eth7/2(Port7)"], + "4x25G[10G](4)": ["Eth7/1(Port7)", "Eth7/2(Port7)", "Eth7/3(Port7)", "Eth7/4(Port7)"] + } + }, + + "Ethernet56": { + "index": "8,8,8,8,8,8,8,8", + "lanes": "121,122,123,124,125,126,127,128", + "breakout_modes": { + "1x400G": ["Eth8(Port8)"], + "2x200G": ["Eth8/1(Port8)", "Eth8/2(Port8)"], + "4x100G": ["Eth8/1(Port8)", "Eth8/2(Port8)", "Eth8/3(Port8)", "Eth8/4(Port8)"], + "1x100G[40G](4)": ["Eth8(Port8)"], + "2x50G(4)": ["Eth8/1(Port8)", "Eth8/2(Port8)"], + "4x25G[10G](4)": ["Eth8/1(Port8)", "Eth8/2(Port8)", "Eth8/3(Port8)", "Eth8/4(Port8)"] + } + }, + + "Ethernet64": { + "index": "9,9,9,9,9,9,9,9", + "lanes": "41,42,43,44,45,46,47,48", + "breakout_modes": { + "1x400G": ["Eth9(Port9)"], + "2x200G": ["Eth9/1(Port9)", "Eth9/2(Port9)"], + "4x100G": ["Eth9/1(Port9)", "Eth9/2(Port9)", "Eth9/3(Port9)", "Eth9/4(Port9)"], + "1x100G[40G](4)": ["Eth9(Port9)"], + "2x50G(4)": ["Eth9/1(Port9)", "Eth9/2(Port9)"], + "4x25G[10G](4)": ["Eth9/1(Port9)", "Eth9/2(Port9)", "Eth9/3(Port9)", "Eth9/4(Port9)"] + } + }, + + "Ethernet72": { + "index": "10,10,10,10,10,10,10,10", + "lanes": "33,34,35,36,37,38,39,40", + "breakout_modes": { + "1x400G": ["Eth10(Port10)"], + "2x200G": ["Eth10/1(Port10)", "Eth10/2(Port10)"], + "4x100G": ["Eth10/1(Port10)", "Eth10/2(Port10)", "Eth10/3(Port10)", "Eth10/4(Port10)"], + "1x100G[40G](4)": ["Eth10(Port10)"], + "2x50G(4)": ["Eth10/1(Port10)", "Eth10/2(Port10)"], + "4x25G[10G](4)": ["Eth10/1(Port10)", "Eth10/2(Port10)", "Eth10/3(Port10)", "Eth10/4(Port10)"] + } + }, + + "Ethernet80": { + "index": "11,11,11,11,11,11,11,11", + "lanes": "49,50,51,52,53,54,55,56", + "breakout_modes": { + "1x400G": ["Eth11(Port11)"], + "2x200G": ["Eth11/1(Port11)", "Eth11/2(Port11)"], + "4x100G": ["Eth11/1(Port11)", "Eth11/2(Port11)", "Eth11/3(Port11)", "Eth11/4(Port11)"], + "1x100G[40G](4)": ["Eth11(Port11)"], + "2x50G(4)": ["Eth11/1(Port11)", "Eth11/2(Port11)"], + "4x25G[10G](4)": ["Eth11/1(Port11)", "Eth11/2(Port11)", "Eth11/3(Port11)", "Eth11/4(Port11)"] + } + }, + + "Ethernet88": { + "index": "12,12,12,12,12,12,12,12", + "lanes": "57,58,59,60,61,62,63,64", + "breakout_modes": { + "1x400G": ["Eth12(Port12)"], + "2x200G": ["Eth12/1(Port12)", "Eth12/2(Port12)"], + "4x100G": ["Eth12/1(Port12)", "Eth12/2(Port12)", "Eth12/3(Port12)", "Eth12/4(Port12)"], + "1x100G[40G](4)": ["Eth12(Port12)"], + "2x50G(4)": ["Eth12/1(Port12)", "Eth12/2(Port12)"], + "4x25G[10G](4)": ["Eth12/1(Port12)", "Eth12/2(Port12)", "Eth12/3(Port12)", "Eth12/4(Port12)"] + } + }, + + "Ethernet96": { + "index": "13,13,13,13,13,13,13,13", + "lanes": "129,130,131,132,133,134,135,136", + "breakout_modes": { + "1x400G": ["Eth13(Port13)"], + "2x200G": ["Eth13/1(Port13)", "Eth13/2(Port13)"], + "4x100G": ["Eth13/1(Port13)", "Eth13/2(Port13)", "Eth13/3(Port13)", "Eth13/4(Port13)"], + "1x100G[40G](4)": ["Eth13(Port13)"], + "2x50G(4)": ["Eth13/1(Port13)", "Eth13/2(Port13)"], + "4x25G[10G](4)": ["Eth13/1(Port13)", "Eth13/2(Port13)", "Eth13/3(Port13)", "Eth13/4(Port13)"] + } + }, + + "Ethernet104": { + "index": "14,14,14,14,14,14,14,14", + "lanes": "137,138,139,140,141,142,143,144", + "breakout_modes": { + "1x400G": ["Eth14(Port14)"], + "2x200G": ["Eth14/1(Port14)", "Eth14/2(Port14)"], + "4x100G": ["Eth14/1(Port14)", "Eth14/2(Port14)", "Eth14/3(Port14)", "Eth14/4(Port14)"], + "1x100G[40G](4)": ["Eth14(Port14)"], + "2x50G(4)": ["Eth14/1(Port14)", "Eth14/2(Port14)"], + "4x25G[10G](4)": ["Eth14/1(Port14)", "Eth14/2(Port14)", "Eth14/3(Port14)", "Eth14/4(Port14)"] + } + }, + + "Ethernet112": { + "index": "15,15,15,15,15,15,15,15", + "lanes": "145,146,147,148,149,150,151,152", + "breakout_modes": { + "1x400G": ["Eth15(Port15)"], + "2x200G": ["Eth15/1(Port15)", "Eth15/2(Port15)"], + "4x100G": ["Eth15/1(Port15)", "Eth15/2(Port15)", "Eth15/3(Port15)", "Eth15/4(Port15)"], + "1x100G[40G](4)": ["Eth15(Port15)"], + "2x50G(4)": ["Eth15/1(Port15)", "Eth15/2(Port15)"], + "4x25G[10G](4)": ["Eth15/1(Port15)", "Eth15/2(Port15)", "Eth15/3(Port15)", "Eth15/4(Port15)"] + } + }, + + "Ethernet120": { + "index": "16,16,16,16,16,16,16,16", + "lanes": "153,154,155,156,157,158,159,160", + "breakout_modes": { + "1x400G": ["Eth16(Port16)"], + "2x200G": ["Eth16/1(Port16)", "Eth16/2(Port16)"], + "4x100G": ["Eth16/1(Port16)", "Eth16/2(Port16)", "Eth16/3(Port16)", "Eth16/4(Port16)"], + "1x100G[40G](4)": ["Eth16(Port16)"], + "2x50G(4)": ["Eth16/1(Port16)", "Eth16/2(Port16)"], + "4x25G[10G](4)": ["Eth16/1(Port16)", "Eth16/2(Port16)", "Eth16/3(Port16)", "Eth16/4(Port16)"] + } + }, + + "Ethernet128": { + "index": "17,17,17,17,17,17,17,17", + "lanes": "169,170,171,172,173,174,175,176", + "breakout_modes": { + "1x400G": ["Eth17(Port17)"], + "2x200G": ["Eth17/1(Port17)", "Eth17/2(Port17)"], + "4x100G": ["Eth17/1(Port17)", "Eth17/2(Port17)", "Eth17/3(Port17)", "Eth17/4(Port17)"], + "1x100G[40G](4)": ["Eth17(Port17)"], + "2x50G(4)": ["Eth17/1(Port17)", "Eth17/2(Port17)"], + "4x25G[10G](4)": ["Eth17/1(Port17)", "Eth17/2(Port17)", "Eth17/3(Port17)", "Eth17/4(Port17)"] + } + }, + + "Ethernet136": { + "index": "18,18,18,18,18,18,18,18", + "lanes": "161,162,163,164,165,166,167,168", + "breakout_modes": { + "1x400G": ["Eth18(Port18)"], + "2x200G": ["Eth18/1(Port18)", "Eth18/2(Port18)"], + "4x100G": ["Eth18/1(Port18)", "Eth18/2(Port18)", "Eth18/3(Port18)", "Eth18/4(Port18)"], + "1x100G[40G](4)": ["Eth18(Port18)"], + "2x50G(4)": ["Eth18/1(Port18)", "Eth18/2(Port18)"], + "4x25G[10G](4)": ["Eth18/1(Port18)", "Eth18/2(Port18)", "Eth18/3(Port18)", "Eth18/4(Port18)"] + } + }, + + "Ethernet144": { + "index": "19,19,19,19,19,19,19,19", + "lanes": "177,178,179,180,181,182,183,184", + "breakout_modes": { + "1x400G": ["Eth19(Port19)"], + "2x200G": ["Eth19/1(Port19)", "Eth19/2(Port19)"], + "4x100G": ["Eth19/1(Port19)", "Eth19/2(Port19)", "Eth19/3(Port19)", "Eth19/4(Port19)"], + "1x100G[40G](4)": ["Eth19(Port19)"], + "2x50G(4)": ["Eth19/1(Port19)", "Eth19/2(Port19)"], + "4x25G[10G](4)": ["Eth19/1(Port19)", "Eth19/2(Port19)", "Eth19/3(Port19)", "Eth19/4(Port19)"] + } + }, + + "Ethernet152": { + "index": "20,20,20,20,20,20,20,20", + "lanes": "185,186,187,188,189,190,191,192", + "breakout_modes": { + "1x400G": ["Eth20(Port20)"], + "2x200G": ["Eth20/1(Port20)", "Eth20/2(Port20)"], + "4x100G": ["Eth20/1(Port20)", "Eth20/2(Port20)", "Eth20/3(Port20)", "Eth20/4(Port20)"], + "1x100G[40G](4)": ["Eth20(Port20)"], + "2x50G(4)": ["Eth20/1(Port20)", "Eth20/2(Port20)"], + "4x25G[10G](4)": ["Eth20/1(Port20)", "Eth20/2(Port20)", "Eth20/3(Port20)", "Eth20/4(Port20)"] + } + }, + + "Ethernet160": { + "index": "21,21,21,21,21,21,21,21", + "lanes": "1,2,3,4,5,6,7,8", + "breakout_modes": { + "1x400G": ["Eth21(Port21)"], + "2x200G": ["Eth21/1(Port21)", "Eth21/2(Port21)"], + "4x100G": ["Eth21/1(Port21)", "Eth21/2(Port21)", "Eth21/3(Port21)", "Eth21/4(Port21)"], + "1x100G[40G](4)": ["Eth21(Port21)"], + "2x50G(4)": ["Eth21/1(Port21)", "Eth21/2(Port21)"], + "4x25G[10G](4)": ["Eth21/1(Port21)", "Eth21/2(Port21)", "Eth21/3(Port21)", "Eth21/4(Port21)"] + } + }, + + "Ethernet168": { + "index": "22,22,22,22,22,22,22,22", + "lanes": "9,10,11,12,13,14,15,16", + "breakout_modes": { + "1x400G": ["Eth22(Port22)"], + "2x200G": ["Eth22/1(Port22)", "Eth22/2(Port22)"], + "4x100G": ["Eth22/1(Port22)", "Eth22/2(Port22)", "Eth22/3(Port22)", "Eth22/4(Port22)"], + "1x100G[40G](4)": ["Eth22(Port22)"], + "2x50G(4)": ["Eth22/1(Port22)", "Eth22/2(Port22)"], + "4x25G[10G](4)": ["Eth22/1(Port22)", "Eth22/2(Port22)", "Eth22/3(Port22)", "Eth22/4(Port22)"] + } + }, + + "Ethernet176": { + "index": "23,23,23,23,23,23,23,23", + "lanes": "17,18,19,20,21,22,23,24", + "breakout_modes": { + "1x400G": ["Eth23(Port23)"], + "2x200G": ["Eth23/1(Port23)", "Eth23/2(Port23)"], + "4x100G": ["Eth23/1(Port23)", "Eth23/2(Port23)", "Eth23/3(Port23)", "Eth23/4(Port23)"], + "1x100G[40G](4)": ["Eth23(Port23)"], + "2x50G(4)": ["Eth23/1(Port23)", "Eth23/2(Port23)"], + "4x25G[10G](4)": ["Eth23/1(Port23)", "Eth23/2(Port23)", "Eth23/3(Port23)", "Eth23/4(Port23)"] + } + }, + + "Ethernet184": { + "index": "24,24,24,24,24,24,24,24", + "lanes": "25,26,27,28,29,30,31,32", + "breakout_modes": { + "1x400G": ["Eth24(Port24)"], + "2x200G": ["Eth24/1(Port24)", "Eth24/2(Port24)"], + "4x100G": ["Eth24/1(Port24)", "Eth24/2(Port24)", "Eth24/3(Port24)", "Eth24/4(Port24)"], + "1x100G[40G](4)": ["Eth24(Port24)"], + "2x50G(4)": ["Eth24/1(Port24)", "Eth24/2(Port24)"], + "4x25G[10G](4)": ["Eth24/1(Port24)", "Eth24/2(Port24)", "Eth24/3(Port24)", "Eth24/4(Port24)"] + } + }, + + "Ethernet192": { + "index": "25,25,25,25,25,25,25,25", + "lanes": "201,202,203,204,205,206,207,208", + "breakout_modes": { + "1x400G": ["Eth25(Port25)"], + "2x200G": ["Eth25/1(Port25)", "Eth25/2(Port25)"], + "4x100G": ["Eth25/1(Port25)", "Eth25/2(Port25)", "Eth25/3(Port25)", "Eth25/4(Port25)"], + "1x100G[40G](4)": ["Eth25(Port25)"], + "2x50G(4)": ["Eth25/1(Port25)", "Eth25/2(Port25)"], + "4x25G[10G](4)": ["Eth25/1(Port25)", "Eth25/2(Port25)", "Eth25/3(Port25)", "Eth25/4(Port25)"] + } + }, + + "Ethernet200": { + "index": "26,26,26,26,26,26,26,26", + "lanes": "193,194,195,196,197,198,199,200", + "breakout_modes": { + "1x400G": ["Eth26(Port26)"], + "2x200G": ["Eth26/1(Port26)", "Eth26/2(Port26)"], + "4x100G": ["Eth26/1(Port26)", "Eth26/2(Port26)", "Eth26/3(Port26)", "Eth26/4(Port26)"], + "1x100G[40G](4)": ["Eth26(Port26)"], + "2x50G(4)": ["Eth26/1(Port26)", "Eth26/2(Port26)"], + "4x25G[10G](4)": ["Eth26/1(Port26)", "Eth26/2(Port26)", "Eth26/3(Port26)", "Eth26/4(Port26)"] + } + }, + + "Ethernet208": { + "index": "27,27,27,27,27,27,27,27", + "lanes": "217,218,219,220,221,222,223,224", + "breakout_modes": { + "1x400G": ["Eth27(Port27)"], + "2x200G": ["Eth27/1(Port27)", "Eth27/2(Port27)"], + "4x100G": ["Eth27/1(Port27)", "Eth27/2(Port27)", "Eth27/3(Port27)", "Eth27/4(Port27)"], + "1x100G[40G](4)": ["Eth27(Port27)"], + "2x50G(4)": ["Eth27/1(Port27)", "Eth27/2(Port27)"], + "4x25G[10G](4)": ["Eth27/1(Port27)", "Eth27/2(Port27)", "Eth27/3(Port27)", "Eth27/4(Port27)"] + } + }, + + "Ethernet216": { + "index": "28,28,28,28,28,28,28,28", + "lanes": "209,210,211,212,213,214,215,216", + "breakout_modes": { + "1x400G": ["Eth28(Port28)"], + "2x200G": ["Eth28/1(Port28)", "Eth28/2(Port28)"], + "4x100G": ["Eth28/1(Port28)", "Eth28/2(Port28)", "Eth28/3(Port28)", "Eth28/4(Port28)"], + "1x100G[40G](4)": ["Eth28(Port28)"], + "2x50G(4)": ["Eth28/1(Port28)", "Eth28/2(Port28)"], + "4x25G[10G](4)": ["Eth28/1(Port28)", "Eth28/2(Port28)", "Eth28/3(Port28)", "Eth28/4(Port28)"] + } + }, + + "Ethernet224": { + "index": "29,29,29,29,29,29,29,29", + "lanes": "233,234,235,236,237,238,239,240", + "breakout_modes": { + "1x400G": ["Eth29(Port29)"], + "2x200G": ["Eth29/1(Port29)", "Eth29/2(Port29)"], + "4x100G": ["Eth29/1(Port29)", "Eth29/2(Port29)", "Eth29/3(Port29)", "Eth29/4(Port29)"], + "1x100G[40G](4)": ["Eth29(Port29)"], + "2x50G(4)": ["Eth29/1(Port29)", "Eth29/2(Port29)"], + "4x25G[10G](4)": ["Eth29/1(Port29)", "Eth29/2(Port29)", "Eth29/3(Port29)", "Eth29/4(Port29)"] + } + }, + + "Ethernet232": { + "index": "30,30,30,30,30,30,30,30", + "lanes": "225,226,227,228,229,230,231,232", + "breakout_modes": { + "1x400G": ["Eth30(Port30)"], + "2x200G": ["Eth30/1(Port30)", "Eth30/2(Port30)"], + "4x100G": ["Eth30/1(Port30)", "Eth30/2(Port30)", "Eth30/3(Port30)", "Eth30/4(Port30)"], + "1x100G[40G](4)": ["Eth30(Port30)"], + "2x50G(4)": ["Eth30/1(Port30)", "Eth30/2(Port30)"], + "4x25G[10G](4)": ["Eth30/1(Port30)", "Eth30/2(Port30)", "Eth30/3(Port30)", "Eth30/4(Port30)"] + } + }, + + "Ethernet240": { + "index": "31,31,31,31,31,31,31,31", + "lanes": "249,250,251,252,253,254,255,256", + "breakout_modes": { + "1x400G": ["Eth31(Port31)"], + "2x200G": ["Eth31/1(Port31)", "Eth31/2(Port31)"], + "4x100G": ["Eth31/1(Port31)", "Eth31/2(Port31)", "Eth31/3(Port31)", "Eth31/4(Port31)"], + "1x100G[40G](4)": ["Eth31(Port31)"], + "2x50G(4)": ["Eth31/1(Port31)", "Eth31/2(Port31)"], + "4x25G[10G](4)": ["Eth31/1(Port31)", "Eth31/2(Port31)", "Eth31/3(Port31)", "Eth31/4(Port31)"] + } + }, + + "Ethernet248": { + "index": "32,32,32,32,32,32,32,32", + "lanes": "241,242,243,244,245,246,247,248", + "breakout_modes": { + "1x400G": ["Eth32(Port32)"], + "2x200G": ["Eth32/1(Port32)", "Eth32/2(Port32)"], + "4x100G": ["Eth32/1(Port32)", "Eth32/2(Port32)", "Eth32/3(Port32)", "Eth32/4(Port32)"], + "1x100G[40G](4)": ["Eth32(Port32)"], + "2x50G(4)": ["Eth32/1(Port32)", "Eth32/2(Port32)"], + "4x25G[10G](4)": ["Eth32/1(Port32)", "Eth32/2(Port32)", "Eth32/3(Port32)", "Eth32/4(Port32)"] + } + }, + + "Ethernet256": { + "index": "33", + "lanes": "259", + "breakout_modes": { + "1x10G[1G]": ["Eth33(Port33)"] + } + }, + + "Ethernet257": { + "index": "34", + "lanes": "260", + "breakout_modes": { + "1x10G[1G]": ["Eth34(Port34)"] + } + } + } +} + diff --git a/device/accton/x86_64-accton_as9726_32d-r0/platform_env.conf b/device/accton/x86_64-accton_as9726_32d-r0/platform_env.conf new file mode 100644 index 0000000000..28af0b988c --- /dev/null +++ b/device/accton/x86_64-accton_as9726_32d-r0/platform_env.conf @@ -0,0 +1,2 @@ +is_ltsw_chip=1 +SYNCD_SHM_SIZE=1G diff --git a/device/accton/x86_64-accton_as9726_32d-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_as9726_32d-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_as9726_32d-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/buffers.json.j2 b/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/buffers.json.j2 new file mode 100644 index 0000000000..4414774dd6 --- /dev/null +++ b/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/buffers.json.j2 @@ -0,0 +1,17 @@ +{ + "BUFFER_POOL": { + "ingress_lossy_pool": { + "size": "62490096", + "type": "ingress", + "mode": "dynamic", + "xoff": "0" + } + }, + "BUFFER_PROFILE": { + "ingress_lossy_profile": { + "pool": "ingress_lossy_pool", + "size": "0", + "dynamic_th": "3" + } + } +} diff --git a/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/hwsku.json b/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/hwsku.json new file mode 100644 index 0000000000..0349f4c963 --- /dev/null +++ b/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/hwsku.json @@ -0,0 +1,267 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet4": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet8": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet12": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet16": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet20": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet24": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet28": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet32": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet36": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet40": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet44": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet48": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet52": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet56": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet60": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet64": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet68": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet72": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet76": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet80": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet84": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet88": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet92": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet96": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet100": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet104": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet108": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet112": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet116": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet120": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet124": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet128": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet132": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet136": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet140": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet144": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet148": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet152": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet156": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet160": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet164": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet168": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet172": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet176": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet180": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet184": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet188": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet192": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet196": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet200": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet204": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet208": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet212": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet216": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet220": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet224": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet228": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet232": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet236": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet240": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet244": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet248": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet252": { + "default_brkout_mode": "1x400G" + }, + + "Ethernet256": { + "default_brkout_mode": "1x10G[1G]" + }, + + "Ethernet257": { + "default_brkout_mode": "1x10G[1G]" + } + } +} diff --git a/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/port_config.ini b/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/port_config.ini new file mode 100644 index 0000000000..9eb04592b6 --- /dev/null +++ b/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/port_config.ini @@ -0,0 +1,67 @@ +# name lanes alias index speed +Ethernet0 65,66,67,68 Eth1(Port1) 1 400000 +Ethernet4 69,70,71,72 Eth2(Port2) 2 400000 +Ethernet8 73,74,75,76 Eth3(Port3) 3 400000 +Ethernet12 77,78,79,80 Eth4(Port4) 4 400000 +Ethernet16 81,82,83,84 Eth5(Port5) 5 400000 +Ethernet20 85,86,87,88 Eth6(Port6) 6 400000 +Ethernet24 89,90,91,92 Eth7(Port7) 7 400000 +Ethernet28 93,94,95,96 Eth8(Port8) 8 400000 +Ethernet32 97,98,99,100 Eth9(Port9) 9 400000 +Ethernet36 101,102,103,104 Eth10(Port10) 10 400000 +Ethernet40 125,126,127,128 Eth11(Port11) 11 400000 +Ethernet44 121,122,123,124 Eth12(Port12) 12 400000 +Ethernet48 113,114,115,116 Eth13(Port13) 13 400000 +Ethernet52 117,118,119,120 Eth14(Port14) 14 400000 +Ethernet56 109,110,111,112 Eth15(Port15) 15 400000 +Ethernet60 105,106,107,108 Eth16(Port16) 16 400000 +Ethernet64 145,146,147,148 Eth17(Port17) 17 400000 +Ethernet68 149,150,151,152 Eth18(Port18) 18 400000 +Ethernet72 141,142,143,144 Eth19(Port19) 19 400000 +Ethernet76 137,138,139,140 Eth20(Port20) 20 400000 +Ethernet80 129,130,131,132 Eth21(Port21) 21 400000 +Ethernet84 133,134,135,136 Eth22(Port22) 22 400000 +Ethernet88 153,154,155,156 Eth23(Port23) 23 400000 +Ethernet92 157,158,159,160 Eth24(Port24) 24 400000 +Ethernet96 161,162,163,164 Eth25(Port25) 25 400000 +Ethernet100 165,166,167,168 Eth26(Port26) 26 400000 +Ethernet104 169,170,171,172 Eth27(Port27) 27 400000 +Ethernet108 173,174,175,176 Eth28(Port28) 28 400000 +Ethernet112 177,178,179,180 Eth29(Port29) 29 400000 +Ethernet116 181,182,183,184 Eth30(Port30) 30 400000 +Ethernet120 185,186,187,188 Eth31(Port31) 31 400000 +Ethernet124 189,190,191,192 Eth32(Port32) 32 400000 +Ethernet128 49,50,51,52 Eth33(Port33) 33 400000 +Ethernet132 53,54,55,56 Eth34(Port34) 34 400000 +Ethernet136 57,58,59,60 Eth35(Port35) 35 400000 +Ethernet140 61,62,63,64 Eth36(Port36) 36 400000 +Ethernet144 29,30,31,32 Eth37(Port37) 37 400000 +Ethernet148 33,34,35,36 Eth38(Port38) 38 400000 +Ethernet152 25,26,27,28 Eth39(Port39) 39 400000 +Ethernet156 41,42,43,44 Eth40(Port40) 40 400000 +Ethernet160 21,22,23,24 Eth41(Port41) 41 400000 +Ethernet164 37,38,39,40 Eth42(Port42) 42 400000 +Ethernet168 17,18,19,20 Eth43(Port43) 43 400000 +Ethernet172 45,46,47,48 Eth44(Port44) 44 400000 +Ethernet176 13,14,15,16 Eth45(Port45) 45 400000 +Ethernet180 9,10,11,12 Eth46(Port46) 46 400000 +Ethernet184 1,2,3,4 Eth47(Port47) 47 400000 +Ethernet188 5,6,7,8 Eth48(Port48) 48 400000 +Ethernet192 249,250,251,252 Eth49(Port49) 49 400000 +Ethernet196 253,254,255,256 Eth50(Port50) 50 400000 +Ethernet200 245,246,247,248 Eth51(Port51) 51 400000 +Ethernet204 241,242,243,244 Eth52(Port52) 52 400000 +Ethernet208 237,238,239,240 Eth53(Port53) 53 400000 +Ethernet212 209,210,211,212 Eth54(Port54) 54 400000 +Ethernet216 233,234,235,236 Eth55(Port55) 55 400000 +Ethernet220 217,218,219,220 Eth56(Port56) 56 400000 +Ethernet224 229,230,231,232 Eth57(Port57) 57 400000 +Ethernet228 213,214,215,216 Eth58(Port58) 58 400000 +Ethernet232 225,226,227,228 Eth59(Port59) 59 400000 +Ethernet236 221,222,223,224 Eth60(Port60) 60 400000 +Ethernet240 193,194,195,196 Eth61(Port61) 61 400000 +Ethernet244 201,202,203,204 Eth62(Port62) 62 400000 +Ethernet248 197,198,199,200 Eth63(Port63) 63 400000 +Ethernet252 205,206,207,208 Eth64(Port64) 64 400000 +Ethernet256 257 Eth65(Port65) 65 10000 +Ethernet257 258 Eth66(Port66) 66 10000 diff --git a/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/qos.json.j2 b/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/qos.json.j2 new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/qos.json.j2 @@ -0,0 +1 @@ +{} diff --git a/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/sai.profile b/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/sai.profile new file mode 100644 index 0000000000..2dfe7d9b55 --- /dev/null +++ b/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/sai.profile @@ -0,0 +1 @@ +SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/th4-as9736-64x400G.config.yml diff --git a/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/th4-as9736-64x400G.config.yml b/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/th4-as9736-64x400G.config.yml new file mode 100644 index 0000000000..fcf2245b04 --- /dev/null +++ b/device/accton/x86_64-accton_as9736_64d-r0/Accton-AS9736-64D/th4-as9736-64x400G.config.yml @@ -0,0 +1,1218 @@ +#--- +#device: +# 0: +# DEVICE_CONFIG: +# # CORE CLOCK FREQUENCY +# CORE_CLK_FREQ: CLK_1350MHZ +# # PP CLOCK FREQUENCY +# PP_CLK_FREQ: CLK_1350MHZ +#... +--- +bcm_device: + 0: + global: + pktio_mode: 1 + vlan_flooding_l2mc_num_reserved: 0 + ipv6_lpm_128b_enable: 1 + shared_block_mask_section: uc_bc + skip_protocol_default_entries: 1 + # LTSW uses value 1 for ALPM combined mode + l3_alpm_template: 1 + l3_alpm_hit_skip: 1 + sai_feat_tail_timestamp : 1 + sai_field_group_auto_prioritize: 1 + #l3_intf_vlan_split_egress for MTU at L3IF + l3_intf_vlan_split_egress : 1 + pfc_deadlock_seq_control : 1 + sai_tunnel_support: 2 + bcm_tunnel_term_compatible_mode: 1 + l3_ecmp_member_first_lkup_mem_size: 12288 + sai_port_pmap_phy_lanes : 1 + sai_disable_ports_when_sw_shutdown: 1 +... +--- +bcm_device: + 0: + global: + dport_map_enable: 1 + port: + 68: { dport_map_port: 1 } + 72: { dport_map_port: 2 } + 76: { dport_map_port: 3 } + 80: { dport_map_port: 4 } + 85: { dport_map_port: 5 } + 89: { dport_map_port: 6 } + 93: { dport_map_port: 7 } + 97: { dport_map_port: 8 } + 102: { dport_map_port: 9 } + 106: { dport_map_port: 10 } + 131: { dport_map_port: 11 } + 127: { dport_map_port: 12 } + 119: { dport_map_port: 13 } + 123: { dport_map_port: 14 } + 114: { dport_map_port: 15 } + 110: { dport_map_port: 16 } + 153: { dport_map_port: 17 } + 157: { dport_map_port: 18 } + 148: { dport_map_port: 19 } + 144: { dport_map_port: 20 } + 136: { dport_map_port: 21 } + 140: { dport_map_port: 22 } + 161: { dport_map_port: 23 } + 165: { dport_map_port: 24 } + 170: { dport_map_port: 25 } + 174: { dport_map_port: 26 } + 178: { dport_map_port: 27 } + 182: { dport_map_port: 28 } + 187: { dport_map_port: 29 } + 191: { dport_map_port: 30 } + 195: { dport_map_port: 31 } + 199: { dport_map_port: 32 } + 51: { dport_map_port: 33 } + 55: { dport_map_port: 34 } + 59: { dport_map_port: 35 } + 63: { dport_map_port: 36 } + 29: { dport_map_port: 37 } + 34: { dport_map_port: 38 } + 25: { dport_map_port: 39 } + 42: { dport_map_port: 40 } + 21: { dport_map_port: 41 } + 38: { dport_map_port: 42 } + 17: { dport_map_port: 43 } + 46: { dport_map_port: 44 } + 13: { dport_map_port: 45 } + 9: { dport_map_port: 46 } + 1: { dport_map_port: 47 } + 5: { dport_map_port: 48 } + 263: { dport_map_port: 49 } + 267: { dport_map_port: 50 } + 259: { dport_map_port: 51 } + 255: { dport_map_port: 52 } + 250: { dport_map_port: 53 } + 221: { dport_map_port: 54 } + 246: { dport_map_port: 55 } + 229: { dport_map_port: 56 } + 242: { dport_map_port: 57 } + 225: { dport_map_port: 58 } + 238: { dport_map_port: 59 } + 233: { dport_map_port: 60 } + 204: { dport_map_port: 61 } + 212: { dport_map_port: 62 } + 208: { dport_map_port: 63 } + 216: { dport_map_port: 64 } + 152: { dport_map_port: 65 } + 50: { dport_map_port: 66 } +... +--- +device: + 0: + PC_PM_CORE: + ? + PC_PM_ID: 1 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x26371504 + TX_LANE_MAP: 0x37260415 + RX_POLARITY_FLIP: 0x0a + TX_POLARITY_FLIP: 0x0a + ? + PC_PM_ID: 2 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x26371504 + TX_LANE_MAP: 0x51406273 + RX_POLARITY_FLIP: 0x0a + TX_POLARITY_FLIP: 0xf5 + ? + PC_PM_ID: 3 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x62735140 + TX_LANE_MAP: 0x62735140 + RX_POLARITY_FLIP: 0x0a + TX_POLARITY_FLIP: 0x0a + ? + PC_PM_ID: 4 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x51406273 + TX_LANE_MAP: 0x40517362 + RX_POLARITY_FLIP: 0xf5 + TX_POLARITY_FLIP: 0xf5 + ? + PC_PM_ID: 5 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x52437061 + TX_LANE_MAP: 0x42537160 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaf + ? + PC_PM_ID: 6 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x52437061 + TX_LANE_MAP: 0x41507362 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xfa + ? + PC_PM_ID: 7 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x52437061 + TX_LANE_MAP: 0x40517362 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xfa + ? + PC_PM_ID: 8 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x52437061 + TX_LANE_MAP: 0x41507362 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xfa + ? + PC_PM_ID: 9 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x42537160 + TX_LANE_MAP: 0x40516273 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xfa + ? + PC_PM_ID: 10 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x54237061 + TX_LANE_MAP: 0x41507362 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xfa + ? + PC_PM_ID: 11 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x23547160 + TX_LANE_MAP: 0x51406273 + RX_POLARITY_FLIP: 0x57 + TX_POLARITY_FLIP: 0xfa + ? + PC_PM_ID: 12 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x52437061 + TX_LANE_MAP: 0x41507362 + RX_POLARITY_FLIP: 0x57 + TX_POLARITY_FLIP: 0xfa + ? + PC_PM_ID: 13 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x24350716 + TX_LANE_MAP: 0x15042637 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0x0a + ? + PC_PM_ID: 14 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x41537062 + TX_LANE_MAP: 0x41507362 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xfa + ? + PC_PM_ID: 15 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x14350726 + TX_LANE_MAP: 0x15042637 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0x0a + ? + PC_PM_ID: 16 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x51437062 + TX_LANE_MAP: 0x41507362 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xfa + ? + PC_PM_ID: 17 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x52436071 + TX_LANE_MAP: 0x51406273 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 18 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x25340716 + TX_LANE_MAP: 0x04153726 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 19 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x52437061 + TX_LANE_MAP: 0x51406273 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 20 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x25340716 + TX_LANE_MAP: 0x04153726 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 21 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x52437061 + TX_LANE_MAP: 0x51406273 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 22 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x15340726 + TX_LANE_MAP: 0x04153726 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 23 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x52437061 + TX_LANE_MAP: 0x51406273 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 24 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x25340716 + TX_LANE_MAP: 0x04153726 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 25 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x52437061 + TX_LANE_MAP: 0x51406273 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 26 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x25340716 + TX_LANE_MAP: 0x04153726 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 27 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x34251607 + TX_LANE_MAP: 0x51406273 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 28 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x43516270 + TX_LANE_MAP: 0x34250716 + RX_POLARITY_FLIP: 0x51 + TX_POLARITY_FLIP: 0x00 + ? + PC_PM_ID: 29 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x15042637 + TX_LANE_MAP: 0x25041637 + RX_POLARITY_FLIP: 0xc5 + TX_POLARITY_FLIP: 0xc5 + ? + PC_PM_ID: 30 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x26371504 + TX_LANE_MAP: 0x37260415 + RX_POLARITY_FLIP: 0xca + TX_POLARITY_FLIP: 0xfa + ? + PC_PM_ID: 31 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x62735140 + TX_LANE_MAP: 0x04153726 + RX_POLARITY_FLIP: 0xcb + TX_POLARITY_FLIP: 0x05 + ? + PC_PM_ID: 32 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x62735140 + TX_LANE_MAP: 0x52736140 + RX_POLARITY_FLIP: 0x3a + TX_POLARITY_FLIP: 0x3a + ? + PC_PM_ID: 33 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x26371504 + TX_LANE_MAP: 0x25371604 + RX_POLARITY_FLIP: 0x0a + TX_POLARITY_FLIP: 0xca + ? + PC_PM_ID: 34 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x37260415 + TX_LANE_MAP: 0x40617352 + RX_POLARITY_FLIP: 0x0a + TX_POLARITY_FLIP: 0xf5 + ? + PC_PM_ID: 35 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x73624051 + TX_LANE_MAP: 0x73524061 + RX_POLARITY_FLIP: 0x0a + TX_POLARITY_FLIP: 0x0a + ? + PC_PM_ID: 36 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x51406273 + TX_LANE_MAP: 0x52406173 + RX_POLARITY_FLIP: 0xc5 + TX_POLARITY_FLIP: 0x35 + ? + PC_PM_ID: 37 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x34152607 + TX_LANE_MAP: 0x43527061 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xff + ? + PC_PM_ID: 38 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x52437061 + TX_LANE_MAP: 0x04153726 + RX_POLARITY_FLIP: 0x51 + TX_POLARITY_FLIP: 0xab + ? + PC_PM_ID: 39 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x25340716 + TX_LANE_MAP: 0x15042637 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 40 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x34251607 + TX_LANE_MAP: 0x40517362 + RX_POLARITY_FLIP: 0xaa + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 41 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x25340716 + TX_LANE_MAP: 0x15072634 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xfb + ? + PC_PM_ID: 42 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x34521670 + TX_LANE_MAP: 0x40517362 + RX_POLARITY_FLIP: 0x99 + TX_POLARITY_FLIP: 0x8a + ? + PC_PM_ID: 43 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x15340726 + TX_LANE_MAP: 0x15042637 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 44 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x43526170 + TX_LANE_MAP: 0x40517362 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 45 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x25340716 + TX_LANE_MAP: 0x15042637 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 46 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x43526170 + TX_LANE_MAP: 0x40517362 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 47 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x25340716 + TX_LANE_MAP: 0x15042637 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 48 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x34527160 + TX_LANE_MAP: 0x51406273 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xaa + ? + PC_PM_ID: 49 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x43516270 + TX_LANE_MAP: 0x41507362 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xfa + ? + PC_PM_ID: 50 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x53416270 + TX_LANE_MAP: 0x51406273 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0xfa + ? + PC_PM_ID: 51 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x14350726 + TX_LANE_MAP: 0x05142637 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0x0a + ? + PC_PM_ID: 52 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x35241607 + TX_LANE_MAP: 0x04153726 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0x0a + ? + PC_PM_ID: 53 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x25340716 + TX_LANE_MAP: 0x14053726 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0x0a + ? + PC_PM_ID: 54 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x32451706 + TX_LANE_MAP: 0x15042637 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0x0a + ? + PC_PM_ID: 55 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x45320716 + TX_LANE_MAP: 0x14053726 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0x0a + ? + PC_PM_ID: 56 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x24351706 + TX_LANE_MAP: 0x04152637 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0x0a + ? + PC_PM_ID: 57 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x34251607 + TX_LANE_MAP: 0x14053726 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0x0a + ? + PC_PM_ID: 58 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x34251607 + TX_LANE_MAP: 0x04153726 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0x0a + ? + PC_PM_ID: 59 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x34251607 + TX_LANE_MAP: 0x14053726 + RX_POLARITY_FLIP: 0x55 + TX_POLARITY_FLIP: 0x0a + ? + PC_PM_ID: 60 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x34251607 + TX_LANE_MAP: 0x24351706 + RX_POLARITY_FLIP: 0x57 + TX_POLARITY_FLIP: 0xa0 + ? + PC_PM_ID: 61 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x51406273 + TX_LANE_MAP: 0x51406273 + RX_POLARITY_FLIP: 0xf5 + TX_POLARITY_FLIP: 0x35 + ? + PC_PM_ID: 62 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x62735140 + TX_LANE_MAP: 0x43627051 + RX_POLARITY_FLIP: 0x0a + TX_POLARITY_FLIP: 0x0a + ? + PC_PM_ID: 63 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x26371504 + TX_LANE_MAP: 0x40517362 + RX_POLARITY_FLIP: 0x0a + TX_POLARITY_FLIP: 0xf5 + ? + PC_PM_ID: 64 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x26371504 + TX_LANE_MAP: 0x26371504 + RX_POLARITY_FLIP: 0x0a + TX_POLARITY_FLIP: 0xca +... +--- +device: + 0: + PC_PORT_PHYS_MAP: + ? + # CPU port + PORT_ID: 0 + : + PC_PHYS_PORT_ID: 0 + ? + PORT_ID: 1 + : + PC_PHYS_PORT_ID: 1 + ? + PORT_ID: 5 + : + PC_PHYS_PORT_ID: 5 + ? + PORT_ID: 9 + : + PC_PHYS_PORT_ID: 9 + ? + PORT_ID: 13 + : + PC_PHYS_PORT_ID: 13 + ? + PORT_ID: 17 + : + PC_PHYS_PORT_ID: 17 + ? + PORT_ID: 21 + : + PC_PHYS_PORT_ID: 21 + ? + PORT_ID: 25 + : + PC_PHYS_PORT_ID: 25 + ? + PORT_ID: 29 + : + PC_PHYS_PORT_ID: 29 + ? + PORT_ID: 34 + : + PC_PHYS_PORT_ID: 33 + ? + PORT_ID: 38 + : + PC_PHYS_PORT_ID: 37 + ? + PORT_ID: 42 + : + PC_PHYS_PORT_ID: 41 + ? + PORT_ID: 46 + : + PC_PHYS_PORT_ID: 45 + ? + PORT_ID: 51 + : + PC_PHYS_PORT_ID: 49 + ? + PORT_ID: 55 + : + PC_PHYS_PORT_ID: 53 + ? + PORT_ID: 59 + : + PC_PHYS_PORT_ID: 57 + ? + PORT_ID: 63 + : + PC_PHYS_PORT_ID: 61 + ? + PORT_ID: 68 + : + PC_PHYS_PORT_ID: 65 + ? + PORT_ID: 72 + : + PC_PHYS_PORT_ID: 69 + ? + PORT_ID: 76 + : + PC_PHYS_PORT_ID: 73 + ? + PORT_ID: 80 + : + PC_PHYS_PORT_ID: 77 + ? + PORT_ID: 85 + : + PC_PHYS_PORT_ID: 81 + ? + PORT_ID: 89 + : + PC_PHYS_PORT_ID: 85 + ? + PORT_ID: 93 + : + PC_PHYS_PORT_ID: 89 + ? + PORT_ID: 97 + : + PC_PHYS_PORT_ID: 93 + ? + PORT_ID: 102 + : + PC_PHYS_PORT_ID: 97 + ? + PORT_ID: 106 + : + PC_PHYS_PORT_ID: 101 + ? + PORT_ID: 110 + : + PC_PHYS_PORT_ID: 105 + ? + PORT_ID: 114 + : + PC_PHYS_PORT_ID: 109 + ? + PORT_ID: 119 + : + PC_PHYS_PORT_ID: 113 + ? + PORT_ID: 123 + : + PC_PHYS_PORT_ID: 117 + ? + PORT_ID: 127 + : + PC_PHYS_PORT_ID: 121 + ? + PORT_ID: 131 + : + PC_PHYS_PORT_ID: 125 + ? + PORT_ID: 136 + : + PC_PHYS_PORT_ID: 129 + ? + PORT_ID: 140 + : + PC_PHYS_PORT_ID: 133 + ? + PORT_ID: 144 + : + PC_PHYS_PORT_ID: 137 + ? + PORT_ID: 148 + : + PC_PHYS_PORT_ID: 141 + ? + PORT_ID: 153 + : + PC_PHYS_PORT_ID: 145 + ? + PORT_ID: 157 + : + PC_PHYS_PORT_ID: 149 + ? + PORT_ID: 161 + : + PC_PHYS_PORT_ID: 153 + ? + PORT_ID: 165 + : + PC_PHYS_PORT_ID: 157 + ? + PORT_ID: 170 + : + PC_PHYS_PORT_ID: 161 + ? + PORT_ID: 174 + : + PC_PHYS_PORT_ID: 165 + ? + PORT_ID: 178 + : + PC_PHYS_PORT_ID: 169 + ? + PORT_ID: 182 + : + PC_PHYS_PORT_ID: 173 + ? + PORT_ID: 187 + : + PC_PHYS_PORT_ID: 177 + ? + PORT_ID: 191 + : + PC_PHYS_PORT_ID: 181 + ? + PORT_ID: 195 + : + PC_PHYS_PORT_ID: 185 + ? + PORT_ID: 199 + : + PC_PHYS_PORT_ID: 189 + ? + PORT_ID: 204 + : + PC_PHYS_PORT_ID: 193 + ? + PORT_ID: 208 + : + PC_PHYS_PORT_ID: 197 + ? + PORT_ID: 212 + : + PC_PHYS_PORT_ID: 201 + ? + PORT_ID: 216 + : + PC_PHYS_PORT_ID: 205 + ? + PORT_ID: 221 + : + PC_PHYS_PORT_ID: 209 + ? + PORT_ID: 225 + : + PC_PHYS_PORT_ID: 213 + ? + PORT_ID: 229 + : + PC_PHYS_PORT_ID: 217 + ? + PORT_ID: 233 + : + PC_PHYS_PORT_ID: 221 + ? + PORT_ID: 238 + : + PC_PHYS_PORT_ID: 225 + ? + PORT_ID: 242 + : + PC_PHYS_PORT_ID: 229 + ? + PORT_ID: 246 + : + PC_PHYS_PORT_ID: 233 + ? + PORT_ID: 250 + : + PC_PHYS_PORT_ID: 237 + ? + PORT_ID: 255 + : + PC_PHYS_PORT_ID: 241 + ? + PORT_ID: 259 + : + PC_PHYS_PORT_ID: 245 + ? + PORT_ID: 263 + : + PC_PHYS_PORT_ID: 249 + ? + PORT_ID: 267 + : + PC_PHYS_PORT_ID: 253 + ? + PORT_ID: 50 + : + PC_PHYS_PORT_ID: 258 + ? + PORT_ID: 152 + : + PC_PHYS_PORT_ID: 257 +... +--- +device: + 0: + PC_PORT: + ? + PORT_ID: 0 + : + &port_mode_10g + ENABLE: 1 + SPEED: 10000 + NUM_LANES: 1 + ? + PORT_ID: [1, 5, 9, 13, + 17, 21, 25, 29, + 34, 38, 42, 46, + 51, 55, 59, 63, + 68, 72, 76, 80, + 85, 89, 93, 97, + 102, 106, 110, 114, + 119, 123, 127, 131, + 136, 140, 144, 148, + 153, 157, 161, 165, + 170, 174, 178, 182, + 187, 191, 195, 199, + 204, 208, 212, 216, + 221, 225, 229, 233, + 238, 242, 246, 250, + 255, 259, 263, 267] + : + ENABLE: 0 + SPEED: 400000 + NUM_LANES: 8 + FEC_MODE: PC_FEC_RS544_2XN + MAX_FRAME_SIZE: 9416 + LINK_TRAINING: 0 + ? # BCM56990 2x10g management port + PORT_ID: [50, 152] + : + ENABLE: 0 + SPEED: 10000 + NUM_LANES: 1 + MAX_FRAME_SIZE: 9416 + SER_CONFIG: + SER_ENABLE: 0 + PORT_CONFIG: + PORT_SYSTEM_PROFILE_OPERMODE_PIPEUNIQUE: 1 +device: + 0: + # Per pipe flex counter configuration + CTR_EFLEX_CONFIG: + CTR_ING_EFLEX_OPERMODE_PIPEUNIQUE: 0 + CTR_EGR_EFLEX_OPERMODE_PIPEUNIQUE: 0 + + # Per pipe flex state configuration + #FLEX_STATE_CONFIG: + # FLEX_STATE_ING_OPERMODE_PIPEUNIQUE: 0 + # FLEX_STATE_EGR_OPERMODE_PIPEUNIQUE: 1 + + # Lossy vs Lossless mode + TM_THD_CONFIG: + THRESHOLD_MODE: LOSSLESS + + # IFP mode + FP_CONFIG: + FP_ING_OPERMODE: GLOBAL_PIPE_AWARE +... diff --git a/device/accton/x86_64-accton_as9736_64d-r0/default_sku b/device/accton/x86_64-accton_as9736_64d-r0/default_sku new file mode 100644 index 0000000000..55bf8a1ffb --- /dev/null +++ b/device/accton/x86_64-accton_as9736_64d-r0/default_sku @@ -0,0 +1 @@ +Accton-AS9736-64D t1 diff --git a/device/accton/x86_64-accton_as9736_64d-r0/platform.json b/device/accton/x86_64-accton_as9736_64d-r0/platform.json new file mode 100644 index 0000000000..40a90cf35e --- /dev/null +++ b/device/accton/x86_64-accton_as9736_64d-r0/platform.json @@ -0,0 +1,1373 @@ +{ + "chassis": { + "name": "AS9736-64D", + "thermal_manager":false, + "status_led": { + "controllable": true, + "colors": ["STATUS_LED_COLOR_GREEN", "STATUS_LED_COLOR_RED", "STATUS_LED_COLOR_OFF"] + }, + "components": [ + { + "name": "SYSTEM CPLD" + }, + { + "name": "FCM CPLD" + }, + { + "name": "PSU CPLD" + }, + { + "name": "SCM CPLD" + }, + { + "name": "UDB FPGA" + }, + { + "name": "LDB FPGA" + }, + { + "name": "SMB FPGA" + }, + { + "name": "BIOS" + } + ], + "fans": [ + { + "name": "FAN-1F" + }, + { + "name": "FAN-1R" + }, + { + "name": "FAN-2F" + }, + { + "name": "FAN-2R" + }, + { + "name": "FAN-3F" + }, + { + "name": "FAN-3R" + }, + { + "name": "FAN-4F" + }, + { + "name": "FAN-4R" + } + ], + "fan_drawers":[ + { + "name": "FanTray1", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-1F" + }, + { + "name": "FAN-1R" + } + ] + }, + { + "name": "FanTray2", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-2F" + }, + { + "name": "FAN-2R" + } + ] + }, + { + "name": "FanTray3", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-3F" + }, + { + "name": "FAN-3R" + } + ] + }, + { + "name": "FanTray4", + "num_fans" : 2, + "fans": [ + { + "name": "FAN-4F" + }, + { + "name": "FAN-4R" + } + ] + } + ], + "psus": [ + { + "name": "PSU-1", + "status_led": { + "controllable": false + }, + "fans": [ + { + "name": "PSU-1 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-1 temp sensor 1", + "controllable": false, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": false + } + ], + "temperature": true, + "temperature_high_threshold": true + }, + { + "name": "PSU-2", + "status_led": { + "controllable": false + }, + "fans": [ + { + "name": "PSU-2 FAN-1" + } + ], + "thermals": [ + { + "name": "PSU-2 temp sensor 1", + "controllable": false, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": false + } + ], + "temperature": true, + "temperature_high_threshold": true + } + ], + "thermals": [ + { + "name": "Temp sensor 1", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "Temp sensor 2", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "Temp sensor 3", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "Temp sensor 4", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "Temp sensor 5", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "Temp sensor 6", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "Temp sensor 7", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "Temp sensor 8", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "Temp sensor 9", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "Temp sensor 10", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "Temp sensor 11", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "CPU Package Temp", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "CPU Core 0 Temp", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "CPU Core 1 Temp", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "CPU Core 2 Temp", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "CPU Core 3 Temp", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "CPU Core 4 Temp", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "CPU Core 5 Temp", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "CPU Core 6 Temp", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, + { + "name": "CPU Core 7 Temp", + "controllable": true, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + } + ], + "sfps": [ + { + "name": "Ethernet0" + }, + { + "name": "Ethernet4" + }, + { + "name": "Ethernet8" + }, + { + "name": "Ethernet12" + }, + { + "name": "Ethernet16" + }, + { + "name": "Ethernet20" + }, + { + "name": "Ethernet24" + }, + { + "name": "Ethernet28" + }, + { + "name": "Ethernet32" + }, + { + "name": "Ethernet36" + }, + { + "name": "Ethernet40" + }, + { + "name": "Ethernet44" + }, + { + "name": "Ethernet48" + }, + { + "name": "Ethernet52" + }, + { + "name": "Ethernet56" + }, + { + "name": "Ethernet60" + }, + { + "name": "Ethernet64" + }, + { + "name": "Ethernet68" + }, + { + "name": "Ethernet72" + }, + { + "name": "Ethernet76" + }, + { + "name": "Ethernet80" + }, + { + "name": "Ethernet84" + }, + { + "name": "Ethernet88" + }, + { + "name": "Ethernet92" + }, + { + "name": "Ethernet96" + }, + { + "name": "Ethernet100" + }, + { + "name": "Ethernet104" + }, + { + "name": "Ethernet108" + }, + { + "name": "Ethernet112" + }, + { + "name": "Ethernet116" + }, + { + "name": "Ethernet120" + }, + { + "name": "Ethernet124" + }, + { + "name": "Ethernet128" + }, + { + "name": "Ethernet132" + }, + { + "name": "Ethernet136" + }, + { + "name": "Ethernet140" + }, + { + "name": "Ethernet144" + }, + { + "name": "Ethernet148" + }, + { + "name": "Ethernet152" + }, + { + "name": "Ethernet156" + }, + { + "name": "Ethernet160" + }, + { + "name": "Ethernet164" + }, + { + "name": "Ethernet168" + }, + { + "name": "Ethernet172" + }, + { + "name": "Ethernet176" + }, + { + "name": "Ethernet180" + }, + { + "name": "Ethernet184" + }, + { + "name": "Ethernet188" + }, + { + "name": "Ethernet192" + }, + { + "name": "Ethernet196" + }, + { + "name": "Ethernet200" + }, + { + "name": "Ethernet204" + }, + { + "name": "Ethernet208" + }, + { + "name": "Ethernet212" + }, + { + "name": "Ethernet216" + }, + { + "name": "Ethernet220" + }, + { + "name": "Ethernet224" + }, + { + "name": "Ethernet228" + }, + { + "name": "Ethernet232" + }, + { + "name": "Ethernet236" + }, + { + "name": "Ethernet240" + }, + { + "name": "Ethernet244" + }, + { + "name": "Ethernet248" + }, + { + "name": "Ethernet252" + }, + { + "name": "Ethernet256" + }, + { + "name": "Ethernet257" + } + ] + }, + "interfaces": { + "Ethernet0": { + "index": "1,1,1,1", + "lanes": "65,66,67,68", + "breakout_modes": { + "1x400G": ["Eth1(Port1)"], + "2x200G": ["Eth1/1(Port1)", "Eth1/2(Port1)"], + "4x100G": ["Eth1/1(Port1)", "Eth1/2(Port1)", "Eth1/3(Port1)", "Eth1/4(Port1)"], + "1x100G[40G](2)": ["Eth1(Port1)"], + "2x50G(2)": ["Eth1/1(Port1)", "Eth1/2(Port1)"], + "4x25G[10G]": ["Eth1/1(Port1)", "Eth1/2(Port1)", "Eth1/3(Port1)", "Eth1/4(Port1)"] + } + }, + + "Ethernet4": { + "index": "2,2,2,2", + "lanes": "69,70,71,72", + "breakout_modes": { + "1x400G": ["Eth2(Port2)"], + "2x200G": ["Eth2/1(Port2)", "Eth2/2(Port2)"], + "4x100G": ["Eth2/1(Port2)", "Eth2/2(Port2)", "Eth2/3(Port2)", "Eth2/4(Port2)"], + "1x100G[40G](2)": ["Eth2(Port2)"], + "2x50G(2)": ["Eth2/1(Port2)", "Eth2/2(Port2)"], + "4x25G[10G]": ["Eth2/1(Port2)", "Eth2/2(Port2)", "Eth2/3(Port2)", "Eth2/4(Port2)"] + } + }, + + "Ethernet8": { + "index": "3,3,3,3", + "lanes": "73,74,75,76", + "breakout_modes": { + "1x400G": ["Eth3(Port3)"], + "2x200G": ["Eth3/1(Port3)", "Eth3/2(Port3)"], + "4x100G": ["Eth3/1(Port3)", "Eth3/2(Port3)", "Eth3/3(Port3)", "Eth3/4(Port3)"], + "1x100G[40G](2)": ["Eth3(Port3)"], + "2x50G(2)": ["Eth3/1(Port3)", "Eth3/2(Port3)"], + "4x25G[10G]": ["Eth3/1(Port3)", "Eth3/2(Port3)", "Eth3/3(Port3)", "Eth3/4(Port3)"] + } + }, + + "Ethernet12": { + "index": "4,4,4,4", + "lanes": "77,78,79,80", + "breakout_modes": { + "1x400G": ["Eth4(Port4)"], + "2x200G": ["Eth4/1(Port4)", "Eth4/2(Port4)"], + "4x100G": ["Eth4/1(Port4)", "Eth4/2(Port4)", "Eth4/3(Port4)", "Eth4/4(Port4)"], + "1x100G[40G](2)": ["Eth4(Port4)"], + "2x50G(2)": ["Eth4/1(Port4)", "Eth4/2(Port4)"], + "4x25G[10G]": ["Eth4/1(Port4)", "Eth4/2(Port4)", "Eth4/3(Port4)", "Eth4/4(Port4)"] + } + }, + + "Ethernet16": { + "index": "5,5,5,5", + "lanes": "81,82,83,84", + "breakout_modes": { + "1x400G": ["Eth5(Port5)"], + "2x200G": ["Eth5/1(Port5)", "Eth5/2(Port5)"], + "4x100G": ["Eth5/1(Port5)", "Eth5/2(Port5)", "Eth5/3(Port5)", "Eth5/4(Port5)"], + "1x100G[40G](2)": ["Eth5(Port5)"], + "2x50G(2)": ["Eth5/1(Port5)", "Eth5/2(Port5)"], + "4x25G[10G]": ["Eth5/1(Port5)", "Eth5/2(Port5)", "Eth5/3(Port5)", "Eth5/4(Port5)"] + } + }, + + "Ethernet20": { + "index": "6,6,6,6", + "lanes": "85,86,87,88", + "breakout_modes": { + "1x400G": ["Eth6(Port6)"], + "2x200G": ["Eth6/1(Port6)", "Eth6/2(Port6)"], + "4x100G": ["Eth6/1(Port6)", "Eth6/2(Port6)", "Eth6/3(Port6)", "Eth6/4(Port6)"], + "1x100G[40G](2)": ["Eth6(Port6)"], + "2x50G(2)": ["Eth6/1(Port6)", "Eth6/2(Port6)"], + "4x25G[10G]": ["Eth6/1(Port6)", "Eth6/2(Port6)", "Eth6/3(Port6)", "Eth6/4(Port6)"] + } + }, + + "Ethernet24": { + "index": "7,7,7,7", + "lanes": "89,90,91,92", + "breakout_modes": { + "1x400G": ["Eth7(Port7)"], + "2x200G": ["Eth7/1(Port7)", "Eth7/2(Port7)"], + "4x100G": ["Eth7/1(Port7)", "Eth7/2(Port7)", "Eth7/3(Port7)", "Eth7/4(Port7)"], + "1x100G[40G](2)": ["Eth7(Port7)"], + "2x50G(2)": ["Eth7/1(Port7)", "Eth7/2(Port7)"], + "4x25G[10G]": ["Eth7/1(Port7)", "Eth7/2(Port7)", "Eth7/3(Port7)", "Eth7/4(Port7)"] + } + }, + + "Ethernet28": { + "index": "8,8,8,8", + "lanes": "93,94,95,96", + "breakout_modes": { + "1x400G": ["Eth8(Port8)"], + "2x200G": ["Eth8/1(Port8)", "Eth8/2(Port8)"], + "4x100G": ["Eth8/1(Port8)", "Eth8/2(Port8)", "Eth8/3(Port8)", "Eth8/4(Port8)"], + "1x100G[40G](2)": ["Eth8(Port8)"], + "2x50G(2)": ["Eth8/1(Port8)", "Eth8/2(Port8)"], + "4x25G[10G]": ["Eth8/1(Port8)", "Eth8/2(Port8)", "Eth8/3(Port8)", "Eth8/4(Port8)"] + } + }, + + "Ethernet32": { + "index": "9,9,9,9", + "lanes": "97,98,99,100", + "breakout_modes": { + "1x400G": ["Eth9(Port9)"], + "2x200G": ["Eth9/1(Port9)", "Eth9/2(Port9)"], + "4x100G": ["Eth9/1(Port9)", "Eth9/2(Port9)", "Eth9/3(Port9)", "Eth9/4(Port9)"], + "1x100G[40G](2)": ["Eth9(Port9)"], + "2x50G(2)": ["Eth9/1(Port9)", "Eth9/2(Port9)"], + "4x25G[10G]": ["Eth9/1(Port9)", "Eth9/2(Port9)", "Eth9/3(Port9)", "Eth9/4(Port9)"] + } + }, + + "Ethernet36": { + "index": "10,10,10,10", + "lanes": "101,102,103,104", + "breakout_modes": { + "1x400G": ["Eth10(Port10)"], + "2x200G": ["Eth10/1(Port10)", "Eth10/2(Port10)"], + "4x100G": ["Eth10/1(Port10)", "Eth10/2(Port10)", "Eth10/3(Port10)", "Eth10/4(Port10)"], + "1x100G[40G](2)": ["Eth10(Port10)"], + "2x50G(2)": ["Eth10/1(Port10)", "Eth10/2(Port10)"], + "4x25G[10G]": ["Eth10/1(Port10)", "Eth10/2(Port10)", "Eth10/3(Port10)", "Eth10/4(Port10)"] + } + }, + + "Ethernet40": { + "index": "11,11,11,11", + "lanes": "125,126,127,128", + "breakout_modes": { + "1x400G": ["Eth11(Port11)"], + "2x200G": ["Eth11/1(Port11)", "Eth11/2(Port11)"], + "4x100G": ["Eth11/1(Port11)", "Eth11/2(Port11)", "Eth11/3(Port11)", "Eth11/4(Port11)"], + "1x100G[40G](2)": ["Eth11(Port11)"], + "2x50G(2)": ["Eth11/1(Port11)", "Eth11/2(Port11)"], + "4x25G[10G]": ["Eth11/1(Port11)", "Eth11/2(Port11)", "Eth11/3(Port11)", "Eth11/4(Port11)"] + } + }, + + "Ethernet44": { + "index": "12,12,12,12", + "lanes": "121,122,123,124", + "breakout_modes": { + "1x400G": ["Eth12(Port12)"], + "2x200G": ["Eth12/1(Port12)", "Eth12/2(Port12)"], + "4x100G": ["Eth12/1(Port12)", "Eth12/2(Port12)", "Eth12/3(Port12)", "Eth12/4(Port12)"], + "1x100G[40G](2)": ["Eth12(Port12)"], + "2x50G(2)": ["Eth12/1(Port12)", "Eth12/2(Port12)"], + "4x25G[10G]": ["Eth12/1(Port12)", "Eth12/2(Port12)", "Eth12/3(Port12)", "Eth12/4(Port12)"] + } + }, + + "Ethernet48": { + "index": "13,13,13,13", + "lanes": "113,114,115,116", + "breakout_modes": { + "1x400G": ["Eth13(Port13)"], + "2x200G": ["Eth13/1(Port13)", "Eth13/2(Port13)"], + "4x100G": ["Eth13/1(Port13)", "Eth13/2(Port13)", "Eth13/3(Port13)", "Eth13/4(Port13)"], + "1x100G[40G](2)": ["Eth13(Port13)"], + "2x50G(2)": ["Eth13/1(Port13)", "Eth13/2(Port13)"], + "4x25G[10G]": ["Eth13/1(Port13)", "Eth13/2(Port13)", "Eth13/3(Port13)", "Eth13/4(Port13)"] + } + }, + + "Ethernet52": { + "index": "14,14,14,14", + "lanes": "117,118,119,120", + "breakout_modes": { + "1x400G": ["Eth14(Port14)"], + "2x200G": ["Eth14/1(Port14)", "Eth14/2(Port14)"], + "4x100G": ["Eth14/1(Port14)", "Eth14/2(Port14)", "Eth14/3(Port14)", "Eth14/4(Port14)"], + "1x100G[40G](2)": ["Eth14(Port14)"], + "2x50G(2)": ["Eth14/1(Port14)", "Eth14/2(Port14)"], + "4x25G[10G]": ["Eth14/1(Port14)", "Eth14/2(Port14)", "Eth14/3(Port14)", "Eth14/4(Port14)"] + } + }, + + "Ethernet56": { + "index": "15,15,15,15", + "lanes": "109,110,111,112", + "breakout_modes": { + "1x400G": ["Eth15(Port15)"], + "2x200G": ["Eth15/1(Port15)", "Eth15/2(Port15)"], + "4x100G": ["Eth15/1(Port15)", "Eth15/2(Port15)", "Eth15/3(Port15)", "Eth15/4(Port15)"], + "1x100G[40G](2)": ["Eth15(Port15)"], + "2x50G(2)": ["Eth15/1(Port15)", "Eth15/2(Port15)"], + "4x25G[10G]": ["Eth15/1(Port15)", "Eth15/2(Port15)", "Eth15/3(Port15)", "Eth15/4(Port15)"] + } + }, + + "Ethernet60": { + "index": "16,16,16,16", + "lanes": "105,106,107,108", + "breakout_modes": { + "1x400G": ["Eth16(Port16)"], + "2x200G": ["Eth16/1(Port16)", "Eth16/2(Port16)"], + "4x100G": ["Eth16/1(Port16)", "Eth16/2(Port16)", "Eth16/3(Port16)", "Eth16/4(Port16)"], + "1x100G[40G](2)": ["Eth16(Port16)"], + "2x50G(2)": ["Eth16/1(Port16)", "Eth16/2(Port16)"], + "4x25G[10G]": ["Eth16/1(Port16)", "Eth16/2(Port16)", "Eth16/3(Port16)", "Eth16/4(Port16)"] + } + }, + + "Ethernet64": { + "index": "17,17,17,17", + "lanes": "145,146,147,148", + "breakout_modes": { + "1x400G": ["Eth17(Port17)"], + "2x200G": ["Eth17/1(Port17)", "Eth17/2(Port17)"], + "4x100G": ["Eth17/1(Port17)", "Eth17/2(Port17)", "Eth17/3(Port17)", "Eth17/4(Port17)"], + "1x100G[40G](2)": ["Eth17(Port17)"], + "2x50G(2)": ["Eth17/1(Port17)", "Eth17/2(Port17)"], + "4x25G[10G]": ["Eth17/1(Port17)", "Eth17/2(Port17)", "Eth17/3(Port17)", "Eth17/4(Port17)"] + } + }, + + "Ethernet68": { + "index": "18,18,18,18", + "lanes": "149,150,151,152", + "breakout_modes": { + "1x400G": ["Eth18(Port18)"], + "2x200G": ["Eth18/1(Port18)", "Eth18/2(Port18)"], + "4x100G": ["Eth18/1(Port18)", "Eth18/2(Port18)", "Eth18/3(Port18)", "Eth18/4(Port18)"], + "1x100G[40G](2)": ["Eth18(Port18)"], + "2x50G(2)": ["Eth18/1(Port18)", "Eth18/2(Port18)"], + "4x25G[10G]": ["Eth18/1(Port18)", "Eth18/2(Port18)", "Eth18/3(Port18)", "Eth18/4(Port18)"] + } + }, + + "Ethernet72": { + "index": "19,19,19,19", + "lanes": "141,142,143,144", + "breakout_modes": { + "1x400G": ["Eth19(Port19)"], + "2x200G": ["Eth19/1(Port19)", "Eth19/2(Port19)"], + "4x100G": ["Eth19/1(Port19)", "Eth19/2(Port19)", "Eth19/3(Port19)", "Eth19/4(Port19)"], + "1x100G[40G](2)": ["Eth19(Port19)"], + "2x50G(2)": ["Eth19/1(Port19)", "Eth19/2(Port19)"], + "4x25G[10G]": ["Eth19/1(Port19)", "Eth19/2(Port19)", "Eth19/3(Port19)", "Eth19/4(Port19)"] + } + }, + + "Ethernet76": { + "index": "20,20,20,20", + "lanes": "137,138,139,140", + "breakout_modes": { + "1x400G": ["Eth20(Port20)"], + "2x200G": ["Eth20/1(Port20)", "Eth20/2(Port20)"], + "4x100G": ["Eth20/1(Port20)", "Eth20/2(Port20)", "Eth20/3(Port20)", "Eth20/4(Port20)"], + "1x100G[40G](2)": ["Eth20(Port20)"], + "2x50G(2)": ["Eth20/1(Port20)", "Eth20/2(Port20)"], + "4x25G[10G]": ["Eth20/1(Port20)", "Eth20/2(Port20)", "Eth20/3(Port20)", "Eth20/4(Port20)"] + } + }, + + "Ethernet80": { + "index": "21,21,21,21", + "lanes": "129,130,131,132", + "breakout_modes": { + "1x400G": ["Eth21(Port21)"], + "2x200G": ["Eth21/1(Port21)", "Eth21/2(Port21)"], + "4x100G": ["Eth21/1(Port21)", "Eth21/2(Port21)", "Eth21/3(Port21)", "Eth21/4(Port21)"], + "1x100G[40G](2)": ["Eth21(Port21)"], + "2x50G(2)": ["Eth21/1(Port21)", "Eth21/2(Port21)"], + "4x25G[10G]": ["Eth21/1(Port21)", "Eth21/2(Port21)", "Eth21/3(Port21)", "Eth21/4(Port21)"] + } + }, + + "Ethernet84": { + "index": "22,22,22,22", + "lanes": "133,134,135,136", + "breakout_modes": { + "1x400G": ["Eth22(Port22)"], + "2x200G": ["Eth22/1(Port22)", "Eth22/2(Port22)"], + "4x100G": ["Eth22/1(Port22)", "Eth22/2(Port22)", "Eth22/3(Port22)", "Eth22/4(Port22)"], + "1x100G[40G](2)": ["Eth22(Port22)"], + "2x50G(2)": ["Eth22/1(Port22)", "Eth22/2(Port22)"], + "4x25G[10G]": ["Eth22/1(Port22)", "Eth22/2(Port22)", "Eth22/3(Port22)", "Eth22/4(Port22)"] + } + }, + + "Ethernet88": { + "index": "23,23,23,23", + "lanes": "153,154,155,156", + "breakout_modes": { + "1x400G": ["Eth23(Port23)"], + "2x200G": ["Eth23/1(Port23)", "Eth23/2(Port23)"], + "4x100G": ["Eth23/1(Port23)", "Eth23/2(Port23)", "Eth23/3(Port23)", "Eth23/4(Port23)"], + "1x100G[40G](2)": ["Eth23(Port23)"], + "2x50G(2)": ["Eth23/1(Port23)", "Eth23/2(Port23)"], + "4x25G[10G]": ["Eth23/1(Port23)", "Eth23/2(Port23)", "Eth23/3(Port23)", "Eth23/4(Port23)"] + } + }, + + "Ethernet92": { + "index": "24,24,24,24", + "lanes": "157,158,159,160", + "breakout_modes": { + "1x400G": ["Eth24(Port24)"], + "2x200G": ["Eth24/1(Port24)", "Eth24/2(Port24)"], + "4x100G": ["Eth24/1(Port24)", "Eth24/2(Port24)", "Eth24/3(Port24)", "Eth24/4(Port24)"], + "1x100G[40G](2)": ["Eth24(Port24)"], + "2x50G(2)": ["Eth24/1(Port24)", "Eth24/2(Port24)"], + "4x25G[10G]": ["Eth24/1(Port24)", "Eth24/2(Port24)", "Eth24/3(Port24)", "Eth24/4(Port24)"] + } + }, + + "Ethernet96": { + "index": "25,25,25,25", + "lanes": "161,162,163,164", + "breakout_modes": { + "1x400G": ["Eth25(Port25)"], + "2x200G": ["Eth25/1(Port25)", "Eth25/2(Port25)"], + "4x100G": ["Eth25/1(Port25)", "Eth25/2(Port25)", "Eth25/3(Port25)", "Eth25/4(Port25)"], + "1x100G[40G](2)": ["Eth25(Port25)"], + "2x50G(2)": ["Eth25/1(Port25)", "Eth25/2(Port25)"], + "4x25G[10G]": ["Eth25/1(Port25)", "Eth25/2(Port25)", "Eth25/3(Port25)", "Eth25/4(Port25)"] + } + }, + + "Ethernet100": { + "index": "26,26,26,26", + "lanes": "165,166,167,168", + "breakout_modes": { + "1x400G": ["Eth26(Port26)"], + "2x200G": ["Eth26/1(Port26)", "Eth26/2(Port26)"], + "4x100G": ["Eth26/1(Port26)", "Eth26/2(Port26)", "Eth26/3(Port26)", "Eth26/4(Port26)"], + "1x100G[40G](2)": ["Eth26(Port26)"], + "2x50G(2)": ["Eth26/1(Port26)", "Eth26/2(Port26)"], + "4x25G[10G]": ["Eth26/1(Port26)", "Eth26/2(Port26)", "Eth26/3(Port26)", "Eth26/4(Port26)"] + } + }, + + "Ethernet104": { + "index": "27,27,27,27", + "lanes": "169,170,171,172", + "breakout_modes": { + "1x400G": ["Eth27(Port27)"], + "2x200G": ["Eth27/1(Port27)", "Eth27/2(Port27)"], + "4x100G": ["Eth27/1(Port27)", "Eth27/2(Port27)", "Eth27/3(Port27)", "Eth27/4(Port27)"], + "1x100G[40G](2)": ["Eth27(Port27)"], + "2x50G(2)": ["Eth27/1(Port27)", "Eth27/2(Port27)"], + "4x25G[10G]": ["Eth27/1(Port27)", "Eth27/2(Port27)", "Eth27/3(Port27)", "Eth27/4(Port27)"] + } + }, + + "Ethernet108": { + "index": "28,28,28,28", + "lanes": "173,174,175,176", + "breakout_modes": { + "1x400G": ["Eth28(Port28)"], + "2x200G": ["Eth28/1(Port28)", "Eth28/2(Port28)"], + "4x100G": ["Eth28/1(Port28)", "Eth28/2(Port28)", "Eth28/3(Port28)", "Eth28/4(Port28)"], + "1x100G[40G](2)": ["Eth28(Port28)"], + "2x50G(2)": ["Eth28/1(Port28)", "Eth28/2(Port28)"], + "4x25G[10G]": ["Eth28/1(Port28)", "Eth28/2(Port28)", "Eth28/3(Port28)", "Eth28/4(Port28)"] + } + }, + + "Ethernet112": { + "index": "29,29,29,29", + "lanes": "177,178,179,180", + "breakout_modes": { + "1x400G": ["Eth29(Port29)"], + "2x200G": ["Eth29/1(Port29)", "Eth29/2(Port29)"], + "4x100G": ["Eth29/1(Port29)", "Eth29/2(Port29)", "Eth29/3(Port29)", "Eth29/4(Port29)"], + "1x100G[40G](2)": ["Eth29(Port29)"], + "2x50G(2)": ["Eth29/1(Port29)", "Eth29/2(Port29)"], + "4x25G[10G]": ["Eth29/1(Port29)", "Eth29/2(Port29)", "Eth29/3(Port29)", "Eth29/4(Port29)"] + } + }, + + "Ethernet116": { + "index": "30,30,30,30", + "lanes": "181,182,183,184", + "breakout_modes": { + "1x400G": ["Eth30(Port30)"], + "2x200G": ["Eth30/1(Port30)", "Eth30/2(Port30)"], + "4x100G": ["Eth30/1(Port30)", "Eth30/2(Port30)", "Eth30/3(Port30)", "Eth30/4(Port30)"], + "1x100G[40G](2)": ["Eth30(Port30)"], + "2x50G(2)": ["Eth30/1(Port30)", "Eth30/2(Port30)"], + "4x25G[10G]": ["Eth30/1(Port30)", "Eth30/2(Port30)", "Eth30/3(Port30)", "Eth30/4(Port30)"] + } + }, + + "Ethernet120": { + "index": "31,31,31,31", + "lanes": "185,186,187,188", + "breakout_modes": { + "1x400G": ["Eth31(Port31)"], + "2x200G": ["Eth31/1(Port31)", "Eth31/2(Port31)"], + "4x100G": ["Eth31/1(Port31)", "Eth31/2(Port31)", "Eth31/3(Port31)", "Eth31/4(Port31)"], + "1x100G[40G](2)": ["Eth31(Port31)"], + "2x50G(2)": ["Eth31/1(Port31)", "Eth31/2(Port31)"], + "4x25G[10G]": ["Eth31/1(Port31)", "Eth31/2(Port31)", "Eth31/3(Port31)", "Eth31/4(Port31)"] + } + }, + + "Ethernet124": { + "index": "32,32,32,32", + "lanes": "189,190,191,192", + "breakout_modes": { + "1x400G": ["Eth32(Port32)"], + "2x200G": ["Eth32/1(Port32)", "Eth32/2(Port32)"], + "4x100G": ["Eth32/1(Port32)", "Eth32/2(Port32)", "Eth32/3(Port32)", "Eth32/4(Port32)"], + "1x100G[40G](2)": ["Eth32(Port32)"], + "2x50G(2)": ["Eth32/1(Port32)", "Eth32/2(Port32)"], + "4x25G[10G]": ["Eth32/1(Port32)", "Eth32/2(Port32)", "Eth32/3(Port32)", "Eth32/4(Port32)"] + } + }, + + + "Ethernet128": { + "index": "33,33,33,33", + "lanes": "49,50,51,52", + "breakout_modes": { + "1x400G": ["Eth33(Port33)"], + "2x200G": ["Eth33/1(Port33)", "Eth33/2(Port33)"], + "4x100G": ["Eth33/1(Port33)", "Eth33/2(Port33)", "Eth33/3(Port33)", "Eth33/4(Port33)"], + "1x100G[40G](2)": ["Eth33(Port33)"], + "2x50G(2)": ["Eth33/1(Port33)", "Eth33/2(Port33)"], + "4x25G[10G]": ["Eth33/1(Port33)", "Eth33/2(Port33)", "Eth33/3(Port33)", "Eth33/4(Port33)"] + } + }, + + "Ethernet132": { + "index": "34,34,34,34", + "lanes": "53,54,55,56", + "breakout_modes": { + "1x400G": ["Eth34(Port34)"], + "2x200G": ["Eth34/1(Port34)", "Eth34/2(Port34)"], + "4x100G": ["Eth34/1(Port34)", "Eth34/2(Port34)", "Eth34/3(Port34)", "Eth34/4(Port34)"], + "1x100G[40G](2)": ["Eth34(Port34)"], + "2x50G(2)": ["Eth34/1(Port34)", "Eth34/2(Port34)"], + "4x25G[10G]": ["Eth34/1(Port34)", "Eth34/2(Port34)", "Eth34/3(Port34)", "Eth34/4(Port34)"] + } + }, + + "Ethernet136": { + "index": "35,35,35,35", + "lanes": "57,58,59,60", + "breakout_modes": { + "1x400G": ["Eth35(Port35)"], + "2x200G": ["Eth35/1(Port35)", "Eth35/2(Port35)"], + "4x100G": ["Eth35/1(Port35)", "Eth35/2(Port35)", "Eth35/3(Port35)", "Eth35/4(Port35)"], + "1x100G[40G](2)": ["Eth35(Port35)"], + "2x50G(2)": ["Eth35/1(Port35)", "Eth35/2(Port35)"], + "4x25G[10G]": ["Eth35/1(Port35)", "Eth35/2(Port35)", "Eth35/3(Port35)", "Eth35/4(Port35)"] + } + }, + + "Ethernet140": { + "index": "36,36,36,36", + "lanes": "61,62,63,64", + "breakout_modes": { + "1x400G": ["Eth36(Port36)"], + "2x200G": ["Eth36/1(Port36)", "Eth36/2(Port36)"], + "4x100G": ["Eth36/1(Port36)", "Eth36/2(Port36)", "Eth36/3(Port36)", "Eth36/4(Port36)"], + "1x100G[40G](2)": ["Eth36(Port36)"], + "2x50G(2)": ["Eth36/1(Port36)", "Eth36/2(Port36)"], + "4x25G[10G]": ["Eth36/1(Port36)", "Eth36/2(Port36)", "Eth36/3(Port36)", "Eth36/4(Port36)"] + } + }, + + "Ethernet144": { + "index": "37,37,37,37", + "lanes": "29,30,31,32", + "breakout_modes": { + "1x400G": ["Eth37(Port37)"], + "2x200G": ["Eth37/1(Port37)", "Eth37/2(Port37)"], + "4x100G": ["Eth37/1(Port37)", "Eth37/2(Port37)", "Eth37/3(Port37)", "Eth37/4(Port37)"], + "1x100G[40G](2)": ["Eth37(Port37)"], + "2x50G(2)": ["Eth37/1(Port37)", "Eth37/2(Port37)"], + "4x25G[10G]": ["Eth37/1(Port37)", "Eth37/2(Port37)", "Eth37/3(Port37)", "Eth37/4(Port37)"] + } + }, + + "Ethernet148": { + "index": "38,38,38,38", + "lanes": "33,34,35,36", + "breakout_modes": { + "1x400G": ["Eth38(Port38)"], + "2x200G": ["Eth38/1(Port38)", "Eth38/2(Port38)"], + "4x100G": ["Eth38/1(Port38)", "Eth38/2(Port38)", "Eth38/3(Port38)", "Eth38/4(Port38)"], + "1x100G[40G](2)": ["Eth38(Port38)"], + "2x50G(2)": ["Eth38/1(Port38)", "Eth38/2(Port38)"], + "4x25G[10G]": ["Eth38/1(Port38)", "Eth38/2(Port38)", "Eth38/3(Port38)", "Eth38/4(Port38)"] + } + }, + + "Ethernet152": { + "index": "39,39,39,39", + "lanes": "25,26,27,28", + "breakout_modes": { + "1x400G": ["Eth39(Port39)"], + "2x200G": ["Eth39/1(Port39)", "Eth39/2(Port39)"], + "4x100G": ["Eth39/1(Port39)", "Eth39/2(Port39)", "Eth39/3(Port39)", "Eth39/4(Port39)"], + "1x100G[40G](2)": ["Eth39(Port39)"], + "2x50G(2)": ["Eth39/1(Port39)", "Eth39/2(Port39)"], + "4x25G[10G]": ["Eth39/1(Port39)", "Eth39/2(Port39)", "Eth39/3(Port39)", "Eth39/4(Port39)"] + } + }, + + "Ethernet156": { + "index": "40,40,40,40", + "lanes": "41,42,43,44", + "breakout_modes": { + "1x400G": ["Eth40(Port40)"], + "2x200G": ["Eth40/1(Port40)", "Eth40/2(Port40)"], + "4x100G": ["Eth40/1(Port40)", "Eth40/2(Port40)", "Eth40/3(Port40)", "Eth40/4(Port40)"], + "1x100G[40G](2)": ["Eth40(Port40)"], + "2x50G(2)": ["Eth40/1(Port40)", "Eth40/2(Port40)"], + "4x25G[10G]": ["Eth40/1(Port40)", "Eth40/2(Port40)", "Eth40/3(Port40)", "Eth40/4(Port40)"] + } + }, + + "Ethernet160": { + "index": "41,41,41,41", + "lanes": "21,22,23,24", + "breakout_modes": { + "1x400G": ["Eth41(Port41)"], + "2x200G": ["Eth41/1(Port41)", "Eth41/2(Port41)"], + "4x100G": ["Eth41/1(Port41)", "Eth41/2(Port41)", "Eth41/3(Port41)", "Eth41/4(Port41)"], + "1x100G[40G](2)": ["Eth41(Port41)"], + "2x50G(2)": ["Eth41/1(Port41)", "Eth41/2(Port41)"], + "4x25G[10G]": ["Eth41/1(Port41)", "Eth41/2(Port41)", "Eth41/3(Port41)", "Eth41/4(Port41)"] + } + }, + + "Ethernet164": { + "index": "42,42,42,42", + "lanes": "37,38,39,40", + "breakout_modes": { + "1x400G": ["Eth42(Port42)"], + "2x200G": ["Eth42/1(Port42)", "Eth42/2(Port42)"], + "4x100G": ["Eth42/1(Port42)", "Eth42/2(Port42)", "Eth42/3(Port42)", "Eth42/4(Port42)"], + "1x100G[40G](2)": ["Eth42(Port42)"], + "2x50G(2)": ["Eth42/1(Port42)", "Eth42/2(Port42)"], + "4x25G[10G]": ["Eth42/1(Port42)", "Eth42/2(Port42)", "Eth42/3(Port42)", "Eth42/4(Port42)"] + } + }, + + "Ethernet168": { + "index": "43,43,43,43", + "lanes": "17,18,19,20", + "breakout_modes": { + "1x400G": ["Eth43(Port43)"], + "2x200G": ["Eth43/1(Port43)", "Eth43/2(Port43)"], + "4x100G": ["Eth43/1(Port43)", "Eth43/2(Port43)", "Eth43/3(Port43)", "Eth43/4(Port43)"], + "1x100G[40G](2)": ["Eth43(Port43)"], + "2x50G(2)": ["Eth43/1(Port43)", "Eth43/2(Port43)"], + "4x25G[10G]": ["Eth43/1(Port43)", "Eth43/2(Port43)", "Eth43/3(Port43)", "Eth43/4(Port43)"] + } + }, + + "Ethernet172": { + "index": "44,44,44,44", + "lanes": "45,46,47,48", + "breakout_modes": { + "1x400G": ["Eth44(Port44)"], + "2x200G": ["Eth44/1(Port44)", "Eth44/2(Port44)"], + "4x100G": ["Eth44/1(Port44)", "Eth44/2(Port44)", "Eth44/3(Port44)", "Eth44/4(Port44)"], + "1x100G[40G](2)": ["Eth44(Port44)"], + "2x50G(2)": ["Eth44/1(Port44)", "Eth44/2(Port44)"], + "4x25G[10G]": ["Eth44/1(Port44)", "Eth44/2(Port44)", "Eth44/3(Port44)", "Eth44/4(Port44)"] + } + }, + + "Ethernet176": { + "index": "45,45,45,45", + "lanes": "13,14,15,16", + "breakout_modes": { + "1x400G": ["Eth45(Port45)"], + "2x200G": ["Eth45/1(Port45)", "Eth45/2(Port45)"], + "4x100G": ["Eth45/1(Port45)", "Eth45/2(Port45)", "Eth45/3(Port45)", "Eth45/4(Port45)"], + "1x100G[40G](2)": ["Eth45(Port45)"], + "2x50G(2)": ["Eth45/1(Port45)", "Eth45/2(Port45)"], + "4x25G[10G]": ["Eth45/1(Port45)", "Eth45/2(Port45)", "Eth45/3(Port45)", "Eth45/4(Port45)"] + } + }, + + "Ethernet180": { + "index": "46,46,46,46", + "lanes": "9,10,11,12", + "breakout_modes": { + "1x400G": ["Eth46(Port46)"], + "2x200G": ["Eth46/1(Port46)", "Eth46/2(Port46)"], + "4x100G": ["Eth46/1(Port46)", "Eth46/2(Port46)", "Eth46/3(Port46)", "Eth46/4(Port46)"], + "1x100G[40G](2)": ["Eth46(Port46)"], + "2x50G(2)": ["Eth46/1(Port46)", "Eth46/2(Port46)"], + "4x25G[10G]": ["Eth46/1(Port46)", "Eth46/2(Port46)", "Eth46/3(Port46)", "Eth46/4(Port46)"] + } + }, + + "Ethernet184": { + "index": "47,47,47,47", + "lanes": "1,2,3,4", + "breakout_modes": { + "1x400G": ["Eth47(Port47)"], + "2x200G": ["Eth47/1(Port47)", "Eth47/2(Port47)"], + "4x100G": ["Eth47/1(Port47)", "Eth47/2(Port47)", "Eth47/3(Port47)", "Eth47/4(Port47)"], + "1x100G[40G](2)": ["Eth47(Port47)"], + "2x50G(2)": ["Eth47/1(Port47)", "Eth47/2(Port47)"], + "4x25G[10G]": ["Eth47/1(Port47)", "Eth47/2(Port47)", "Eth47/3(Port47)", "Eth47/4(Port47)"] + } + }, + + "Ethernet188": { + "index": "48,48,48,48", + "lanes": "5,6,7,8", + "breakout_modes": { + "1x400G": ["Eth48(Port48)"], + "2x200G": ["Eth48/1(Port48)", "Eth48/2(Port48)"], + "4x100G": ["Eth48/1(Port48)", "Eth48/2(Port48)", "Eth48/3(Port48)", "Eth48/4(Port48)"], + "1x100G[40G](2)": ["Eth48(Port48)"], + "2x50G(2)": ["Eth48/1(Port48)", "Eth48/2(Port48)"], + "4x25G[10G]": ["Eth48/1(Port48)", "Eth48/2(Port48)", "Eth48/3(Port48)", "Eth48/4(Port48)"] + } + }, + + "Ethernet192": { + "index": "49,49,49,49", + "lanes": "249,250,251,252", + "breakout_modes": { + "1x400G": ["Eth49(Port49)"], + "2x200G": ["Eth49/1(Port49)", "Eth49/2(Port49)"], + "4x100G": ["Eth49/1(Port49)", "Eth49/2(Port49)", "Eth49/3(Port49)", "Eth49/4(Port49)"], + "1x100G[40G](2)": ["Eth49(Port49)"], + "2x50G(2)": ["Eth49/1(Port49)", "Eth49/2(Port49)"], + "4x25G[10G]": ["Eth49/1(Port49)", "Eth49/2(Port49)", "Eth49/3(Port49)", "Eth49/4(Port49)"] + } + }, + + "Ethernet196": { + "index": "50,50,50,50", + "lanes": "253,254,255,256", + "breakout_modes": { + "1x400G": ["Eth50(Port50)"], + "2x200G": ["Eth50/1(Port50)", "Eth50/2(Port50)"], + "4x100G": ["Eth50/1(Port50)", "Eth50/2(Port50)", "Eth50/3(Port50)", "Eth50/4(Port50)"], + "1x100G[40G](2)": ["Eth50(Port50)"], + "2x50G(2)": ["Eth50/1(Port50)", "Eth50/2(Port50)"], + "4x25G[10G]": ["Eth50/1(Port50)", "Eth50/2(Port50)", "Eth50/3(Port50)", "Eth50/4(Port50)"] + } + }, + + "Ethernet200": { + "index": "51,51,51,51", + "lanes": "245,246,247,248", + "breakout_modes": { + "1x400G": ["Eth51(Port51)"], + "2x200G": ["Eth51/1(Port51)", "Eth51/2(Port51)"], + "4x100G": ["Eth51/1(Port51)", "Eth51/2(Port51)", "Eth51/3(Port51)", "Eth51/4(Port51)"], + "1x100G[40G](2)": ["Eth51(Port51)"], + "2x50G(2)": ["Eth51/1(Port51)", "Eth51/2(Port51)"], + "4x25G[10G]": ["Eth51/1(Port51)", "Eth51/2(Port51)", "Eth51/3(Port51)", "Eth51/4(Port51)"] + } + }, + + "Ethernet204": { + "index": "52,52,52,52", + "lanes": "241,242,243,244", + "breakout_modes": { + "1x400G": ["Eth52(Port52)"], + "2x200G": ["Eth52/1(Port52)", "Eth52/2(Port52)"], + "4x100G": ["Eth52/1(Port52)", "Eth52/2(Port52)", "Eth52/3(Port52)", "Eth52/4(Port52)"], + "1x100G[40G](2)": ["Eth52(Port52)"], + "2x50G(2)": ["Eth52/1(Port52)", "Eth52/2(Port52)"], + "4x25G[10G]": ["Eth52/1(Port52)", "Eth52/2(Port52)", "Eth52/3(Port52)", "Eth52/4(Port52)"] + } + }, + + "Ethernet208": { + "index": "53,53,53,53", + "lanes": "237,238,239,240", + "breakout_modes": { + "1x400G": ["Eth53(Port53)"], + "2x200G": ["Eth53/1(Port53)", "Eth53/2(Port53)"], + "4x100G": ["Eth53/1(Port53)", "Eth53/2(Port53)", "Eth53/3(Port53)", "Eth53/4(Port53)"], + "1x100G[40G](2)": ["Eth53(Port53)"], + "2x50G(2)": ["Eth53/1(Port53)", "Eth53/2(Port53)"], + "4x25G[10G]": ["Eth53/1(Port53)", "Eth53/2(Port53)", "Eth53/3(Port53)", "Eth53/4(Port53)"] + } + }, + + "Ethernet212": { + "index": "54,54,54,54", + "lanes": "209,210,211,212", + "breakout_modes": { + "1x400G": ["Eth54(Port54)"], + "2x200G": ["Eth54/1(Port54)", "Eth54/2(Port54)"], + "4x100G": ["Eth54/1(Port54)", "Eth54/2(Port54)", "Eth54/3(Port54)", "Eth54/4(Port54)"], + "1x100G[40G](2)": ["Eth54(Port54)"], + "2x50G(2)": ["Eth54/1(Port54)", "Eth54/2(Port54)"], + "4x25G[10G]": ["Eth54/1(Port54)", "Eth54/2(Port54)", "Eth54/3(Port54)", "Eth54/4(Port54)"] + } + }, + + "Ethernet216": { + "index": "55,55,55,55", + "lanes": "233,234,235,236", + "breakout_modes": { + "1x400G": ["Eth55(Port55)"], + "2x200G": ["Eth55/1(Port55)", "Eth55/2(Port55)"], + "4x100G": ["Eth55/1(Port55)", "Eth55/2(Port55)", "Eth55/3(Port55)", "Eth55/4(Port55)"], + "1x100G[40G](2)": ["Eth55(Port55)"], + "2x50G(2)": ["Eth55/1(Port55)", "Eth55/2(Port55)"], + "4x25G[10G]": ["Eth55/1(Port55)", "Eth55/2(Port55)", "Eth55/3(Port55)", "Eth55/4(Port55)"] + } + }, + + "Ethernet220": { + "index": "56,56,56,56", + "lanes": "217,218,219,220", + "breakout_modes": { + "1x400G": ["Eth56(Port56)"], + "2x200G": ["Eth56/1(Port56)", "Eth56/2(Port56)"], + "4x100G": ["Eth56/1(Port56)", "Eth56/2(Port56)", "Eth56/3(Port56)", "Eth56/4(Port56)"], + "1x100G[40G](2)": ["Eth56(Port56)"], + "2x50G(2)": ["Eth56/1(Port56)", "Eth56/2(Port56)"], + "4x25G[10G]": ["Eth56/1(Port56)", "Eth56/2(Port56)", "Eth56/3(Port56)", "Eth56/4(Port56)"] + } + }, + + "Ethernet224": { + "index": "57,57,57,57", + "lanes": "229,230,231,232", + "breakout_modes": { + "1x400G": ["Eth57(Port57)"], + "2x200G": ["Eth57/1(Port57)", "Eth57/2(Port57)"], + "4x100G": ["Eth57/1(Port57)", "Eth57/2(Port57)", "Eth57/3(Port57)", "Eth57/4(Port57)"], + "1x100G[40G](2)": ["Eth57(Port57)"], + "2x50G(2)": ["Eth57/1(Port57)", "Eth57/2(Port57)"], + "4x25G[10G]": ["Eth57/1(Port57)", "Eth57/2(Port57)", "Eth57/3(Port57)", "Eth57/4(Port57)"] + } + }, + + "Ethernet228": { + "index": "58,58,58,58", + "lanes": "213,214,215,216", + "breakout_modes": { + "1x400G": ["Eth58(Port58)"], + "2x200G": ["Eth58/1(Port58)", "Eth58/2(Port58)"], + "4x100G": ["Eth58/1(Port58)", "Eth58/2(Port58)", "Eth58/3(Port58)", "Eth58/4(Port58)"], + "1x100G[40G](2)": ["Eth58(Port58)"], + "2x50G(2)": ["Eth58/1(Port58)", "Eth58/2(Port58)"], + "4x25G[10G]": ["Eth58/1(Port58)", "Eth58/2(Port58)", "Eth58/3(Port58)", "Eth58/4(Port58)"] + } + }, + + "Ethernet232": { + "index": "59,59,59,59", + "lanes": "225,226,227,228", + "breakout_modes": { + "1x400G": ["Eth59(Port59)"], + "2x200G": ["Eth59/1(Port59)", "Eth59/2(Port59)"], + "4x100G": ["Eth59/1(Port59)", "Eth59/2(Port59)", "Eth59/3(Port59)", "Eth59/4(Port59)"], + "1x100G[40G](2)": ["Eth59(Port59)"], + "2x50G(2)": ["Eth59/1(Port59)", "Eth59/2(Port59)"], + "4x25G[10G]": ["Eth59/1(Port59)", "Eth59/2(Port59)", "Eth59/3(Port59)", "Eth59/4(Port59)"] + } + }, + + "Ethernet236": { + "index": "60,60,60,60", + "lanes": "221,222,223,224", + "breakout_modes": { + "1x400G": ["Eth60(Port60)"], + "2x200G": ["Eth60/1(Port60)", "Eth60/2(Port60)"], + "4x100G": ["Eth60/1(Port60)", "Eth60/2(Port60)", "Eth60/3(Port60)", "Eth60/4(Port60)"], + "1x100G[40G](2)": ["Eth60(Port60)"], + "2x50G(2)": ["Eth60/1(Port60)", "Eth60/2(Port60)"], + "4x25G[10G]": ["Eth60/1(Port60)", "Eth60/2(Port60)", "Eth60/3(Port60)", "Eth60/4(Port60)"] + } + }, + + "Ethernet240": { + "index": "61,61,61,61", + "lanes": "193,194,195,196", + "breakout_modes": { + "1x400G": ["Eth61(Port61)"], + "2x200G": ["Eth61/1(Port61)", "Eth61/2(Port61)"], + "4x100G": ["Eth61/1(Port61)", "Eth61/2(Port61)", "Eth61/3(Port61)", "Eth61/4(Port61)"], + "1x100G[40G](2)": ["Eth61(Port61)"], + "2x50G(2)": ["Eth61/1(Port61)", "Eth61/2(Port61)"], + "4x25G[10G]": ["Eth61/1(Port61)", "Eth61/2(Port61)", "Eth61/3(Port61)", "Eth61/4(Port61)"] + } + }, + + "Ethernet244": { + "index": "62,62,62,62", + "lanes": "201,202,203,204", + "breakout_modes": { + "1x400G": ["Eth62(Port62)"], + "2x200G": ["Eth62/1(Port62)", "Eth62/2(Port62)"], + "4x100G": ["Eth62/1(Port62)", "Eth62/2(Port62)", "Eth62/3(Port62)", "Eth62/4(Port62)"], + "1x100G[40G](2)": ["Eth62(Port62)"], + "2x50G(2)": ["Eth62/1(Port62)", "Eth62/2(Port62)"], + "4x25G[10G]": ["Eth62/1(Port62)", "Eth62/2(Port62)", "Eth62/3(Port62)", "Eth62/4(Port62)"] + } + }, + + "Ethernet248": { + "index": "63,63,63,63", + "lanes": "197,198,199,200", + "breakout_modes": { + "1x400G": ["Eth63(Port63)"], + "2x200G": ["Eth63/1(Port63)", "Eth63/2(Port63)"], + "4x100G": ["Eth63/1(Port63)", "Eth63/2(Port63)", "Eth63/3(Port63)", "Eth63/4(Port63)"], + "1x100G[40G](2)": ["Eth63(Port63)"], + "2x50G(2)": ["Eth63/1(Port63)", "Eth63/2(Port63)"], + "4x25G[10G]": ["Eth63/1(Port63)", "Eth63/2(Port63)", "Eth63/3(Port63)", "Eth63/4(Port63)"] + } + }, + + "Ethernet252": { + "index": "64,64,64,64", + "lanes": "205,206,207,208", + "breakout_modes": { + "1x400G": ["Eth64(Port64)"], + "2x200G": ["Eth64/1(Port64)", "Eth64/2(Port64)"], + "4x100G": ["Eth64/1(Port64)", "Eth64/2(Port64)", "Eth64/3(Port64)", "Eth64/4(Port64)"], + "1x100G[40G](2)": ["Eth64(Port64)"], + "2x50G(2)": ["Eth64/1(Port64)", "Eth64/2(Port64)"], + "4x25G[10G]": ["Eth64/1(Port64)", "Eth64/2(Port64)", "Eth64/3(Port64)", "Eth64/4(Port64)"] + } + }, + + "Ethernet256": { + "index": "65", + "lanes": "257", + "breakout_modes": { + "1x10G[1G]": ["Eth65(Port65)"] + } + }, + + "Ethernet257": { + "index": "66", + "lanes": "258", + "breakout_modes": { + "1x10G[1G]": ["Eth66(Port66)"] + } + } + } +} + diff --git a/device/accton/x86_64-accton_as9736_64d-r0/platform_env.conf b/device/accton/x86_64-accton_as9736_64d-r0/platform_env.conf new file mode 100644 index 0000000000..28af0b988c --- /dev/null +++ b/device/accton/x86_64-accton_as9736_64d-r0/platform_env.conf @@ -0,0 +1,2 @@ +is_ltsw_chip=1 +SYNCD_SHM_SIZE=1G diff --git a/device/accton/x86_64-accton_minipack-r0/plugins/ssd_util.py b/device/accton/x86_64-accton_minipack-r0/plugins/ssd_util.py new file mode 100755 index 0000000000..4b173c5e38 --- /dev/null +++ b/device/accton/x86_64-accton_minipack-r0/plugins/ssd_util.py @@ -0,0 +1,24 @@ +# ssd_util.py +# +# Platform-specific SSD interface for SONiC +## + +try: + from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as MainSsdUtil +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +NOT_AVAILABLE = "N/A" + +class SsdUtil(MainSsdUtil): + """Platform-specific SsdUtil class""" + + def __init__(self, diskdev): + super(SsdUtil, self).__init__(diskdev) + + # If it has no vendor tool to read SSD information, + # ssd_util.py will use generic SSD information + # for vendor SSD information. + if self.vendor_ssd_info == NOT_AVAILABLE: + self.vendor_ssd_info = self.ssd_info + diff --git a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/service/as4630-54pe-pddf-platform-monitor.service b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/service/as4630-54pe-pddf-platform-monitor.service new file mode 100644 index 0000000000..99bca2684f --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/service/as4630-54pe-pddf-platform-monitor.service @@ -0,0 +1,16 @@ +[Unit] +Description=Accton AS4630-54PE Platform Monitoring service +Before=pmon.service +After=pddf-platform-init.service +DefaultDependencies=no + +[Service] +ExecStart=/usr/local/bin/accton_as4630_54pe_pddf_monitor.py +KillSignal=SIGKILL +SuccessExitStatus=SIGKILL + +# Resource Limitations +LimitCORE=infinity + +[Install] +WantedBy=multi-user.target diff --git a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/chassis.py b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/chassis.py index 1dfca24ab3..8ec7deb95a 100644 --- a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/chassis.py +++ b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/chassis.py @@ -10,10 +10,14 @@ import sys from sonic_platform_pddf_base.pddf_chassis import PddfChassis from .event import SfpEvent + from .helper import APIHelper except ImportError as e: raise ImportError(str(e) + "- required module not found") NUM_COMPONENT = 2 +HOST_REBOOT_CAUSE_PATH = "/host/reboot-cause/" +PMON_REBOOT_CAUSE_PATH = "/usr/share/sonic/platform/api_files/reboot-cause/" +REBOOT_CAUSE_FILE = "reboot-cause.txt" class Chassis(PddfChassis): """ @@ -26,6 +30,7 @@ def __init__(self, pddf_data=None, pddf_plugin_data=None): PddfChassis.__init__(self, pddf_data, pddf_plugin_data) self.__initialize_components() self._sfpevent = SfpEvent(self.get_all_sfps()) + self._api_helper = APIHelper() def __initialize_components(self): from sonic_platform.component import Component @@ -68,3 +73,57 @@ def get_status_led(self): def set_status_led(self, color): return self.set_system_led(self.SYSLED_DEV_NAME, color) + + + def get_port_or_cage_type(self, port): + from sonic_platform_base.sfp_base import SfpBase + if port in range(1, 49): + return SfpBase.SFP_PORT_TYPE_BIT_RJ45 + elif port in range(49, 53): + return SfpBase.SFP_PORT_TYPE_BIT_SFP | SfpBase.SFP_PORT_TYPE_BIT_SFP_PLUS | SfpBase.SFP_PORT_TYPE_BIT_SFP28 + else: + return SfpBase.SFP_PORT_TYPE_BIT_QSFP | SfpBase.SFP_PORT_TYPE_BIT_QSFP_PLUS | SfpBase.SFP_PORT_TYPE_BIT_QSFP28 + + def get_reboot_cause(self): + """ + Retrieves the cause of the previous reboot + Returns: + A tuple (string, string) where the first element is a string + containing the cause of the previous reboot. This string must be + one of the predefined strings in this class. If the first string + is "REBOOT_CAUSE_HARDWARE_OTHER", the second string can be used + to pass a description of the reboot cause. + """ + + reboot_cause_path = (HOST_REBOOT_CAUSE_PATH + REBOOT_CAUSE_FILE) + sw_reboot_cause = self._api_helper.read_txt_file( + reboot_cause_path) or "Unknown" + + + return ('REBOOT_CAUSE_NON_HARDWARE', sw_reboot_cause) + + def get_position_in_parent(self): + """ + Retrieves 1-based relative physical position in parent device. If the agent cannot determine the parent-relative position + for some reason, or if the associated value of entPhysicalContainedIn is '0', then the value '-1' is returned + Returns: + integer: The 1-based relative physical position in parent device or -1 if cannot determine the position + """ + return -1 + + def is_replaceable(self): + """ + Indicate whether this device is replaceable. + Returns: + bool: True if it is replaceable. + """ + return False + + def get_revision(self): + """ + Retrieves the hardware revision of the device + + Returns: + string: Revision value of device + """ + return self._eeprom.revision_str() diff --git a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/component.py b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/component.py index 2659d16f1c..a30b4630e0 100644 --- a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/component.py +++ b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/component.py @@ -8,6 +8,8 @@ ############################################################################# try: + import os + import json from sonic_platform_base.component_base import ComponentBase from sonic_py_common.general import getstatusoutput_noshell except ImportError as e: @@ -82,4 +84,85 @@ def install_firmware(self, image_path): Returns: A boolean, True if install successfully, False if not """ - raise NotImplementedError + ret, output = getstatusoutput_noshell(["tar", "-C", "/tmp", "-xzf", image_path ] ) + if ret != 0 : + print("Installation failed because of wrong image package") + return False + + if os.path.exists("/tmp/install.json") is False: + print("Installation failed without jsonfile") + return False + + input_file = open ('/tmp/install.json') + json_array = json.load(input_file) + ret = 1 + for item in json_array: + if item.get('id')==None or item.get('path')==None: + continue + if self.name == item['id'] and item['path'] and item.get('cpu'): + print( "Find", item['id'], item['path'], item['cpu'] ) + ret, output = getstatusoutput_noshell(["/tmp/run_install.sh", item['id'], item['path'], item['cpu'] ]) + if ret==0: + break + elif self.name == item['id'] and item['path']: + print( "Find", item['id'], item['path'] ) + ret, output = getstatusoutput_noshell(["/tmp/run_install.sh", item['id'], item['path'] ]) + if ret==0: + break + + if ret==0: + return True + else : + return False + + def get_presence(self): + """ + Retrieves the presence of the device + Returns: + bool: True if device is present, False if not + """ + return True + + def get_model(self): + """ + Retrieves the model number (or part number) of the device + Returns: + string: Model/part number of device + """ + return 'N/A' + + def get_serial(self): + """ + Retrieves the serial number of the device + Returns: + string: Serial number of device + """ + return 'N/A' + + def get_status(self): + """ + Retrieves the operational status of the device + Returns: + A boolean value, True if device is operating properly, False if not + """ + return True + + def get_position_in_parent(self): + """ + Retrieves 1-based relative physical position in parent device. + If the agent cannot determine the parent-relative position + for some reason, or if the associated value of + entPhysicalContainedIn is'0', then the value '-1' is returned + Returns: + integer: The 1-based relative physical position in parent device + or -1 if cannot determine the position + """ + return -1 + + def is_replaceable(self): + """ + Indicate whether this device is replaceable. + Returns: + bool: True if it is replaceable. + """ + return False diff --git a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/event.py b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/event.py index d5dac6d7f7..1a2f60dbb6 100644 --- a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/event.py +++ b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/event.py @@ -1,11 +1,21 @@ try: import time from sonic_py_common.logger import Logger + from .sfp import Sfp except ImportError as e: raise ImportError(repr(e) + " - required module not found") POLL_INTERVAL_IN_SEC = 1 +# SFP errors that will block eeprom accessing +SFP_BLOCKING_ERRORS = [ + Sfp.SFP_ERROR_BIT_I2C_STUCK, + Sfp.SFP_ERROR_BIT_BAD_EEPROM, + Sfp.SFP_ERROR_BIT_UNSUPPORTED_CABLE, + Sfp.SFP_ERROR_BIT_HIGH_TEMP, + Sfp.SFP_ERROR_BIT_BAD_CABLE +] + class SfpEvent: ''' Listen to insert/remove sfp events ''' @@ -46,15 +56,54 @@ def get_sfp_event(self, timeout=2000): if changed_ports != 0: for sfp in self._sfp_list: i=sfp.get_position_in_parent() - 1 - if (changed_ports & (1 << i)): - if (bitmap & (1 << i)) == 0: - port_dict[i+1] = '0' - else: - port_dict[i+1] = '1' + if (changed_ports & (1 << i)) == 0: + continue + + if (bitmap & (1 << i)) == 0: + port_dict[i+1] = '0' + else: + # sfp.refresh_optoe_dev_class() + sfp_state_bits = self.get_sfp_state_bits(sfp, True) + sfp_state_bits = self.check_sfp_blocking_errors(sfp_state_bits) + port_dict[i+1] = str(sfp_state_bits) # Update the cache dict self._sfp_change_event_data['present'] = bitmap return True, change_dict else: return True, change_dict + + def get_sfp_state_bits(self, sfp, present): + sfp_state_bits = 0 + + if present is True: + sfp_state_bits |= Sfp.SFP_STATUS_BIT_INSERTED + else: + return sfp_state_bits + + status = sfp.validate_eeprom() + if status is None: + sfp_state_bits |= Sfp.SFP_ERROR_BIT_I2C_STUCK + return sfp_state_bits + elif status is not True: + sfp_state_bits |= Sfp.SFP_ERROR_BIT_BAD_EEPROM + return sfp_state_bits + + status = sfp.validate_temperature() + if status is None: + sfp_state_bits |= Sfp.SFP_ERROR_BIT_I2C_STUCK + return sfp_state_bits + elif status is not True: + sfp_state_bits |= Sfp.SFP_ERROR_BIT_HIGH_TEMP + return sfp_state_bits + + return sfp_state_bits + + def check_sfp_blocking_errors(self, sfp_state_bits): + for i in SFP_BLOCKING_ERRORS: + if (i & sfp_state_bits) == 0: + continue + sfp_state_bits |= Sfp.SFP_ERROR_BIT_BLOCKING + + return sfp_state_bits diff --git a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/fan.py b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/fan.py index ef8deaffb6..b9be5e3ca3 100644 --- a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/fan.py +++ b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/fan.py @@ -6,6 +6,7 @@ except ImportError as e: raise ImportError(str(e) + "- required module not found") +FAN_NAME_LIST = ["FAN-1", "FAN-2", "FAN-3"] class Fan(PddfFan): """PDDF Platform-Specific Fan class""" @@ -24,25 +25,53 @@ def get_direction(self): A string, either FAN_DIRECTION_INTAKE or FAN_DIRECTION_EXHAUST depending on fan direction """ + direction = 'N/A' if self.is_psu_fan: direction = self.FAN_DIRECTION_EXHAUST - else: - idx = (self.fantray_index-1)*self.platform['num_fans_pertray'] + self.fan_index - attr = "fan" + str(idx) + "_direction" - output = self.pddf_obj.get_attr_name_output("FAN-CTRL", attr) - if not output: - return False - - mode = output['mode'] - val = output['status'] - - val = val.rstrip() - vmap = self.plugin_data['FAN']['direction'][mode]['valmap'] - if val in vmap: - direction = vmap[val] - else: - direction = val + direction = super().get_direction() + if direction is not None and len(direction) > 0: + return direction return direction + def get_name(self): + """ + Retrieves the name of the device + Returns: + string: The name of the device + """ + fan_name = FAN_NAME_LIST[self.fantray_index - 1] \ + if not self.is_psu_fan \ + else "PSU-{} FAN-{}".format(self.fans_psu_index, self.fan_index) + + return fan_name + + def get_model(self): + """ + Retrieves the model number (or part number) of the device + Returns: + string: Model/part number of device + """ + return 'N/A' + + def get_serial(self): + """ + Retrieves the serial number of the device + Returns: + string: Serial number of device + """ + return 'N/A' + + def get_target_speed(self): + """ + Retrieves the target (expected) speed of the fan + + Returns: + An integer, the percentage of full fan speed, in the range 0 (off) + to 100 (full speed) + """ + if self.is_psu_fan: + return super().get_speed() + else: + return super().get_target_speed() diff --git a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/fan_drawer.py b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/fan_drawer.py index 3b9bb607f6..eae95191e1 100644 --- a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/fan_drawer.py +++ b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/fan_drawer.py @@ -15,3 +15,26 @@ def __init__(self, tray_idx, pddf_data=None, pddf_plugin_data=None): PddfFanDrawer.__init__(self, tray_idx, pddf_data, pddf_plugin_data) # Provide the functions/variables below for which implementation is to be overwritten + def get_name(self): + """ + Retrieves the fan drawer name + Returns: + string: The name of the device + """ + return "FanTray{}".format(self.fantray_index) + + def get_model(self): + """ + Retrieves the model number (or part number) of the device + Returns: + string: Model/part number of device + """ + return 'N/A' + + def get_serial(self): + """ + Retrieves the serial number of the device + Returns: + string: Serial number of device + """ + return 'N/A' diff --git a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/helper.py b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/helper.py new file mode 100644 index 0000000000..f6adee3098 --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/helper.py @@ -0,0 +1,368 @@ +import os +import struct +import json +import fcntl +from mmap import * +from sonic_py_common import device_info +from sonic_py_common import logger +from threading import Lock +from typing import cast +from sonic_py_common.general import getstatusoutput_noshell_pipe +from sonic_py_common.general import getstatusoutput_noshell + +HOST_CHK_CMD = ["docker"] +EMPTY_STRING = "" + + +class APIHelper(): + + def __init__(self): + (self.platform, self.hwsku) = device_info.get_platform_and_hwsku() + + def is_host(self): + try: + status, output = getstatusoutput_noshell(HOST_CHK_CMD) + return status == 0 + except Exception: + return False + + def pci_get_value(self, resource, offset): + status = True + result = "" + try: + fd = os.open(resource, os.O_RDWR) + mm = mmap(fd, 0) + mm.seek(int(offset)) + read_data_stream = mm.read(4) + result = struct.unpack('I', read_data_stream) + except Exception: + status = False + return status, result + + def run_interactive_command(self, cmd): + try: + os.system(cmd) + except Exception: + return False + return True + + def read_txt_file(self, file_path): + try: + with open(file_path, 'r', errors='replace') as fd: + data = fd.read() + ret = data.strip() + if len(ret) > 0: + return ret + except IOError: + pass + return None + + def write_txt_file(self, file_path, value): + try: + with open(file_path, 'w') as fd: + fd.write(str(value)) + except IOError: + return False + return True + + def ipmi_raw(self, netfn, cmd): + status = True + result = "" + try: + err, raw_data = getstatusoutput_noshell_pipe(['ipmitool', 'raw', str(netfn), str(cmd)]) + if err == [0]: + result = raw_data.strip() + else: + status = False + except Exception: + status = False + return status, result + + def ipmi_fru_id(self, id, key=None): + status = True + result = "" + try: + if (key is None): + err, raw_data = getstatusoutput_noshell_pipe(['ipmitool', 'fru', 'print', str(id)]) + else: + err, raw_data = getstatusoutput_noshell_pipe(['ipmitool', 'fru', 'print', str(id)], ['grep', str(key)]) + if err == [0] or err == [0, 0]: + result = raw_data.strip() + else: + status = False + except Exception: + status = False + return status, result + + def ipmi_set_ss_thres(self, id, threshold_key, value): + status = True + result = "" + try: + err, raw_data = getstatusoutput_noshell_pipe(['ipmitool', 'sensor', 'thresh', str(id), str(threshold_key), str(value)]) + if err == [0]: + result = raw_data.strip() + else: + status = False + except Exception: + status = False + return status, result + + +class FileLock: + """ + Due to pmon docker not installing the py-filelock, this class + implements a simple file lock feature. + Ref: https://github.com/tox-dev/py-filelock/blob/main/src/filelock/ + """ + + def __init__(self, lock_file): + self._lock_file = lock_file + self._thread_lock = Lock() + self.is_locked = False + + def acquire(self): + with self._thread_lock: + if self.is_locked: + return + + fd = os.open(self._lock_file, flags=(os.O_RDWR | os.O_CREAT | os.O_TRUNC)) + fcntl.flock(fd, fcntl.LOCK_EX) + self._lock_file_fd = fd + self.is_locked = True + + def release(self): + with self._thread_lock: + if self.is_locked: + fd = cast(int, self._lock_file_fd) + self._lock_file_fd = None + fcntl.flock(fd, fcntl.LOCK_UN) + os.close(fd) + self.is_locked = False + + def __enter__(self): + self.acquire() + return self + + def __exit__(self, exc_type, exc_val, traceback): + self.release() + + def __del__(self): + self.release() + + +DEVICE_THRESHOLD_JSON_PATH = "/tmp/device_threshold.json" + +class DeviceThreshold: + HIGH_THRESHOLD = 'high_threshold' + LOW_THRESHOLD = 'low_threshold' + HIGH_CRIT_THRESHOLD = 'high_critical_threshold' + LOW_CRIT_THRESHOLD = 'low_critical_threshold' + NOT_AVAILABLE = 'N/A' + + def __init__(self, th_name = NOT_AVAILABLE): + self.flock = FileLock("{}.lock".format(DEVICE_THRESHOLD_JSON_PATH)) + self.name = th_name + self.__log = logger.Logger(log_identifier="DeviceThreshold") + + self.__db_data = {} + self.__db_mtime = 0 + + def __reload_db(self): + try: + db_data = {} + with self.flock: + with open(DEVICE_THRESHOLD_JSON_PATH, "r") as db_file: + db_data = json.load(db_file) + except Exception as e: + self.__log.log_warning('{}'.format(str(e))) + return None + + return db_data + + def __get_data(self, field): + """ + Retrieves data frome JSON file by field + + Args : + field: String + + Returns: + A string if getting is successfully, 'N/A' if not + """ + if os.path.exists(DEVICE_THRESHOLD_JSON_PATH): + new_mtime = os.path.getmtime(DEVICE_THRESHOLD_JSON_PATH) + if new_mtime != self.__db_mtime: + new_data = self.__reload_db() + if new_data is not None: + self.__db_data = new_data + self.__db_mtime = new_mtime + + if self.name not in self.__db_data.keys(): + return self.NOT_AVAILABLE + + if field not in self.__db_data[self.name].keys(): + return self.NOT_AVAILABLE + + return self.__db_data[self.name][field] + + def __set_data(self, field, new_val): + """ + Set data to JSON file by field + + Args : + field: String + new_val: String + + Returns: + A boolean, True if setting is set successfully, False if not + """ + if self.name not in self.__db_data.keys(): + self.__db_data[self.name] = {} + + old_val = self.__db_data[self.name].get(field, None) + if old_val is not None and old_val == new_val: + return True + + self.__db_data[self.name][field] = new_val + + try: + with self.flock: + db_data = {} + mode = "r+" if os.path.exists(DEVICE_THRESHOLD_JSON_PATH) else "w+" + with open(DEVICE_THRESHOLD_JSON_PATH, mode) as db_file: + if mode == "r+": + db_data = json.load(db_file) + + if self.name not in db_data.keys(): + db_data[self.name] = {} + + db_data[self.name][field] = new_val + + if mode == "r+": + db_file.seek(0) + # erase old data + db_file.truncate(0) + # write all data + json.dump(db_data, db_file, indent=4) + self.__db_mtime = os.path.getmtime(DEVICE_THRESHOLD_JSON_PATH) + except Exception as e: + self.__log.log_error('{}'.format(str(e))) + return False + + return True + + def get_high_threshold(self): + """ + Retrieves the high threshold temperature from JSON file. + + Returns: + string : the high threshold temperature of thermal, + e.g. "30.125" + """ + return self.__get_data(self.HIGH_THRESHOLD) + + def set_high_threshold(self, temperature): + """ + Sets the high threshold temperature of thermal + Args : + temperature: A string of temperature, e.g. "30.125" + Returns: + A boolean, True if threshold is set successfully, False if not + """ + if isinstance(temperature, str) is not True: + raise TypeError('The parameter requires string type.') + + try: + if temperature != self.NOT_AVAILABLE: + float(temperature) + except ValueError: + raise ValueError('The parameter requires a float string. ex:\"30.1\"') + + return self.__set_data(self.HIGH_THRESHOLD, temperature) + + def get_low_threshold(self): + """ + Retrieves the low threshold temperature from JSON file. + + Returns: + string : the low threshold temperature of thermal, + e.g. "30.125" + """ + return self.__get_data(self.LOW_THRESHOLD) + + def set_low_threshold(self, temperature): + """ + Sets the low threshold temperature of thermal + Args : + temperature: A string of temperature, e.g. "30.125" + Returns: + A boolean, True if threshold is set successfully, False if not + """ + if isinstance(temperature, str) is not True: + raise TypeError('The parameter requires string type.') + + try: + if temperature != self.NOT_AVAILABLE: + float(temperature) + except ValueError: + raise ValueError('The parameter requires a float string. ex:\"30.1\"') + + return self.__set_data(self.LOW_THRESHOLD, temperature) + + def get_high_critical_threshold(self): + """ + Retrieves the high critical threshold temperature from JSON file. + + Returns: + string : the high critical threshold temperature of thermal, + e.g. "30.125" + """ + return self.__get_data(self.HIGH_CRIT_THRESHOLD) + + def set_high_critical_threshold(self, temperature): + """ + Sets the high critical threshold temperature of thermal + Args : + temperature: A string of temperature, e.g. "30.125" + Returns: + A boolean, True if threshold is set successfully, False if not + """ + if isinstance(temperature, str) is not True: + raise TypeError('The parameter requires string type.') + + try: + if temperature != self.NOT_AVAILABLE: + float(temperature) + except ValueError: + raise ValueError('The parameter requires a float string. ex:\"30.1\"') + + return self.__set_data(self.HIGH_CRIT_THRESHOLD, temperature) + + def get_low_critical_threshold(self): + """ + Retrieves the low critical threshold temperature from JSON file. + + Returns: + string : the low critical threshold temperature of thermal, + e.g. "30.125" + """ + return self.__get_data(self.LOW_CRIT_THRESHOLD) + + def set_low_critical_threshold(self, temperature): + """ + Sets the low critical threshold temperature of thermal + Args : + temperature: A string of temperature, e.g. "30.125" + Returns: + A boolean, True if threshold is set successfully, False if not + """ + if isinstance(temperature, str) is not True: + raise TypeError('The parameter requires string type.') + + try: + if temperature != self.NOT_AVAILABLE: + float(temperature) + except ValueError: + raise ValueError('The parameter requires a float string. ex:\"30.1\"') + + return self.__set_data(self.LOW_CRIT_THRESHOLD, temperature) diff --git a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/pcie.py b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/pcie.py new file mode 100644 index 0000000000..73d3627dbf --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/pcie.py @@ -0,0 +1,19 @@ +############################################################################# +# Edgecore +# +# Module contains an implementation of SONiC Platform Base API and +# provides the fan status which are available in the platform +# Base PCIe class +############################################################################# + +try: + from sonic_platform_base.sonic_pcie.pcie_common import PcieUtil +except ImportError as e: + raise ImportError(str(e) + "- required module not found") + + +class Pcie(PcieUtil): + """Edgecore Platform-specific PCIe class""" + + def __init__(self, platform_path): + PcieUtil.__init__(self, platform_path) \ No newline at end of file diff --git a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/psu.py b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/psu.py index f002f5e039..c748605476 100644 --- a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/psu.py +++ b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/psu.py @@ -10,42 +10,121 @@ class Psu(PddfPsu): """PDDF Platform-Specific PSU class""" - - PLATFORM_PSU_CAPACITY = 1200 def __init__(self, index, pddf_data=None, pddf_plugin_data=None): PddfPsu.__init__(self, index, pddf_data, pddf_plugin_data) # Provide the functions/variables below for which implementation is to be overwritten - def get_capacity(self): + def get_name(self): + return "PSU-{}".format(self.psu_index) + + def get_revision(self): + """ + Retrieves the hardware revision of the device + + Returns: + string: Revision value of device + """ + return 'N/A' + + def get_temperature_high_threshold(self): + """ + Retrieves the high threshold temperature of PSU + Returns: + A float number, the high threshold temperature of PSU in Celsius + up to nearest thousandth of one degree Celsius, e.g. 30.125 + """ + threshold = super().get_temperature_high_threshold() + + for psu_thermal_idx in range(self.num_psu_thermals): + try: + tmp = self._thermal_list[psu_thermal_idx].get_high_threshold() + if threshold > tmp or threshold == 0.0: + threshold = tmp + except Exception: + pass + + return threshold + + def get_model(self): + """ + Retrieves the model number (or part number) of the device + + Returns: + string: Model/part number of device + """ + model = super().get_model() + if model and model.strip() == "": + return None + + return model + + def get_serial(self): + """ + Retrieves the serial number of the device + + Returns: + string: Serial number of device + """ + serial = super().get_serial() + if serial and serial.strip() == "": + return None + + return serial + + def get_voltage(self): """ - Gets the capacity (maximum output power) of the PSU in watts + Retrieves current PSU voltage output Returns: - An integer, the capacity of PSU + A float number, the output voltage in volts, + e.g. 12.1 """ - return (self.PLATFORM_PSU_CAPACITY) + if self.get_status() is not True: + return 0.0 - def get_type(self): + return super().get_voltage() + + def get_current(self): """ - Gets the type of the PSU + Retrieves present electric current supplied by PSU Returns: - A string, the type of PSU (AC/DC) + A float number, electric current in amperes, + e.g. 15.4 """ - ptype = "AC" - # Currently the platform supports only AC type of PSUs - #try: - #import sonic_platform.platform - #ch=sonic_platform.platform.Platform().get_chassis() - #e=ch.sys_eeprom.read_eeprom() - #ret, prod_name = ch.sys_eeprom.get_tlv_field(e,0x21) - #if ret: - #prod_name = prod_name[2] - ##print("Product name is {}".format(prod_name)) - #if '48V' in prod_name: - #ptype = 'DC' - #except Exception as e: - #print("Error while trying to read syseeprom to get PSU type") + if self.get_status() is not True: + return 0.0 + + return super().get_current() + + def get_power(self): + """ + Retrieves current energy supplied by PSU + + Returns: + A float number, the power in watts, + e.g. 302.6 + """ + if self.get_status() is not True: + return 0.0 + + return super().get_power() + + def get_maximum_supplied_power(self): + """ + Retrieves current energy supplied by PSU + Returns: + A float number, the power in watts, + e.g. 302.6 + """ + device = "PSU{}".format(self.psu_index) + output = self.pddf_obj.get_attr_name_output(device, "psu_p_out_max") + if not output: + return 0.0 + + p_out = output['status'] + + # power is returned in micro watts + return float(p_out)/1000 - return ptype diff --git a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/sfp.py b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/sfp.py index c9fb07d636..534834d878 100644 --- a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/sfp.py +++ b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/sfp.py @@ -1,7 +1,10 @@ #!/usr/bin/env python try: + import natsort from sonic_platform_pddf_base.pddf_sfp import PddfSfp + from sonic_platform_base.sonic_sfp.sfputilhelper import SfpUtilHelper + from sonic_py_common import device_info except ImportError as e: raise ImportError (str(e) + "- required module not found") @@ -11,10 +14,197 @@ class Sfp(PddfSfp): PDDF Platform-Specific Sfp class """ + SFP_TYPE_CODE_LIST = [ + 0x03, # SFP/SFP+/SFP28 + 0x0b # DWDM-SFP/SFP+ + ] + QSFP_TYPE_CODE_LIST = [ + 0x0c, # QSFP + 0x0d, # QSFP+ or later + 0x11, # QSFP28 or later + 0xe1 # QSFP28 EDFA + ] + def __init__(self, index, pddf_data=None, pddf_plugin_data=None): PddfSfp.__init__(self, index, pddf_data, pddf_plugin_data) + self.index = self.port_index # Provide the functions/variables below for which implementation is to be overwritten def get_position_in_parent(self): """Retrieves 1-based relative physical position in parent device.""" return self.port_index + + def __get_path_to_port_config_file(self): + platform, hwsku = device_info.get_platform_and_hwsku() + hwsku_path = "/".join(["/usr/share/sonic/platform",hwsku]) + return "/".join([hwsku_path, "port_config.ini"]) + + def get_name(self): + """ + Retrieves the name of the device + Returns: + string: The name of the device + """ + sfputil_helper = SfpUtilHelper() + sfputil_helper.read_porttab_mappings( + self.__get_path_to_port_config_file()) + + logical_port_list = sfputil_helper.logical + logical_port_list = natsort.natsorted(logical_port_list) + name = logical_port_list[self.port_index-1] or "Unknown" + + return name + + def __validate_eeprom_sfp(self): + checksum_test = 0 + eeprom_raw = self.read_eeprom(0, 96) + if eeprom_raw is None: + return None + + for i in range(0, 63): + checksum_test = (checksum_test + eeprom_raw[i]) & 0xFF + else: + if checksum_test != eeprom_raw[63]: + return False + + checksum_test = 0 + for i in range(64, 95): + checksum_test = (checksum_test + eeprom_raw[i]) & 0xFF + else: + if checksum_test != eeprom_raw[95]: + return False + + api = self.get_xcvr_api() + if api is None: + return False + + if api.is_flat_memory(): + return True + + checksum_test = 0 + eeprom_raw = self.read_eeprom(384, 96) + if eeprom_raw is None: + return None + + for i in range(0, 95): + checksum_test = (checksum_test + eeprom_raw[i]) & 0xFF + else: + if checksum_test != eeprom_raw[95]: + return False + + return True + + def __validate_eeprom_qsfp(self): + checksum_test = 0 + eeprom_raw = self.read_eeprom(128, 96) + if eeprom_raw is None: + return None + + for i in range(0, 63): + checksum_test = (checksum_test + eeprom_raw[i]) & 0xFF + else: + if checksum_test != eeprom_raw[63]: + return False + + checksum_test = 0 + for i in range(64, 95): + checksum_test = (checksum_test + eeprom_raw[i]) & 0xFF + else: + if checksum_test != eeprom_raw[95]: + return False + + api = self.get_xcvr_api() + if api is None: + return False + + if api.is_flat_memory(): + return True + + return True + + def validate_eeprom(self): + id_byte_raw = self.read_eeprom(0, 1) + if id_byte_raw is None: + return None + + id = id_byte_raw[0] + if id in self.QSFP_TYPE_CODE_LIST: + return self.__validate_eeprom_qsfp() + elif id in self.SFP_TYPE_CODE_LIST: + return self.__validate_eeprom_sfp() + else: + return False + + def validate_temperature(self): + temperature = self.get_temperature() + if temperature is None: + return None + + threshold_dict = self.get_transceiver_threshold_info() + if threshold_dict is None: + return None + + if isinstance(temperature, float) is not True: + return True + + if isinstance(threshold_dict['temphighalarm'], float) is not True: + return True + + return threshold_dict['temphighalarm'] > temperature + + def __get_error_description(self): + if not self.get_presence(): + return self.SFP_STATUS_UNPLUGGED + + err_stat = self.SFP_STATUS_BIT_INSERTED + + status = self.validate_eeprom() + if status is not True: + err_stat = (err_stat | self.SFP_ERROR_BIT_BAD_EEPROM) + + status = self.validate_temperature() + if status is not True: + err_stat = (err_stat | self.SFP_ERROR_BIT_HIGH_TEMP) + + if err_stat is self.SFP_STATUS_BIT_INSERTED: + return self.SFP_STATUS_OK + else: + err_desc = '' + cnt = 0 + for key in self.SFP_ERROR_BIT_TO_DESCRIPTION_DICT: + if (err_stat & key) != 0: + if cnt > 0: + err_desc = err_desc + "|" + cnt = cnt + 1 + err_desc = err_desc + self.SFP_ERROR_BIT_TO_DESCRIPTION_DICT[key] + + return err_desc + + def get_reset_status(self): + if self.sfp_type == "QSFP28": + return super().get_reset_status() + return False + + def reset(self): + if self.sfp_type == "QSFP28": + return super().reset() + return False + + def get_error_description(self): + """ + Retrives the error descriptions of the SFP module + Returns: + String that represents the current error descriptions of vendor specific errors + In case there are multiple errors, they should be joined by '|', + like: "Bad EEPROM|Unsupported cable" + """ + if self.sfp_type != "SFP28" and self.sfp_type != "QSFP28": + return "Not implemented" + try: + ret = super().get_error_description() + if ret is not None: + return ret + except NotImplementedError: + pass + return self.__get_error_description() + diff --git a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/thermal.py b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/thermal.py index 77d6ec7ae8..3dd096567e 100644 --- a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/thermal.py +++ b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/sonic_platform/thermal.py @@ -3,10 +3,55 @@ try: from sonic_platform_pddf_base.pddf_thermal import PddfThermal + from .helper import DeviceThreshold except ImportError as e: raise ImportError(str(e) + "- required module not found") +NOT_AVAILABLE = DeviceThreshold.NOT_AVAILABLE +HIGH_THRESHOLD = DeviceThreshold.HIGH_THRESHOLD +LOW_THRESHOLD = DeviceThreshold.LOW_THRESHOLD +HIGH_CRIT_THRESHOLD = DeviceThreshold.HIGH_CRIT_THRESHOLD +LOW_CRIT_THRESHOLD = DeviceThreshold.LOW_CRIT_THRESHOLD + +DEFAULT_THRESHOLD = { + 'Temp sensor 1' : { + HIGH_THRESHOLD : '80.0', + LOW_THRESHOLD : NOT_AVAILABLE, + HIGH_CRIT_THRESHOLD : NOT_AVAILABLE, + LOW_CRIT_THRESHOLD : NOT_AVAILABLE + }, + 'Temp sensor 2' : { + HIGH_THRESHOLD : '80.0', + LOW_THRESHOLD : NOT_AVAILABLE, + HIGH_CRIT_THRESHOLD : NOT_AVAILABLE, + LOW_CRIT_THRESHOLD : NOT_AVAILABLE + }, + 'Temp sensor 3' : { + HIGH_THRESHOLD : '80.0', + LOW_THRESHOLD : NOT_AVAILABLE, + HIGH_CRIT_THRESHOLD : NOT_AVAILABLE, + LOW_CRIT_THRESHOLD : NOT_AVAILABLE + }, + 'Temp sensor 4' : { + HIGH_THRESHOLD : '71.0', + LOW_THRESHOLD : NOT_AVAILABLE, + HIGH_CRIT_THRESHOLD : '91.0', + LOW_CRIT_THRESHOLD : NOT_AVAILABLE + }, + 'PSU-1 temp sensor 1' : { + HIGH_THRESHOLD : '80.0', + LOW_THRESHOLD : NOT_AVAILABLE, + HIGH_CRIT_THRESHOLD : NOT_AVAILABLE, + LOW_CRIT_THRESHOLD : NOT_AVAILABLE + }, + 'PSU-2 temp sensor 1' : { + HIGH_THRESHOLD : '80.0', + LOW_THRESHOLD : NOT_AVAILABLE, + HIGH_CRIT_THRESHOLD : NOT_AVAILABLE, + LOW_CRIT_THRESHOLD : NOT_AVAILABLE + } +} class Thermal(PddfThermal): """PDDF Platform-Specific Thermal class""" @@ -14,4 +59,196 @@ class Thermal(PddfThermal): def __init__(self, index, pddf_data=None, pddf_plugin_data=None, is_psu_thermal=False, psu_index=0): PddfThermal.__init__(self, index, pddf_data, pddf_plugin_data, is_psu_thermal, psu_index) + # Threshold Configuration + self.__conf = DeviceThreshold(self.get_name()) + # Default threshold. + self.__default_threshold = DEFAULT_THRESHOLD[self.get_name()] + self.min_temperature = None + self.max_temperature = None + # Provide the functions/variables below for which implementation is to be overwritten + def get_name(self): + if self.is_psu_thermal: + return "PSU-{0} temp sensor 1".format(self.thermals_psu_index) + else: + return "Temp sensor {0}".format(self.thermal_index) + + def get_status(self): + get_temp=self.get_temperature() + + if get_temp is not None: + return True if get_temp else False + + def get_temperature(self): + current = super().get_temperature() + + if self.min_temperature is None or \ + current < self.min_temperature: + self.min_temperature = current + + if self.max_temperature is None or \ + current > self.max_temperature: + self.max_temperature = current + + return current + + def set_high_threshold(self, temperature): + try: + value = float(temperature) + except Exception: + return False + + # The new value can not be more than the default value. + default_value = self.__default_threshold[HIGH_THRESHOLD] + if default_value != NOT_AVAILABLE: + if value > float(default_value): + return False + + try: + self.__conf.set_high_threshold(str(value)) + except Exception: + return False + + return True + + def get_high_threshold(self): + value = self.__conf.get_high_threshold() + if value != NOT_AVAILABLE: + return float(value) + + default_value = self.__default_threshold[HIGH_THRESHOLD] + if default_value != NOT_AVAILABLE: + return float(default_value) + + raise NotImplementedError + + def set_low_threshold(self, temperature): + try: + value = float(temperature) + except Exception: + return False + + # The new value can not be less than the default value. + default_value = self.__default_threshold[LOW_THRESHOLD] + if default_value != NOT_AVAILABLE: + if value < float(default_value): + return False + + try: + self.__conf.set_low_threshold(str(value)) + except Exception: + return False + + return True + + def get_low_threshold(self): + value = self.__conf.get_low_threshold() + if value != NOT_AVAILABLE: + return float(value) + + default_value = self.__default_threshold[LOW_THRESHOLD] + if default_value != NOT_AVAILABLE: + return float(default_value) + + raise NotImplementedError + + def set_high_critical_threshold(self, temperature): + try: + value = float(temperature) + except Exception: + return False + + # The new value can not be more than the default value. + default_value = self.__default_threshold[HIGH_CRIT_THRESHOLD] + if default_value != NOT_AVAILABLE: + if value > float(default_value): + return False + + try: + self.__conf.set_high_critical_threshold(str(value)) + except Exception: + return False + + return True + + def get_high_critical_threshold(self): + value = self.__conf.get_high_critical_threshold() + if value != NOT_AVAILABLE: + return float(value) + + default_value = self.__default_threshold[HIGH_CRIT_THRESHOLD] + if default_value != NOT_AVAILABLE: + return float(default_value) + + raise NotImplementedError + + def set_low_critical_threshold(self, temperature): + try: + value = float(temperature) + except Exception: + return False + + # The new value can not be less than the default value. + default_value = self.__default_threshold[LOW_CRIT_THRESHOLD] + if default_value != NOT_AVAILABLE: + if value < float(default_value): + return False + + try: + self.__conf.set_low_critical_threshold(str(value)) + except Exception: + return False + + return True + + def get_low_critical_threshold(self): + value = self.__conf.get_low_critical_threshold() + if value != NOT_AVAILABLE: + return float(value) + + default_value = self.__default_threshold[LOW_CRIT_THRESHOLD] + if default_value != NOT_AVAILABLE: + return float(default_value) + + raise NotImplementedError + + def get_model(self): + """ + Retrieves the model number (or part number) of the device + Returns: + string: Model/part number of device + """ + + return "N/A" + + def get_serial(self): + """ + Retrieves the serial number of the device + Returns: + string: Serial number of device + """ + return "N/A" + + def get_minimum_recorded(self): + """ + Retrieves the minimum recorded temperature of thermal + Returns: + A float number, the minimum recorded temperature of thermal in Celsius + up to nearest thousandth of one degree Celsius, e.g. 30.125 + """ + if self.min_temperature is None: + self.get_temperature() + + return self.min_temperature + + def get_maximum_recorded(self): + """ + Retrieves the maximum recorded temperature of thermal + Returns: + A float number, the maximum recorded temperature of thermal in Celsius + up to nearest thousandth of one degree Celsius, e.g. 30.125 + """ + if self.max_temperature is None: + self.get_temperature() + + return self.max_temperature diff --git a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/utils/accton_as4630_54pe_pddf_monitor.py b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/utils/accton_as4630_54pe_pddf_monitor.py index 6bbaeaa06d..5e8a5210e8 100755 --- a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/utils/accton_as4630_54pe_pddf_monitor.py +++ b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/utils/accton_as4630_54pe_pddf_monitor.py @@ -207,14 +207,24 @@ def manage_fans(self): fan_fail_list[i] = 0 if sum(fan_fail_list) == NUM_FANS: + logging.critical( + 'Alarm for all fan faulty/absent is detected, disable PoE') + cmd_str = ["i2cset", "-f", "-y", "16", "0x20", "0x06", "0x0", "0x0", "0xff", "0xff", "0xff", "0xff", "0xff", "0xff", "0xff", "0xff", "0xFE", "i"] + getstatusoutput_noshell(cmd_str) # Disable PoE + # Critical: Either all the fans are faulty or they are removed, shutdown the system logging.critical('Alarm for all fan faulty/absent is detected') - logging.critical("Alarm for all fan faulty/absent is detected, reset DUT") - cmd_str = ["i2cset", "-y", "-f", "3", "0x60", "0x4", "0xE4"] + logging.critical("Alarm for all fan faulty/absent is detected, shutdown DUT") + + # Sync log buffer to disk + cmd_str = ["sync"] + getstatusoutput_noshell(cmd_str) + cmd_str = ["/sbin/fstrim", "-av"] + getstatusoutput_noshell(cmd_str) + time.sleep(3) + + cmd_str = ["i2cset", "-y", "-f", "3", "0x60", "0x4", "0x74"] time.sleep(2) - getstatusoutput_noshell('sync') - getstatusoutput_noshell('sync') - getstatusoutput_noshell('sync') getstatusoutput_noshell(cmd_str) elif sum(fan_fail_list) != 0: # Set the 100% speed only for first fan failure detection @@ -243,8 +253,13 @@ def manage_fans(self): if temp[0] >= 70000: # LM77-48 # critical case*/ + logging.critical( + 'Alarm-Critical for temperature critical is detected, disable PoE') + cmd_str = ["i2cset", "-f", "-y", "16", "0x20", "0x06", "0x0", "0x0", "0xff", "0xff", "0xff", "0xff", "0xff", "0xff", "0xff", "0xff", "0xFE", "i"] + getstatusoutput_noshell(cmd_str) # Disable PoE + logging.critical('Alarm for temperature critical is detected') - logging.critical("Alarm-Critical for temperature critical is detected, reset DUT") + logging.critical("Alarm-Critical for temperature critical is detected, shutdown DUT") # Update the reboot cause file to reflect that critical temperature # has been crossed. Upon next boot, the contents of this file will # be used to determine the cause of the previous reboot @@ -255,10 +270,14 @@ def manage_fans(self): if status: logging.warning('Reboot cause file not updated. {}'.format(output)) - cmd_str = ["i2cset", "-y", "-f", "3", "0x60", "0x4", "0xE4"] - getstatusoutput_noshell('sync') - getstatusoutput_noshell('sync') - getstatusoutput_noshell('sync') + # Sync log buffer to disk + cmd_str = ["sync"] + getstatusoutput_noshell(cmd_str) + cmd_str = ["/sbin/fstrim", "-av"] + getstatusoutput_noshell(cmd_str) + time.sleep(3) + + cmd_str = ["i2cset", "-y", "-f", "3", "0x60", "0x4", "0x74"] time.sleep(3) getstatusoutput_noshell(cmd_str) diff --git a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/utils/accton_as4630_54pe_util.py b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/utils/accton_as4630_54pe_util.py index b954da8726..0c55036ddf 100755 --- a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/utils/accton_as4630_54pe_util.py +++ b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/utils/accton_as4630_54pe_util.py @@ -16,21 +16,30 @@ # along with this program. If not, see . """ -Usage: %(scriptName)s [options] command object -options: - -h | --help : this help message - -d | --debug : run with debug mode - -f | --force : ignore error during installation or clean -command: - install : install drivers and generate related sysfs nodes - clean : uninstall drivers and remove related sysfs nodes +usage: accton_as4630_54pe_util.py [-h] [-d] [-f] {install,clean,api,api_clean,threshold} ... + +AS4630-54PE Platform Utility + +optional arguments: + -h, --help show this help message and exit + -d, --debug run with debug mode + -f, --force ignore error during installation or clean + +Utility Command: + {install,clean,api,api_clean,threshold} + install : install drivers and generate related sysfs nodes + clean : uninstall drivers and remove related sysfs nodes + api : install SONiC platform API + api_clean : uninstall SONiC platform API + threshold : modify thermal threshold """ import subprocess -import getopt import sys import logging import time import os +import argparse +from sonic_py_common.general import getstatusoutput_noshell PROJECT_NAME = 'as4630_54pe' version = '0.0.1' @@ -97,40 +106,48 @@ def main(): global DEBUG global args global FORCE + global THRESHOLD_RANGE_LOW, THRESHOLD_RANGE_HIGH + + util_parser = argparse.ArgumentParser(description="AS4630-54PE Platform Utility") + util_parser.add_argument("-d", "--debug", dest='debug', action='store_true', default=False, + help="run with debug mode") + util_parser.add_argument("-f", "--force", dest='force', action='store_true', default=False, + help="ignore error during installation or clean") + subcommand = util_parser.add_subparsers(dest='cmd', title='Utility Command', required=True) + subcommand.add_parser('install', help=': install drivers and generate related sysfs nodes') + subcommand.add_parser('clean', help=': uninstall drivers and remove related sysfs nodes') + subcommand.add_parser('api', help=': install SONiC platform API') + subcommand.add_parser('api_clean', help=': uninstall SONiC platform API') + threshold_parser = subcommand.add_parser('threshold', help=': modify thermal threshold') + threshold_parser.add_argument("-l", dest='list', action='store_true', default=False, + help="list avaliable thermal") + threshold_parser.add_argument("-t", dest='thermal', type=str, metavar='THERMAL_NAME', + help="thermal name, ex: -t 'Temp sensor 1'") + threshold_parser.add_argument("-ht", dest='high_threshold', type=restricted_float, + metavar='THRESHOLD_VALUE', + help="high threshold: %.1f ~ %.1f" % (THRESHOLD_RANGE_LOW, THRESHOLD_RANGE_HIGH)) + threshold_parser.add_argument("-hct", dest='high_crit_threshold', type=restricted_float, + metavar='THRESHOLD_VALUE', + help="high critical threshold : %.1f ~ %.1f" % (THRESHOLD_RANGE_LOW, THRESHOLD_RANGE_HIGH)) + args = util_parser.parse_args() - if len(sys.argv)<2: - show_help() - - options, args = getopt.getopt(sys.argv[1:], 'hdf', ['help', - 'debug', - 'force', - ]) if DEBUG == True: - print(options) print(args) print(len(sys.argv)) - for opt, arg in options: - if opt in ('-h', '--help'): - show_help() - elif opt in ('-d', '--debug'): - DEBUG = True - logging.basicConfig(level=logging.INFO) - elif opt in ('-f', '--force'): - FORCE = 1 - else: - logging.info('no option') - for arg in args: - if arg == 'install': - do_install() - elif arg == 'clean': - do_uninstall() - elif arg == 'api': - do_sonic_platform_install() - elif arg == 'api_clean': - do_sonic_platform_clean() - else: - show_help() + DEBUG = args.debug + FORCE = 1 if args.force else 0 + + if args.cmd == 'install': + do_install() + elif args.cmd == 'clean': + do_uninstall() + elif args.cmd == 'api': + do_sonic_platform_install() + elif args.cmd == 'api_clean': + do_sonic_platform_clean() + elif args.cmd == 'threshold': + do_threshold() return 0 @@ -382,5 +399,162 @@ def device_exist(): ret2, log = log_os_system("ls "+i2c_prefix+"i2c-2", 0) return not(ret1 or ret2) +THRESHOLD_RANGE_LOW = 30.0 +THRESHOLD_RANGE_HIGH = 110.0 +# Code to initialize chassis object +init_chassis_code = \ + "import sonic_platform.platform\n"\ + "platform = sonic_platform.platform.Platform()\n"\ + "chassis = platform.get_chassis()\n\n" + +# Looking for thermal +looking_for_thermal_code = \ + "thermal = None\n"\ + "all_thermals = chassis.get_all_thermals()\n"\ + "for psu in chassis.get_all_psus():\n"\ + " all_thermals += psu.get_all_thermals()\n"\ + "for tmp in all_thermals:\n"\ + " if '{}' == tmp.get_name():\n"\ + " thermal = tmp\n"\ + " break\n"\ + "if thermal == None:\n"\ + " print('{} not found!')\n"\ + " exit(1)\n\n" + +def avaliable_thermals(): + global init_chassis_code + + get_all_thermal_name_code = \ + "thermal_list = []\n"\ + "all_thermals = chassis.get_all_thermals()\n"\ + "for psu in chassis.get_all_psus():\n"\ + " all_thermals += psu.get_all_thermals()\n"\ + "for tmp in all_thermals:\n"\ + " thermal_list.append(tmp.get_name())\n"\ + "print(str(thermal_list)[1:-1])\n" + + all_code = "{}{}".format(init_chassis_code, get_all_thermal_name_code) + + status, output = getstatusoutput_noshell(["docker", "exec", "pmon", "python3", "-c", all_code]) + if status != 0: + return "" + return output + +def restricted_float(x): + global THRESHOLD_RANGE_LOW, THRESHOLD_RANGE_HIGH + + try: + x = float(x) + except ValueError: + raise argparse.ArgumentTypeError("%r not a floating-point literal" % (x,)) + + if x < THRESHOLD_RANGE_LOW or x > THRESHOLD_RANGE_HIGH: + raise argparse.ArgumentTypeError("%r not in range [%.1f ~ %.1f]" % + (x, THRESHOLD_RANGE_LOW, THRESHOLD_RANGE_HIGH)) + + return x + +def get_high_threshold(name): + global init_chassis_code, looking_for_thermal_code + + get_high_threshold_code = \ + "try:\n"\ + " print(thermal.get_high_threshold())\n"\ + " exit(0)\n"\ + "except NotImplementedError:\n"\ + " print('Not implement the get_high_threshold method!')\n"\ + " exit(1)" + + all_code = "{}{}{}".format(init_chassis_code, looking_for_thermal_code.format(name, name), + get_high_threshold_code) + + status, output = getstatusoutput_noshell(["docker", "exec", "pmon", "python3", "-c", all_code]) + if status == 1: + return None + + return float(output) + +def get_high_crit_threshold(name): + global init_chassis_code, looking_for_thermal_code + + get_high_crit_threshold_code = \ + "try:\n"\ + " print(thermal.get_high_critical_threshold())\n"\ + " exit(0)\n"\ + "except NotImplementedError:\n"\ + " print('Not implement the get_high_critical_threshold method!')\n"\ + " exit(1)" + + all_code = "{}{}{}".format(init_chassis_code, looking_for_thermal_code.format(name, name), + get_high_crit_threshold_code) + + status, output = getstatusoutput_noshell(["docker", "exec", "pmon", "python3", "-c", all_code]) + if status == 1: + return None + + return float(output) + +def do_threshold(): + global args, init_chassis_code, looking_for_thermal_code + + if args.list: + print("Thermals: " + avaliable_thermals()) + return + + if args.thermal is None: + print("The following arguments are required: -t") + return + + set_threshold_code = "" + if args.high_threshold is not None: + if args.high_crit_threshold is not None and \ + args.high_threshold >= args.high_crit_threshold: + print("Invalid Threshold!(High threshold can not be more than " \ + "or equal to high critical threshold.)") + exit(1) + + high_crit = get_high_crit_threshold(args.thermal) + if high_crit is not None and \ + args.high_threshold >= high_crit: + print("Invalid Threshold!(High threshold can not be more than " \ + "or equal to high critical threshold.)") + exit(1) + + set_threshold_code += \ + "try:\n"\ + " if thermal.set_high_threshold({}) is False:\n"\ + " print('{}: set_high_threshold failure!')\n"\ + " exit(1)\n"\ + "except NotImplementedError:\n"\ + " print('Not implement the set_high_threshold method!')\n"\ + "print('Apply the new high threshold successfully.')\n"\ + "\n".format(args.high_threshold, args.thermal) + + if args.high_crit_threshold is not None: + high = get_high_threshold(args.thermal) + if high is not None and \ + args.high_crit_threshold <= high: + print("Invalid Threshold!(High critical threshold can not " \ + "be less than or equal to high threshold.)") + exit(1) + + set_threshold_code += \ + "try:\n"\ + " if thermal.set_high_critical_threshold({}) is False:\n"\ + " print('{}: set_high_critical_threshold failure!')\n"\ + " exit(1)\n"\ + "except NotImplementedError:\n"\ + " print('Not implement the set_high_critical_threshold method!')\n"\ + "print('Apply the new high critical threshold successfully.')\n"\ + "\n".format(args.high_crit_threshold, args.thermal) + + if set_threshold_code == "": + return + + all_code = "{}{}{}".format(init_chassis_code, looking_for_thermal_code.format(args.thermal, args.thermal), set_threshold_code) + + status, output = getstatusoutput_noshell(["docker", "exec", "pmon", "python3", "-c", all_code]) + print(output) + if __name__ == "__main__": main() diff --git a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/utils/handle_mgmt_interface.sh b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/utils/handle_mgmt_interface.sh index e1acd16a01..19eae1716d 100755 --- a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/utils/handle_mgmt_interface.sh +++ b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/utils/handle_mgmt_interface.sh @@ -1,9 +1,7 @@ #!/bin/bash -#Due to the hardware design, as4630-54pe use "eth2" instead of "eth0" as management interface. -#Rename netdev "eth0" and "eth2" to swap original "eth2" to "eth0". - -ifconfig eth0 down -ip link set eth0 name eth3 -ip link set eth2 name eth0 -ifconfig eth0 up +# Re-install the igb and ixgbe again to make the NIC sequence follow the udev rule +modprobe -r igb +modprobe -r ixgbe +modprobe igb +modprobe ixgbe diff --git a/platform/broadcom/sonic-platform-modules-accton/debian/rules b/platform/broadcom/sonic-platform-modules-accton/debian/rules index 6d9c78bcb1..241b1be9d6 100755 --- a/platform/broadcom/sonic-platform-modules-accton/debian/rules +++ b/platform/broadcom/sonic-platform-modules-accton/debian/rules @@ -70,11 +70,15 @@ binary-indep: dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod} $(KERNEL_SRC)/$(INSTALL_MOD_DIR); \ dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod} usr/local/bin; \ dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod} lib/systemd/system; \ - dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod} etc/udev/rules.d; \ + if [ -d $(MOD_SRC_DIR)/$${mod}/$(UDEV_DIR) ]; then \ + dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod} etc/udev/rules.d; \ + fi; \ cp $(MOD_SRC_DIR)/$${mod}/$(MODULE_DIR)/*.ko debian/$(PACKAGE_PRE_NAME)-$${mod}/$(KERNEL_SRC)/$(INSTALL_MOD_DIR); \ cp $(MOD_SRC_DIR)/$${mod}/$(UTILS_DIR)/* debian/$(PACKAGE_PRE_NAME)-$${mod}/usr/local/bin/; \ cp $(MOD_SRC_DIR)/$${mod}/$(SERVICE_DIR)/*.service debian/$(PACKAGE_PRE_NAME)-$${mod}/lib/systemd/system/; \ - cp $(MOD_SRC_DIR)/$${mod}/$(UDEV_DIR)/* debian/$(PACKAGE_PRE_NAME)-$${mod}/etc/udev/rules.d/; \ + if [ -f $(MOD_SRC_DIR)/$${mod}/$(UDEV_DIR)/* ]; then \ + cp $(MOD_SRC_DIR)/$${mod}/$(UDEV_DIR)/* debian/$(PACKAGE_PRE_NAME)-$${mod}/etc/udev/rules.d/; \ + fi; \ $(PYTHON3) $${mod}/setup.py install --root=$(MOD_SRC_DIR)/debian/$(PACKAGE_PRE_NAME)-$${mod} --install-layout=deb; \ done) # Resuming debhelper scripts diff --git a/platform/broadcom/sonic-platform-modules-accton/debian/sonic-platform-accton-as4630-54pe.postinst b/platform/broadcom/sonic-platform-modules-accton/debian/sonic-platform-accton-as4630-54pe.postinst index 1a87abf9ad..1d2161e4e5 100644 --- a/platform/broadcom/sonic-platform-modules-accton/debian/sonic-platform-accton-as4630-54pe.postinst +++ b/platform/broadcom/sonic-platform-modules-accton/debian/sonic-platform-accton-as4630-54pe.postinst @@ -7,4 +7,8 @@ systemctl enable pddf-platform-init.service systemctl start pddf-platform-init.service systemctl enable as4630-54pe-pddf-platform-monitor.service systemctl start as4630-54pe-pddf-platform-monitor.service +systemctl enable as4630-54pe-platform-handle-mgmt-interface.service +systemctl start as4630-54pe-platform-handle-mgmt-interface.service /usr/local/bin/restart_ixgbe.sh +systemctl enable as4630-54pe-platform-handle-mgmt-interface.service +systemctl start as4630-54pe-platform-handle-mgmt-interface.service